# PaCkAgE DaTaStReAm WULlame 1 17712 # end of header 07070100069be9000081a4000000000000000000000001433eef950000009b000000200000000800000000000000000000001000000000WULlame/pkginfoPKG=WULlame NAME=lame 3.96.1 ARCH=sun4u VERSION=3.96.1 CATEGORY=application VENDOR=lame EMAIL=lame@lame.org PSTAMP=adam m! BASEDIR=/usr/local CLASSES=none 07070100069be8000081a4000000000000000000000001433eef9500007489000000200000000800000000000000000000000f00000000WULlame/pkgmap: 1 17712 1 d none ACM 0755 bin bin 1 f none ACM/ACM.cpp 0644 bin bin 49207 12331 1090531981 1 f none ACM/ACM.h 0644 bin bin 3414 21753 1018101693 1 f none ACM/ACMStream.cpp 0644 bin bin 12143 53979 1090531981 1 f none ACM/ACMStream.h 0644 bin bin 2354 302 1018101693 1 d none ACM/ADbg 0755 bin bin 1 f none ACM/ADbg/ADbg.cpp 0644 bin bin 4467 7416 1011980840 1 f none ACM/ADbg/ADbg.dsp 0644 bin bin 2715 62744 1011818447 1 f none ACM/ADbg/ADbg.h 0644 bin bin 3474 14810 1011980840 1 f none ACM/ADbg/Makefile 0644 bin bin 8277 7452 1126562451 1 f none ACM/ADbg/Makefile.am 0644 bin bin 154 11250 1011538733 1 f none ACM/ADbg/Makefile.in 0644 bin bin 8452 13158 1070107605 1 f none ACM/AEncodeProperties.cpp 0644 bin bin 58442 26276 1018291410 1 f none ACM/AEncodeProperties.h 0644 bin bin 13673 47086 1018186295 1 f none ACM/DecodeStream.cpp 0644 bin bin 6092 40906 1011981102 1 f none ACM/DecodeStream.h 0644 bin bin 2307 61294 1011818386 1 f none ACM/LameACM.inf 0644 bin bin 3042 63686 1011818386 1 f none ACM/Makefile 0644 bin bin 13849 45464 1126562451 1 f none ACM/Makefile.am 0644 bin bin 431 33382 1074678095 1 f none ACM/Makefile.in 0644 bin bin 14032 51690 1074693029 1 f none ACM/TODO 0644 bin bin 383 34407 1074174850 1 f none ACM/acm.rc 0644 bin bin 7067 44293 1090531988 1 f none ACM/adebug.h 0644 bin bin 1252 34367 1011728702 1 d none ACM/ddk 0755 bin bin 1 f none ACM/ddk/Makefile 0644 bin bin 8254 6202 1126562452 1 f none ACM/ddk/Makefile.am 0644 bin bin 133 10083 1070984917 1 f none ACM/ddk/Makefile.in 0644 bin bin 8430 11935 1070985093 1 f none ACM/ddk/msacmdrv.h 0644 bin bin 6424 51648 1069921449 1 f none ACM/lame.ico 0644 bin bin 2238 49645 1011982694 1 f none ACM/lameACM.def 0644 bin bin 960 14275 1011728702 1 f none ACM/lameACM_vc6.dsp 0644 bin bin 9462 48073 1018269820 1 f none ACM/lame_acm.xml 0644 bin bin 401 27269 1018174657 1 f none ACM/main.cpp 0644 bin bin 4781 25035 1012336625 1 f none ACM/readme.txt 0644 bin bin 852 7186 1069921448 1 f none ACM/resource.h 0644 bin bin 1604 40458 1018174657 1 d none ACM/tinyxml 0755 bin bin 1 f none ACM/tinyxml/Makefile 0644 bin bin 8467 25143 1126562452 1 f none ACM/tinyxml/Makefile.am 0644 bin bin 334 27568 1018102097 1 f none ACM/tinyxml/Makefile.in 0644 bin bin 8639 30394 1070107605 1 f none ACM/tinyxml/Makefile.tinyxml 0644 bin bin 5103 44025 1013879963 1 f none ACM/tinyxml/changes.txt 0644 bin bin 3352 31912 1013879966 1 f none ACM/tinyxml/dox 0644 bin bin 28081 19498 1013879966 1 f none ACM/tinyxml/makedistlinux 0644 bin bin 533 46382 1013879966 1 f none ACM/tinyxml/makedistwin.bat 0755 bin bin 331 30999 1013879966 1 f none ACM/tinyxml/readme.txt 0644 bin bin 10256 49028 1018092778 1 f none ACM/tinyxml/test.dsp 0644 bin bin 3478 64793 1011818386 1 f none ACM/tinyxml/test.dsw 0644 bin bin 808 47615 1011818386 1 f none ACM/tinyxml/tinyxml.cpp 0644 bin bin 18466 33336 1018092778 1 f none ACM/tinyxml/tinyxml.dsp 0644 bin bin 4274 2123 1018092778 1 f none ACM/tinyxml/tinyxml.h 0644 bin bin 26170 19944 1018092778 1 f none ACM/tinyxml/tinyxmlerror.cpp 0644 bin bin 687 57806 1013879966 1 f none ACM/tinyxml/tinyxmlparser.cpp 0644 bin bin 17770 45146 1018092778 1 f none ACM/tinyxml/xmltest.cpp 0644 bin bin 9791 33641 1018092778 1 f none API 0644 bin bin 3671 56820 1023906466 1 f none COPYING 0644 bin bin 25292 37909 943432826 1 f none ChangeLog 0644 bin bin 592748 52467 1073737128 1 f none DEFINES 0644 bin bin 940 8762 1044641861 1 d none Dll 0755 bin bin 1 f none Dll/BladeMP3EncDLL.c 0644 bin bin 24740 19004 1069434451 1 f none Dll/BladeMP3EncDLL.def 0644 bin bin 777 61381 1038589677 1 f none Dll/BladeMP3EncDLL.h 0644 bin bin 7657 32250 1053267358 1 f none Dll/Example.cpp 0644 bin bin 7923 26390 1027766159 1 f none Dll/Example_vc6.dsp 0644 bin bin 3441 62049 1027766159 1 f none Dll/Example_vc6.dsw 0644 bin bin 1422 23295 1069335029 1 f none Dll/LameDLLInterface.htm 0644 bin bin 24739 37924 1028321564 1 f none Dll/LameDll_vc6.dsp 0644 bin bin 6152 64295 1027099247 1 f none Dll/MP3export.pas 0644 bin bin 10651 58947 1069344265 1 f none Dll/Makefile 0644 bin bin 8418 19767 1126562449 1 f none Dll/Makefile.am 0644 bin bin 309 24281 1074678096 1 f none Dll/Makefile.in 0644 bin bin 8601 25918 1074693029 1 f none Dll/Makefile.mingw32 0644 bin bin 1330 37833 1005995839 1 f none Dll/README 0644 bin bin 633 54577 965593286 1 f none HACKING 0644 bin bin 3984 62672 1000489024 1 f none INSTALL 0644 bin bin 7219 39783 1021229220 1 f none INSTALL.configure 0644 bin bin 7832 34434 969302049 1 f none LICENSE 0644 bin bin 707 60398 977213780 1 f none Makefile 0644 bin bin 19539 35114 1126562444 1 f none Makefile.MSVC 0644 bin bin 12909 36083 1078703703 1 f none Makefile.am 0644 bin bin 1524 60763 1076249296 1 f none Makefile.am.global 0644 bin bin 187 14715 998945943 1 f none Makefile.in 0644 bin bin 19790 46562 1081687824 1 f none Makefile.unix 0644 bin bin 18883 58305 1088265309 1 f none README 0644 bin bin 1801 15487 1011441158 1 f none README.WINGTK 0644 bin bin 2128 38803 1073496915 1 f none STYLEGUIDE 0644 bin bin 7005 220 973103111 1 f none TODO 0644 bin bin 4420 50606 1050747541 1 f none USAGE 0644 bin bin 30053 42525 1080007035 1 f none acinclude.m4 0644 bin bin 2516 59420 1034067040 1 f none aclocal.m4 0644 bin bin 255474 40410 1070107251 1 f none config.guess 0755 bin bin 42037 2443 1070099062 1 f none config.h 0644 bin bin 8396 5860 1126562453 1 f none config.h.in 0644 bin bin 7909 44318 1075726685 1 f none config.log 0644 bin bin 94267 5076 1126562462 1 f none config.status 0755 bin bin 44262 45288 1126562442 1 f none config.sub 0755 bin bin 30315 8596 1070099062 1 f none configMS.h 0644 bin bin 2492 4904 1078179716 1 f none configure 0755 bin bin 900776 30050 1090767172 1 f none configure.in 0644 bin bin 30730 5636 1090767132 1 d none debian 0755 bin bin 1 f none debian/Makefile 0644 bin bin 8493 26155 1126562450 1 f none debian/Makefile.am 0644 bin bin 293 23242 1053432890 1 f none debian/Makefile.in 0644 bin bin 8673 31979 1070107606 1 f none debian/changelog 0644 bin bin 3162 63407 1081688566 1 f none debian/control 0644 bin bin 1561 5452 1058318970 1 f none debian/copyright 0644 bin bin 2077 38926 1058318970 1 f none debian/lame.docs 0644 bin bin 32 2278 1058318970 1 f none debian/lame.files 0644 bin bin 44 3987 1058318970 1 f none debian/liblame0-dev.docs 0644 bin bin 30 1956 1014252872 1 f none debian/liblame0-dev.files 0644 bin bin 63 5691 1014252872 1 f none debian/liblame0.files 0644 bin bin 24 2119 1014252872 1 f none debian/rules 0755 bin bin 2403 9383 1058318970 1 f none depcomp 0755 bin bin 13303 47410 1070099181 1 d none doc 0755 bin bin 1 f none doc/Makefile 0644 bin bin 13533 21237 1126562447 1 f none doc/Makefile.am 0644 bin bin 125 9482 979571768 1 f none doc/Makefile.in 0644 bin bin 13716 27362 1070107606 1 d none doc/html 0755 bin bin 1 f none doc/html/Makefile 0644 bin bin 9194 12348 1126562447 1 f none doc/html/Makefile.am 0644 bin bin 434 34318 1034675644 1 f none doc/html/Makefile.in 0644 bin bin 9369 17850 1070107606 1 f none doc/html/basic.html 0644 bin bin 4764 35908 1070981962 1 f none doc/html/contributors.html 0644 bin bin 3724 44744 1078951761 1 f none doc/html/examples.html 0644 bin bin 1658 59051 1070981962 1 f none doc/html/history.html 0644 bin bin 75148 37392 1090531991 1 f none doc/html/id3.html 0644 bin bin 7416 997 1057941357 1 f none doc/html/index.html 0644 bin bin 2164 30361 1090531991 1 f none doc/html/lame.css 0644 bin bin 708 54996 975884412 1 f none doc/html/modes.html 0644 bin bin 2303 62660 1070981962 1 f none doc/html/node6.html 0644 bin bin 6835 19171 1003927475 1 f none doc/html/presets.html 0644 bin bin 3035 63434 1070981962 1 f none doc/html/switchs.html 0644 bin bin 48184 9292 1080007035 1 d none doc/man 0755 bin bin 1 f none doc/man/Makefile 0644 bin bin 9740 44920 1126562448 1 f none doc/man/Makefile.am 0644 bin bin 145 10535 972214784 1 f none doc/man/Makefile.in 0644 bin bin 9916 50543 1070107607 1 f none doc/man/lame.1 0644 bin bin 29295 17394 1080007035 1 d none dshow 0755 bin bin 1 f none dshow/Encoder.cpp 0644 bin bin 10699 5848 1023907274 1 f none dshow/Encoder.h 0644 bin bin 4414 6801 974122315 1 f none dshow/Makefile 0644 bin bin 8523 27848 1126562450 1 f none dshow/Makefile.am 0644 bin bin 411 31743 982498270 1 f none dshow/Makefile.in 0644 bin bin 8704 33734 1070107607 1 f none dshow/Mpegac.cpp 0644 bin bin 39550 3505 984580727 1 f none dshow/Mpegac.def 0644 bin bin 1028 18530 975911403 1 f none dshow/Mpegac.h 0644 bin bin 6411 44166 975911403 1 f none dshow/PropPage.cpp 0644 bin bin 19643 414 975911465 1 f none dshow/PropPage.h 0644 bin bin 2059 37552 975911465 1 f none dshow/PropPage_adv.cpp 0644 bin bin 10832 63245 984580727 1 f none dshow/PropPage_adv.h 0644 bin bin 1755 13568 975911403 1 f none dshow/Property.rc 0644 bin bin 8200 47602 982418320 1 f none dshow/README 0644 bin bin 599 53255 975911403 1 f none dshow/REG.CPP 0644 bin bin 5210 10907 975911403 1 f none dshow/REG.H 0644 bin bin 2298 52431 975911403 1 f none dshow/UIDS.H 0644 bin bin 1651 58780 982418320 1 f none dshow/aboutprp.cpp 0644 bin bin 4239 59812 982419433 1 f none dshow/aboutprp.h 0644 bin bin 726 55769 982419433 1 f none dshow/dshow.dsp 0644 bin bin 5762 41653 1009543660 1 f none dshow/dshow.dsw 0644 bin bin 836 49836 1009543661 1 f none dshow/elogo.ico 0644 bin bin 766 15595 982418320 1 f none dshow/iaudioprops.h 0644 bin bin 7889 51331 975911403 1 f none dshow/resource.h 0644 bin bin 2044 61076 982418320 1 d none frontend 0755 bin bin 1 d none frontend/.deps 0755 bin bin 1 f none frontend/.deps/brhist.Po 0644 bin bin 2730 44740 1126584177 1 f none frontend/.deps/get_audio.Po 0644 bin bin 2951 63917 1126584156 1 f none frontend/.deps/gpkplotting.Po 0644 bin bin 8 633 1126562456 1 f none frontend/.deps/gtkanal.Po 0644 bin bin 8 633 1126562456 1 f none frontend/.deps/lametime.Po 0644 bin bin 1686 18341 1126584157 1 f none frontend/.deps/main.Po 0644 bin bin 2472 21771 1126584151 1 f none frontend/.deps/mp3rtp.Po 0644 bin bin 8 633 1126562457 1 f none frontend/.deps/mp3x.Po 0644 bin bin 8 633 1126562457 1 f none frontend/.deps/parse.Po 0644 bin bin 2059 48964 1126584171 1 f none frontend/.deps/portableio.Po 0644 bin bin 1314 49883 1126584173 1 f none frontend/.deps/rtp.Po 0644 bin bin 8 633 1126562457 1 f none frontend/.deps/timestatus.Po 0644 bin bin 2010 46228 1126584174 1 d none frontend/.libs 0755 bin bin 1 f none frontend/Makefile 0644 bin bin 22002 51217 1126562446 1 f none frontend/Makefile.am 0644 bin bin 1876 21238 1074678096 1 f none frontend/Makefile.in 0644 bin bin 23953 7984 1074693029 1 f none frontend/amiga_mpega.c 0644 bin bin 3296 1071 981333277 1 f none frontend/brhist.c 0644 bin bin 13262 23037 1052487840 1 f none frontend/brhist.h 0644 bin bin 1909 22115 1039366936 1 f none frontend/brhist.o 0644 bin bin 8540 63168 1126584177 1 f none frontend/console.c 0644 bin bin 4729 19652 1039366936 1 f none frontend/console.h 0644 bin bin 942 2784 1039366936 1 f none frontend/depcomp 0755 bin bin 13303 47410 1070099354 1 f none frontend/get_audio.c 0644 bin bin 47326 50325 1077816051 1 f none frontend/get_audio.h 0644 bin bin 3114 54113 1039366936 1 f none frontend/get_audio.o 0644 bin bin 18952 9901 1126584156 1 f none frontend/gpkplotting.c 0644 bin bin 8801 34896 979571768 1 f none frontend/gpkplotting.h 0644 bin bin 1924 27373 1039366936 1 f none frontend/gtkanal.c 0644 bin bin 51800 39178 1081013311 1 f none frontend/gtkanal.h 0644 bin bin 869 6628 1039366936 1 f none frontend/lame 0755 bin bin 522652 10445 1126584180 1 f none frontend/lame_vc6.dsp 0644 bin bin 7203 22271 1073496915 1 f none frontend/lametime.c 0644 bin bin 3623 17900 1052489201 1 f none frontend/lametime.h 0644 bin bin 1190 30770 1039366937 1 f none frontend/lametime.o 0644 bin bin 1104 39587 1126584157 1 f none frontend/main.c 0644 bin bin 24167 27481 1080007036 1 f none frontend/main.h 0644 bin bin 2048 34136 1075118758 1 f none frontend/main.o 0644 bin bin 20800 51189 1126584151 1 f none frontend/mp3rtp.c 0644 bin bin 6895 51967 1034674423 1 f none frontend/mp3x.c 0644 bin bin 1246 26146 1034674423 1 f none frontend/mp3x_vc6.dsp 0644 bin bin 6733 48909 1073496915 1 f none frontend/parse.c 0644 bin bin 77546 13163 1088264787 1 f none frontend/parse.h 0644 bin bin 688 56477 1039366937 1 f none frontend/parse.o 0644 bin bin 67136 61305 1126584171 1 f none frontend/portableio.c 0644 bin bin 11079 58353 978911258 1 f none frontend/portableio.h 0644 bin bin 3664 46596 1039366937 1 f none frontend/portableio.o 0644 bin bin 6228 47239 1126584173 1 f none frontend/rtp.c 0644 bin bin 10364 30638 1070104615 1 f none frontend/rtp.h 0644 bin bin 1088 21308 1039366937 1 f none frontend/timestatus.c 0644 bin bin 7856 5245 1039366937 1 f none frontend/timestatus.h 0644 bin bin 1338 45332 1039366937 1 f none frontend/timestatus.o 0644 bin bin 6844 24152 1126584174 1 d none include 0755 bin bin 1 f none include/Makefile 0644 bin bin 10740 54582 1126562448 1 f none include/Makefile.am 0644 bin bin 135 10397 979571768 1 f none include/Makefile.in 0644 bin bin 10919 60277 1070107607 1 f none include/lame.h 0644 bin bin 40239 8075 1080007036 1 f none install-sh 0755 bin bin 7122 48404 1070099181 1 f none lame.bat 0755 bin bin 1146 17660 1039893591 1 f none lame.spec 0644 bin bin 6084 1767 1126562453 1 f none lame.spec.in 0644 bin bin 6092 2347 1021142963 1 f none lame_projects_vc6.dsp 0644 bin bin 2464 58831 1018259810 1 f none lame_vc6.dsw 0644 bin bin 3383 29598 1073496915 1 d none libmp3lame 0755 bin bin 1 d none libmp3lame/.deps 0755 bin bin 1 f none libmp3lame/.deps/VbrTag.Plo 0644 bin bin 3455 43423 1126583820 1 f none libmp3lame/.deps/bitstream.Plo 0644 bin bin 3436 42154 1126583842 1 f none libmp3lame/.deps/encoder.Plo 0644 bin bin 3430 41799 1126583853 1 f none libmp3lame/.deps/fft.Plo 0644 bin bin 3200 21023 1126583859 1 f none libmp3lame/.deps/gain_analysis.Plo 0644 bin bin 3020 6595 1126583869 1 f none libmp3lame/.deps/id3tag.Plo 0644 bin bin 3359 34785 1126583879 1 f none libmp3lame/.deps/lame.Plo 0644 bin bin 3551 51890 1126583906 1 f none libmp3lame/.deps/mpglib_interface.Plo 0644 bin bin 3887 14625 1126584141 1 f none libmp3lame/.deps/newmdct.Plo 0644 bin bin 3224 23359 1126583919 1 f none libmp3lame/.deps/presets.Plo 0644 bin bin 3220 23239 1126583939 1 f none libmp3lame/.deps/psymodel.Plo 0644 bin bin 3309 30884 1126583989 1 f none libmp3lame/.deps/quantize.Plo 0644 bin bin 3397 39140 1126584020 1 f none libmp3lame/.deps/quantize_pvt.Plo 0644 bin bin 3345 34621 1126584036 1 f none libmp3lame/.deps/reservoir.Plo 0644 bin bin 3310 31252 1126584040 1 f none libmp3lame/.deps/set_get.Plo 0644 bin bin 3300 30022 1126584047 1 f none libmp3lame/.deps/tables.Plo 0644 bin bin 3219 22764 1126584051 1 f none libmp3lame/.deps/takehiro.Plo 0644 bin bin 3307 30824 1126584071 1 f none libmp3lame/.deps/util.Plo 0644 bin bin 3239 24697 1126584082 1 f none libmp3lame/.deps/vbrquantize.Plo 0644 bin bin 3352 35440 1126584132 1 f none libmp3lame/.deps/version.Plo 0644 bin bin 878 11570 1126584136 1 d none libmp3lame/.libs 0755 bin bin 1 f none libmp3lame/.libs/VbrTag.o 0644 bin bin 10352 4960 1126583817 1 f none libmp3lame/.libs/bitstream.o 0644 bin bin 25756 57065 1126583833 1 f none libmp3lame/.libs/encoder.o 0644 bin bin 12428 10788 1126583849 1 f none libmp3lame/.libs/fft.o 0644 bin bin 6204 55536 1126583857 1 f none libmp3lame/.libs/gain_analysis.o 0644 bin bin 9876 12537 1126583865 1 f none libmp3lame/.libs/id3tag.o 0644 bin bin 15516 48700 1126583875 1 f none libmp3lame/.libs/lame.o 0644 bin bin 45672 59106 1126583894 1 f none libmp3lame/.libs/libmp3lame.a 0644 bin bin 529266 1205 1126584147 1 s none libmp3lame/.libs/libmp3lame.la=../libmp3lame.la 1 f none libmp3lame/.libs/libmp3lame.lai 0644 bin bin 819 4688 1126584147 1 s none libmp3lame/.libs/libmp3lame.so=libmp3lame.so.0.0.0 1 s none libmp3lame/.libs/libmp3lame.so.0=libmp3lame.so.0.0.0 1 f none libmp3lame/.libs/libmp3lame.so.0.0.0 0755 bin bin 485304 26633 1126584145 1 f none libmp3lame/.libs/mpglib_interface.o 0644 bin bin 4588 9110 1126584139 1 f none libmp3lame/.libs/newmdct.o 0644 bin bin 12816 55753 1126583914 1 f none libmp3lame/.libs/presets.o 0644 bin bin 31276 31513 1126583931 1 f none libmp3lame/.libs/psymodel.o 0644 bin bin 72488 62186 1126583966 1 f none libmp3lame/.libs/quantize.o 0644 bin bin 41280 38225 1126584006 1 f none libmp3lame/.libs/quantize_pvt.o 0644 bin bin 26364 18782 1126584029 1 f none libmp3lame/.libs/reservoir.o 0644 bin bin 2284 56012 1126584039 1 f none libmp3lame/.libs/set_get.o 0644 bin bin 14204 19940 1126584044 1 f none libmp3lame/.libs/tables.o 0644 bin bin 8984 54148 1126584050 1 f none libmp3lame/.libs/takehiro.o 0644 bin bin 25756 42093 1126584061 1 f none libmp3lame/.libs/util.o 0644 bin bin 15736 5923 1126584078 1 f none libmp3lame/.libs/vbrquantize.o 0644 bin bin 66704 12388 1126584109 1 f none libmp3lame/.libs/version.o 0644 bin bin 2112 11469 1126584135 1 f none libmp3lame/Makefile 0644 bin bin 26957 55079 1126562445 1 f none libmp3lame/Makefile.am 0644 bin bin 1751 10435 1074678096 1 f none libmp3lame/Makefile.in 0644 bin bin 29354 51064 1074693029 1 f none libmp3lame/VbrTag.c 0644 bin bin 26968 5779 1080007036 1 f none libmp3lame/VbrTag.h 0644 bin bin 3096 49853 1075118759 1 f none libmp3lame/VbrTag.lo 0644 bin bin 300 23807 1126583820 1 f none libmp3lame/VbrTag.o 0644 bin bin 10080 11127 1126583820 1 f none libmp3lame/bitstream.c 0644 bin bin 29904 9818 1080007037 1 f none libmp3lame/bitstream.h 0644 bin bin 1409 55552 1039366938 1 f none libmp3lame/bitstream.lo 0644 bin bin 309 24974 1126583842 1 f none libmp3lame/bitstream.o 0644 bin bin 20720 52067 1126583842 1 f none libmp3lame/depcomp 0755 bin bin 13303 47410 1070099354 1 f none libmp3lame/encoder.c 0644 bin bin 20152 57655 1072030453 1 f none libmp3lame/encoder.h 0644 bin bin 3866 25088 1051456716 1 f none libmp3lame/encoder.lo 0644 bin bin 303 24269 1126583854 1 f none libmp3lame/encoder.o 0644 bin bin 10612 49651 1126583854 1 f none libmp3lame/fft.c 0644 bin bin 8952 49653 1069325873 1 f none libmp3lame/fft.h 0644 bin bin 1216 34310 1039366939 1 f none libmp3lame/fft.lo 0644 bin bin 291 23021 1126583859 1 f none libmp3lame/fft.o 0644 bin bin 5340 15062 1126583859 1 f none libmp3lame/gain_analysis.c 0644 bin bin 18940 63244 1088268760 1 f none libmp3lame/gain_analysis.h 0644 bin bin 4530 11533 1088268760 1 f none libmp3lame/gain_analysis.lo 0644 bin bin 321 26195 1126583869 1 f none libmp3lame/gain_analysis.o 0644 bin bin 10064 41530 1126583869 1 d none libmp3lame/i386 0755 bin bin 1 f none libmp3lame/i386/Makefile 0644 bin bin 12671 7553 1126562445 1 f none libmp3lame/i386/Makefile.am 0644 bin bin 1623 53976 1070107401 1 f none libmp3lame/i386/Makefile.in 0644 bin bin 12963 22092 1070628575 1 f none libmp3lame/i386/choose_table.nas 0644 bin bin 12734 17603 972645545 1 f none libmp3lame/i386/cpu_feat.nas 0644 bin bin 1871 62055 1068478860 1 f none libmp3lame/i386/fft.nas 0644 bin bin 6763 58925 970661606 1 f none libmp3lame/i386/fft3dn.nas 0644 bin bin 5330 36495 1068478079 1 f none libmp3lame/i386/fftfpu.nas 0644 bin bin 10188 6220 970661606 1 f none libmp3lame/i386/fftsse.nas 0644 bin bin 15658 7957 970661606 1 f none libmp3lame/i386/ffttbl.nas 0644 bin bin 1859 41164 970661606 1 f none libmp3lame/i386/nasm.h 0644 bin bin 3010 43018 970661606 1 f none libmp3lame/id3tag.c 0644 bin bin 19033 1122 1075725510 1 f none libmp3lame/id3tag.h 0644 bin bin 869 1971 1039366939 1 f none libmp3lame/id3tag.lo 0644 bin bin 300 23777 1126583879 1 f none libmp3lame/id3tag.o 0644 bin bin 15092 27908 1126583879 1 f none libmp3lame/l3side.h 0644 bin bin 2239 49390 1073295952 1 f none libmp3lame/lame-analysis.h 0644 bin bin 2639 16687 1081013312 1 f none libmp3lame/lame.c 0644 bin bin 66846 12505 1088269687 1 f none libmp3lame/lame.lo 0644 bin bin 294 23306 1126583907 1 f none libmp3lame/lame.o 0644 bin bin 41108 53790 1126583907 1 f none libmp3lame/lame_global_flags.h 0644 bin bin 8550 58089 1080007037 1 f none libmp3lame/libmp3lame.la 0644 bin bin 819 4604 1126584147 1 f none libmp3lame/libmp3lame_vc6.dsp 0644 bin bin 14669 64732 1073496915 1 f none libmp3lame/machine.h 0644 bin bin 3692 27227 1041437646 1 f none libmp3lame/mpglib_interface.c 0644 bin bin 8423 14217 1070417915 1 f none libmp3lame/mpglib_interface.lo 0644 bin bin 330 27086 1126584141 1 f none libmp3lame/mpglib_interface.o 0644 bin bin 4588 8408 1126584141 1 f none libmp3lame/newmdct.c 0644 bin bin 31681 6391 1039366940 1 f none libmp3lame/newmdct.h 0644 bin bin 987 15718 1039366941 1 f none libmp3lame/newmdct.lo 0644 bin bin 303 24323 1126583919 1 f none libmp3lame/newmdct.o 0644 bin bin 12424 41054 1126583919 1 f none libmp3lame/presets.c 0644 bin bin 22889 25351 1081688510 1 f none libmp3lame/presets.lo 0644 bin bin 303 24383 1126583940 1 f none libmp3lame/presets.o 0644 bin bin 31036 10533 1126583940 1 f none libmp3lame/psymodel.c 0644 bin bin 59888 50526 1088367159 1 f none libmp3lame/psymodel.h 0644 bin bin 2265 43972 1072030453 1 f none libmp3lame/psymodel.lo 0644 bin bin 306 24692 1126583990 1 f none libmp3lame/psymodel.o 0644 bin bin 63884 13726 1126583990 1 f none libmp3lame/quantize.c 0644 bin bin 60940 49173 1081013312 1 f none libmp3lame/quantize.h 0644 bin bin 1304 39030 1072010811 1 f none libmp3lame/quantize.lo 0644 bin bin 306 24704 1126584020 1 f none libmp3lame/quantize.o 0644 bin bin 36820 30720 1126584020 1 f none libmp3lame/quantize_pvt.c 0644 bin bin 27888 5809 1081013312 1 f none libmp3lame/quantize_pvt.h 0644 bin bin 4485 21148 1081013312 1 f none libmp3lame/quantize_pvt.lo 0644 bin bin 318 26027 1126584036 1 f none libmp3lame/quantize_pvt.o 0644 bin bin 24448 6871 1126584036 1 f none libmp3lame/reservoir.c 0644 bin bin 9797 57236 1039366944 1 f none libmp3lame/reservoir.h 0644 bin bin 1175 33340 1039366945 1 f none libmp3lame/reservoir.lo 0644 bin bin 309 25040 1126584040 1 f none libmp3lame/reservoir.o 0644 bin bin 2016 41790 1126584040 1 f none libmp3lame/set_get.c 0644 bin bin 39585 40727 1080007037 1 f none libmp3lame/set_get.h 0644 bin bin 2864 51787 1066727110 1 f none libmp3lame/set_get.lo 0644 bin bin 303 24302 1126584047 1 f none libmp3lame/set_get.o 0644 bin bin 13644 61187 1126584047 1 f none libmp3lame/tables.c 0644 bin bin 20345 1463 1039366945 1 f none libmp3lame/tables.h 0644 bin bin 2567 65070 1039366945 1 f none libmp3lame/tables.lo 0644 bin bin 300 23966 1126584051 1 f none libmp3lame/tables.o 0644 bin bin 8888 57958 1126584051 1 f none libmp3lame/takehiro.c 0644 bin bin 39146 38766 1078084504 1 f none libmp3lame/takehiro.lo 0644 bin bin 306 24626 1126584071 1 f none libmp3lame/takehiro.o 0644 bin bin 27608 11915 1126584071 1 f none libmp3lame/util.c 0644 bin bin 20843 23059 1080079871 1 f none libmp3lame/util.h 0644 bin bin 18544 50269 1080007037 1 f none libmp3lame/util.lo 0644 bin bin 294 23399 1126584082 1 f none libmp3lame/util.o 0644 bin bin 17688 54637 1126584082 1 f none libmp3lame/vbrquantize.c 0644 bin bin 63392 14742 1088269688 1 f none libmp3lame/vbrquantize.h 0644 bin bin 1256 26207 1039366947 1 f none libmp3lame/vbrquantize.lo 0644 bin bin 315 25694 1126584133 1 f none libmp3lame/vbrquantize.o 0644 bin bin 63280 3596 1126584133 1 f none libmp3lame/version.c 0644 bin bin 6248 19937 1088269688 1 f none libmp3lame/version.h 0644 bin bin 2157 35045 1088267851 1 f none libmp3lame/version.lo 0644 bin bin 303 24383 1126584136 1 f none libmp3lame/version.o 0644 bin bin 1516 46421 1126584136 1 f none libtool 0755 bin bin 210306 9580 1126562376 1 f none ltconfig 0755 bin bin 97032 14988 1034067013 1 f none ltmain.sh 0644 bin bin 180453 20547 1070107294 1 d none mac 0755 bin bin 1 f none mac/.DS_Store 0644 bin bin 6148 26662 1012256028 1 f none mac/LAME.mcp 0755 bin bin 228208 38613 1012257235 1 f none mac/LAME_Carbon_Debug.pch 0755 bin bin 755 58993 1022572090 1 f none mac/LAME_Carbon_Final.pch 0755 bin bin 769 60222 1022572090 1 f none mac/LAME_Classic_Debug.pch 0755 bin bin 755 59101 1022572090 1 f none mac/LAME_Classic_Final.pch 0755 bin bin 769 60333 1022572090 1 f none mac/MacDLLMain.c 0755 bin bin 46 3192 1012256029 1 f none mac/Makefile 0644 bin bin 8382 17173 1126562453 1 f none mac/Makefile.am 0644 bin bin 285 22373 1022572330 1 f none mac/Makefile.in 0644 bin bin 8565 23303 1070107608 1 f none mac/Precompile_Common.h 0755 bin bin 2221 39216 1012256029 1 f none make_package 0755 bin bin 4634 42305 1128197985 1 d none misc 0755 bin bin 1 d none misc/.deps 0755 bin bin 1 f none misc/.deps/abx.Po 0644 bin bin 8 633 1126562459 1 f none misc/.deps/ath.Po 0644 bin bin 8 633 1126562459 1 f none misc/.deps/scalartest.Po 0644 bin bin 8 633 1126562459 1 f none misc/Lame.vbs 0644 bin bin 4926 59807 998930460 1 f none misc/Makefile 0644 bin bin 14417 52190 1126562449 1 f none misc/Makefile.am 0644 bin bin 409 31012 1011957803 1 f none misc/Makefile.in 0644 bin bin 15526 6370 1070107608 1 f none misc/abx.c 0644 bin bin 39041 22465 997950095 1 f none misc/ath.c 0644 bin bin 27212 1371 976030646 1 f none misc/auenc 0755 bin bin 773 58986 978369175 1 f none misc/depcomp 0755 bin bin 12117 23920 998945943 1 f none misc/lame4dos.bat 0644 bin bin 1421 36107 1039893594 1 f none misc/lameGUI.html 0644 bin bin 17848 12031 992925964 1 f none misc/lameid3.pl 0644 bin bin 1322 34885 1011644658 1 f none misc/mlame 0755 bin bin 5324 47420 1039893594 1 f none misc/mlame_corr.c 0644 bin bin 5162 59151 976492895 1 f none misc/mugeco.sh 0755 bin bin 3833 33709 976283276 1 f none misc/scalartest.c 0644 bin bin 3834 57126 973898331 1 f none missing 0755 bin bin 10270 62944 1070099141 1 f none mkinstalldirs 0755 bin bin 1988 6985 1070099141 1 d none mpglib 0755 bin bin 1 d none mpglib/.deps 0755 bin bin 1 f none mpglib/.deps/common.Plo 0644 bin bin 3325 31334 1126583728 1 f none mpglib/.deps/dct64_i386.Plo 0644 bin bin 3391 35777 1126583737 1 f none mpglib/.deps/decode_i386.Plo 0644 bin bin 3420 38540 1126583744 1 f none mpglib/.deps/interface.Plo 0644 bin bin 3856 13005 1126583754 1 f none mpglib/.deps/layer1.Plo 0644 bin bin 55 4417 1126583758 1 f none mpglib/.deps/layer2.Plo 0644 bin bin 3399 37104 1126583769 1 f none mpglib/.deps/layer3.Plo 0644 bin bin 3373 35245 1126583804 1 f none mpglib/.deps/tabinit.Plo 0644 bin bin 2620 35271 1126583808 1 d none mpglib/.libs 0755 bin bin 1 f none mpglib/.libs/common.o 0644 bin bin 6172 3515 1126583726 1 f none mpglib/.libs/dct64_i386.o 0644 bin bin 3396 54654 1126583734 1 f none mpglib/.libs/decode_i386.o 0644 bin bin 3928 61127 1126583742 1 f none mpglib/.libs/interface.o 0644 bin bin 7392 4785 1126583750 1 f none mpglib/.libs/layer1.o 0644 bin bin 460 10641 1126583757 1 f none mpglib/.libs/layer2.o 0644 bin bin 16672 52204 1126583765 1 f none mpglib/.libs/layer3.o 0644 bin bin 51768 38549 1126583789 1 f none mpglib/.libs/libmpgdecoder.a 0644 bin bin 98978 53849 1126583811 1 s none mpglib/.libs/libmpgdecoder.la=../libmpgdecoder.la 1 f none mpglib/.libs/tabinit.o 0644 bin bin 7892 3992 1126583807 1 f none mpglib/Makefile 0644 bin bin 16777 39546 1126562446 1 f none mpglib/Makefile.am 0644 bin bin 1012 15189 1074678096 1 f none mpglib/Makefile.in 0644 bin bin 18145 16028 1074693030 1 f none mpglib/README 0644 bin bin 1103 30768 968198101 1 f none mpglib/TODO 0644 bin bin 18 1296 943433073 1 f none mpglib/common.c 0644 bin bin 7739 44638 1073730448 1 f none mpglib/common.h 0644 bin bin 1415 54287 1039366950 1 f none mpglib/common.lo 0644 bin bin 300 24008 1126583728 1 f none mpglib/common.o 0644 bin bin 5428 23852 1126583728 1 f none mpglib/dct64_i386.c 0644 bin bin 9694 10023 978708034 1 f none mpglib/dct64_i386.h 0644 bin bin 911 8465 1039366950 1 f none mpglib/dct64_i386.lo 0644 bin bin 312 24407 1126583737 1 f none mpglib/dct64_i386.o 0644 bin bin 3300 49183 1126583737 1 f none mpglib/decode_i386.c 0644 bin bin 9394 60773 1045683974 1 f none mpglib/decode_i386.h 0644 bin bin 1195 34424 1045683976 1 f none mpglib/decode_i386.lo 0644 bin bin 315 24980 1126583744 1 f none mpglib/decode_i386.o 0644 bin bin 3668 43526 1126583744 1 f none mpglib/depcomp 0755 bin bin 13303 47410 1070099354 1 f none mpglib/huffman.h 0644 bin bin 16089 8272 1039366950 1 f none mpglib/interface.c 0644 bin bin 13755 11400 1078879854 1 f none mpglib/interface.h 0644 bin bin 1546 65178 1045683977 1 f none mpglib/interface.lo 0644 bin bin 309 24896 1126583754 1 f none mpglib/interface.o 0644 bin bin 8136 60417 1126583754 1 f none mpglib/l2tables.h 0644 bin bin 8341 29437 1039366950 1 f none mpglib/layer1.c 0644 bin bin 4155 35911 1078075022 1 f none mpglib/layer1.h 0644 bin bin 897 8384 1039366950 1 f none mpglib/layer1.lo 0644 bin bin 300 23831 1126583758 1 f none mpglib/layer1.o 0644 bin bin 460 10641 1126583758 1 f none mpglib/layer2.c 0644 bin bin 8894 35237 1039366950 1 f none mpglib/layer2.h 0644 bin bin 1181 32713 1039366950 1 f none mpglib/layer2.lo 0644 bin bin 300 23834 1126583769 1 f none mpglib/layer2.o 0644 bin bin 16092 22687 1126583769 1 f none mpglib/layer3.c 0644 bin bin 48341 55989 1073730448 1 f none mpglib/layer3.h 0644 bin bin 1128 26294 1045683977 1 f none mpglib/layer3.lo 0644 bin bin 300 23837 1126583804 1 f none mpglib/layer3.o 0644 bin bin 50720 29599 1126583804 1 f none mpglib/libmpgdecoder.la 0644 bin bin 746 64117 1126583811 1 f none mpglib/mpg123.h 0644 bin bin 2628 61533 1039366951 1 f none mpglib/mpglib.h 0644 bin bin 1475 47136 1039366951 1 f none mpglib/mpglib_vc6.dsp 0644 bin bin 8689 33713 1073496916 1 f none mpglib/tabinit.c 0644 bin bin 4719 56827 978708034 1 f none mpglib/tabinit.h 0644 bin bin 955 12832 1039366951 1 f none mpglib/tabinit.lo 0644 bin bin 303 24302 1126583808 1 f none mpglib/tabinit.o 0644 bin bin 7440 41806 1126583808 1 i pkginfo 155 12044 1128198037 1 f none stamp-h1 0644 bin bin 23 2161 1126562454 1 f none testcase.mp3 0644 bin bin 10425 59426 1075731448 1 f none testcase.wav 0644 bin bin 100044 58431 968622308 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!07070100069be9000081a4000000000000000000000001433eef950000009b000000200000000800000000000000000000000800000000pkginfoPKG=WULlame NAME=lame 3.96.1 ARCH=sun4u VERSION=3.96.1 CATEGORY=application VENDOR=lame EMAIL=lame@lame.org PSTAMP=adam m! BASEDIR=/usr/local CLASSES=none 07070100069be8000081a4000000000000000000000001433eef9500007489000000200000000800000000000000000000000700000000pkgmap: 1 17712 1 d none ACM 0755 bin bin 1 f none ACM/ACM.cpp 0644 bin bin 49207 12331 1090531981 1 f none ACM/ACM.h 0644 bin bin 3414 21753 1018101693 1 f none ACM/ACMStream.cpp 0644 bin bin 12143 53979 1090531981 1 f none ACM/ACMStream.h 0644 bin bin 2354 302 1018101693 1 d none ACM/ADbg 0755 bin bin 1 f none ACM/ADbg/ADbg.cpp 0644 bin bin 4467 7416 1011980840 1 f none ACM/ADbg/ADbg.dsp 0644 bin bin 2715 62744 1011818447 1 f none ACM/ADbg/ADbg.h 0644 bin bin 3474 14810 1011980840 1 f none ACM/ADbg/Makefile 0644 bin bin 8277 7452 1126562451 1 f none ACM/ADbg/Makefile.am 0644 bin bin 154 11250 1011538733 1 f none ACM/ADbg/Makefile.in 0644 bin bin 8452 13158 1070107605 1 f none ACM/AEncodeProperties.cpp 0644 bin bin 58442 26276 1018291410 1 f none ACM/AEncodeProperties.h 0644 bin bin 13673 47086 1018186295 1 f none ACM/DecodeStream.cpp 0644 bin bin 6092 40906 1011981102 1 f none ACM/DecodeStream.h 0644 bin bin 2307 61294 1011818386 1 f none ACM/LameACM.inf 0644 bin bin 3042 63686 1011818386 1 f none ACM/Makefile 0644 bin bin 13849 45464 1126562451 1 f none ACM/Makefile.am 0644 bin bin 431 33382 1074678095 1 f none ACM/Makefile.in 0644 bin bin 14032 51690 1074693029 1 f none ACM/TODO 0644 bin bin 383 34407 1074174850 1 f none ACM/acm.rc 0644 bin bin 7067 44293 1090531988 1 f none ACM/adebug.h 0644 bin bin 1252 34367 1011728702 1 d none ACM/ddk 0755 bin bin 1 f none ACM/ddk/Makefile 0644 bin bin 8254 6202 1126562452 1 f none ACM/ddk/Makefile.am 0644 bin bin 133 10083 1070984917 1 f none ACM/ddk/Makefile.in 0644 bin bin 8430 11935 1070985093 1 f none ACM/ddk/msacmdrv.h 0644 bin bin 6424 51648 1069921449 1 f none ACM/lame.ico 0644 bin bin 2238 49645 1011982694 1 f none ACM/lameACM.def 0644 bin bin 960 14275 1011728702 1 f none ACM/lameACM_vc6.dsp 0644 bin bin 9462 48073 1018269820 1 f none ACM/lame_acm.xml 0644 bin bin 401 27269 1018174657 1 f none ACM/main.cpp 0644 bin bin 4781 25035 1012336625 1 f none ACM/readme.txt 0644 bin bin 852 7186 1069921448 1 f none ACM/resource.h 0644 bin bin 1604 40458 1018174657 1 d none ACM/tinyxml 0755 bin bin 1 f none ACM/tinyxml/Makefile 0644 bin bin 8467 25143 1126562452 1 f none ACM/tinyxml/Makefile.am 0644 bin bin 334 27568 1018102097 1 f none ACM/tinyxml/Makefile.in 0644 bin bin 8639 30394 1070107605 1 f none ACM/tinyxml/Makefile.tinyxml 0644 bin bin 5103 44025 1013879963 1 f none ACM/tinyxml/changes.txt 0644 bin bin 3352 31912 1013879966 1 f none ACM/tinyxml/dox 0644 bin bin 28081 19498 1013879966 1 f none ACM/tinyxml/makedistlinux 0644 bin bin 533 46382 1013879966 1 f none ACM/tinyxml/makedistwin.bat 0755 bin bin 331 30999 1013879966 1 f none ACM/tinyxml/readme.txt 0644 bin bin 10256 49028 1018092778 1 f none ACM/tinyxml/test.dsp 0644 bin bin 3478 64793 1011818386 1 f none ACM/tinyxml/test.dsw 0644 bin bin 808 47615 1011818386 1 f none ACM/tinyxml/tinyxml.cpp 0644 bin bin 18466 33336 1018092778 1 f none ACM/tinyxml/tinyxml.dsp 0644 bin bin 4274 2123 1018092778 1 f none ACM/tinyxml/tinyxml.h 0644 bin bin 26170 19944 1018092778 1 f none ACM/tinyxml/tinyxmlerror.cpp 0644 bin bin 687 57806 1013879966 1 f none ACM/tinyxml/tinyxmlparser.cpp 0644 bin bin 17770 45146 1018092778 1 f none ACM/tinyxml/xmltest.cpp 0644 bin bin 9791 33641 1018092778 1 f none API 0644 bin bin 3671 56820 1023906466 1 f none COPYING 0644 bin bin 25292 37909 943432826 1 f none ChangeLog 0644 bin bin 592748 52467 1073737128 1 f none DEFINES 0644 bin bin 940 8762 1044641861 1 d none Dll 0755 bin bin 1 f none Dll/BladeMP3EncDLL.c 0644 bin bin 24740 19004 1069434451 1 f none Dll/BladeMP3EncDLL.def 0644 bin bin 777 61381 1038589677 1 f none Dll/BladeMP3EncDLL.h 0644 bin bin 7657 32250 1053267358 1 f none Dll/Example.cpp 0644 bin bin 7923 26390 1027766159 1 f none Dll/Example_vc6.dsp 0644 bin bin 3441 62049 1027766159 1 f none Dll/Example_vc6.dsw 0644 bin bin 1422 23295 1069335029 1 f none Dll/LameDLLInterface.htm 0644 bin bin 24739 37924 1028321564 1 f none Dll/LameDll_vc6.dsp 0644 bin bin 6152 64295 1027099247 1 f none Dll/MP3export.pas 0644 bin bin 10651 58947 1069344265 1 f none Dll/Makefile 0644 bin bin 8418 19767 1126562449 1 f none Dll/Makefile.am 0644 bin bin 309 24281 1074678096 1 f none Dll/Makefile.in 0644 bin bin 8601 25918 1074693029 1 f none Dll/Makefile.mingw32 0644 bin bin 1330 37833 1005995839 1 f none Dll/README 0644 bin bin 633 54577 965593286 1 f none HACKING 0644 bin bin 3984 62672 1000489024 1 f none INSTALL 0644 bin bin 7219 39783 1021229220 1 f none INSTALL.configure 0644 bin bin 7832 34434 969302049 1 f none LICENSE 0644 bin bin 707 60398 977213780 1 f none Makefile 0644 bin bin 19539 35114 1126562444 1 f none Makefile.MSVC 0644 bin bin 12909 36083 1078703703 1 f none Makefile.am 0644 bin bin 1524 60763 1076249296 1 f none Makefile.am.global 0644 bin bin 187 14715 998945943 1 f none Makefile.in 0644 bin bin 19790 46562 1081687824 1 f none Makefile.unix 0644 bin bin 18883 58305 1088265309 1 f none README 0644 bin bin 1801 15487 1011441158 1 f none README.WINGTK 0644 bin bin 2128 38803 1073496915 1 f none STYLEGUIDE 0644 bin bin 7005 220 973103111 1 f none TODO 0644 bin bin 4420 50606 1050747541 1 f none USAGE 0644 bin bin 30053 42525 1080007035 1 f none acinclude.m4 0644 bin bin 2516 59420 1034067040 1 f none aclocal.m4 0644 bin bin 255474 40410 1070107251 1 f none config.guess 0755 bin bin 42037 2443 1070099062 1 f none config.h 0644 bin bin 8396 5860 1126562453 1 f none config.h.in 0644 bin bin 7909 44318 1075726685 1 f none config.log 0644 bin bin 94267 5076 1126562462 1 f none config.status 0755 bin bin 44262 45288 1126562442 1 f none config.sub 0755 bin bin 30315 8596 1070099062 1 f none configMS.h 0644 bin bin 2492 4904 1078179716 1 f none configure 0755 bin bin 900776 30050 1090767172 1 f none configure.in 0644 bin bin 30730 5636 1090767132 1 d none debian 0755 bin bin 1 f none debian/Makefile 0644 bin bin 8493 26155 1126562450 1 f none debian/Makefile.am 0644 bin bin 293 23242 1053432890 1 f none debian/Makefile.in 0644 bin bin 8673 31979 1070107606 1 f none debian/changelog 0644 bin bin 3162 63407 1081688566 1 f none debian/control 0644 bin bin 1561 5452 1058318970 1 f none debian/copyright 0644 bin bin 2077 38926 1058318970 1 f none debian/lame.docs 0644 bin bin 32 2278 1058318970 1 f none debian/lame.files 0644 bin bin 44 3987 1058318970 1 f none debian/liblame0-dev.docs 0644 bin bin 30 1956 1014252872 1 f none debian/liblame0-dev.files 0644 bin bin 63 5691 1014252872 1 f none debian/liblame0.files 0644 bin bin 24 2119 1014252872 1 f none debian/rules 0755 bin bin 2403 9383 1058318970 1 f none depcomp 0755 bin bin 13303 47410 1070099181 1 d none doc 0755 bin bin 1 f none doc/Makefile 0644 bin bin 13533 21237 1126562447 1 f none doc/Makefile.am 0644 bin bin 125 9482 979571768 1 f none doc/Makefile.in 0644 bin bin 13716 27362 1070107606 1 d none doc/html 0755 bin bin 1 f none doc/html/Makefile 0644 bin bin 9194 12348 1126562447 1 f none doc/html/Makefile.am 0644 bin bin 434 34318 1034675644 1 f none doc/html/Makefile.in 0644 bin bin 9369 17850 1070107606 1 f none doc/html/basic.html 0644 bin bin 4764 35908 1070981962 1 f none doc/html/contributors.html 0644 bin bin 3724 44744 1078951761 1 f none doc/html/examples.html 0644 bin bin 1658 59051 1070981962 1 f none doc/html/history.html 0644 bin bin 75148 37392 1090531991 1 f none doc/html/id3.html 0644 bin bin 7416 997 1057941357 1 f none doc/html/index.html 0644 bin bin 2164 30361 1090531991 1 f none doc/html/lame.css 0644 bin bin 708 54996 975884412 1 f none doc/html/modes.html 0644 bin bin 2303 62660 1070981962 1 f none doc/html/node6.html 0644 bin bin 6835 19171 1003927475 1 f none doc/html/presets.html 0644 bin bin 3035 63434 1070981962 1 f none doc/html/switchs.html 0644 bin bin 48184 9292 1080007035 1 d none doc/man 0755 bin bin 1 f none doc/man/Makefile 0644 bin bin 9740 44920 1126562448 1 f none doc/man/Makefile.am 0644 bin bin 145 10535 972214784 1 f none doc/man/Makefile.in 0644 bin bin 9916 50543 1070107607 1 f none doc/man/lame.1 0644 bin bin 29295 17394 1080007035 1 d none dshow 0755 bin bin 1 f none dshow/Encoder.cpp 0644 bin bin 10699 5848 1023907274 1 f none dshow/Encoder.h 0644 bin bin 4414 6801 974122315 1 f none dshow/Makefile 0644 bin bin 8523 27848 1126562450 1 f none dshow/Makefile.am 0644 bin bin 411 31743 982498270 1 f none dshow/Makefile.in 0644 bin bin 8704 33734 1070107607 1 f none dshow/Mpegac.cpp 0644 bin bin 39550 3505 984580727 1 f none dshow/Mpegac.def 0644 bin bin 1028 18530 975911403 1 f none dshow/Mpegac.h 0644 bin bin 6411 44166 975911403 1 f none dshow/PropPage.cpp 0644 bin bin 19643 414 975911465 1 f none dshow/PropPage.h 0644 bin bin 2059 37552 975911465 1 f none dshow/PropPage_adv.cpp 0644 bin bin 10832 63245 984580727 1 f none dshow/PropPage_adv.h 0644 bin bin 1755 13568 975911403 1 f none dshow/Property.rc 0644 bin bin 8200 47602 982418320 1 f none dshow/README 0644 bin bin 599 53255 975911403 1 f none dshow/REG.CPP 0644 bin bin 5210 10907 975911403 1 f none dshow/REG.H 0644 bin bin 2298 52431 975911403 1 f none dshow/UIDS.H 0644 bin bin 1651 58780 982418320 1 f none dshow/aboutprp.cpp 0644 bin bin 4239 59812 982419433 1 f none dshow/aboutprp.h 0644 bin bin 726 55769 982419433 1 f none dshow/dshow.dsp 0644 bin bin 5762 41653 1009543660 1 f none dshow/dshow.dsw 0644 bin bin 836 49836 1009543661 1 f none dshow/elogo.ico 0644 bin bin 766 15595 982418320 1 f none dshow/iaudioprops.h 0644 bin bin 7889 51331 975911403 1 f none dshow/resource.h 0644 bin bin 2044 61076 982418320 1 d none frontend 0755 bin bin 1 d none frontend/.deps 0755 bin bin 1 f none frontend/.deps/brhist.Po 0644 bin bin 2730 44740 1126584177 1 f none frontend/.deps/get_audio.Po 0644 bin bin 2951 63917 1126584156 1 f none frontend/.deps/gpkplotting.Po 0644 bin bin 8 633 1126562456 1 f none frontend/.deps/gtkanal.Po 0644 bin bin 8 633 1126562456 1 f none frontend/.deps/lametime.Po 0644 bin bin 1686 18341 1126584157 1 f none frontend/.deps/main.Po 0644 bin bin 2472 21771 1126584151 1 f none frontend/.deps/mp3rtp.Po 0644 bin bin 8 633 1126562457 1 f none frontend/.deps/mp3x.Po 0644 bin bin 8 633 1126562457 1 f none frontend/.deps/parse.Po 0644 bin bin 2059 48964 1126584171 1 f none frontend/.deps/portableio.Po 0644 bin bin 1314 49883 1126584173 1 f none frontend/.deps/rtp.Po 0644 bin bin 8 633 1126562457 1 f none frontend/.deps/timestatus.Po 0644 bin bin 2010 46228 1126584174 1 d none frontend/.libs 0755 bin bin 1 f none frontend/Makefile 0644 bin bin 22002 51217 1126562446 1 f none frontend/Makefile.am 0644 bin bin 1876 21238 1074678096 1 f none frontend/Makefile.in 0644 bin bin 23953 7984 1074693029 1 f none frontend/amiga_mpega.c 0644 bin bin 3296 1071 981333277 1 f none frontend/brhist.c 0644 bin bin 13262 23037 1052487840 1 f none frontend/brhist.h 0644 bin bin 1909 22115 1039366936 1 f none frontend/brhist.o 0644 bin bin 8540 63168 1126584177 1 f none frontend/console.c 0644 bin bin 4729 19652 1039366936 1 f none frontend/console.h 0644 bin bin 942 2784 1039366936 1 f none frontend/depcomp 0755 bin bin 13303 47410 1070099354 1 f none frontend/get_audio.c 0644 bin bin 47326 50325 1077816051 1 f none frontend/get_audio.h 0644 bin bin 3114 54113 1039366936 1 f none frontend/get_audio.o 0644 bin bin 18952 9901 1126584156 1 f none frontend/gpkplotting.c 0644 bin bin 8801 34896 979571768 1 f none frontend/gpkplotting.h 0644 bin bin 1924 27373 1039366936 1 f none frontend/gtkanal.c 0644 bin bin 51800 39178 1081013311 1 f none frontend/gtkanal.h 0644 bin bin 869 6628 1039366936 1 f none frontend/lame 0755 bin bin 522652 10445 1126584180 1 f none frontend/lame_vc6.dsp 0644 bin bin 7203 22271 1073496915 1 f none frontend/lametime.c 0644 bin bin 3623 17900 1052489201 1 f none frontend/lametime.h 0644 bin bin 1190 30770 1039366937 1 f none frontend/lametime.o 0644 bin bin 1104 39587 1126584157 1 f none frontend/main.c 0644 bin bin 24167 27481 1080007036 1 f none frontend/main.h 0644 bin bin 2048 34136 1075118758 1 f none frontend/main.o 0644 bin bin 20800 51189 1126584151 1 f none frontend/mp3rtp.c 0644 bin bin 6895 51967 1034674423 1 f none frontend/mp3x.c 0644 bin bin 1246 26146 1034674423 1 f none frontend/mp3x_vc6.dsp 0644 bin bin 6733 48909 1073496915 1 f none frontend/parse.c 0644 bin bin 77546 13163 1088264787 1 f none frontend/parse.h 0644 bin bin 688 56477 1039366937 1 f none frontend/parse.o 0644 bin bin 67136 61305 1126584171 1 f none frontend/portableio.c 0644 bin bin 11079 58353 978911258 1 f none frontend/portableio.h 0644 bin bin 3664 46596 1039366937 1 f none frontend/portableio.o 0644 bin bin 6228 47239 1126584173 1 f none frontend/rtp.c 0644 bin bin 10364 30638 1070104615 1 f none frontend/rtp.h 0644 bin bin 1088 21308 1039366937 1 f none frontend/timestatus.c 0644 bin bin 7856 5245 1039366937 1 f none frontend/timestatus.h 0644 bin bin 1338 45332 1039366937 1 f none frontend/timestatus.o 0644 bin bin 6844 24152 1126584174 1 d none include 0755 bin bin 1 f none include/Makefile 0644 bin bin 10740 54582 1126562448 1 f none include/Makefile.am 0644 bin bin 135 10397 979571768 1 f none include/Makefile.in 0644 bin bin 10919 60277 1070107607 1 f none include/lame.h 0644 bin bin 40239 8075 1080007036 1 f none install-sh 0755 bin bin 7122 48404 1070099181 1 f none lame.bat 0755 bin bin 1146 17660 1039893591 1 f none lame.spec 0644 bin bin 6084 1767 1126562453 1 f none lame.spec.in 0644 bin bin 6092 2347 1021142963 1 f none lame_projects_vc6.dsp 0644 bin bin 2464 58831 1018259810 1 f none lame_vc6.dsw 0644 bin bin 3383 29598 1073496915 1 d none libmp3lame 0755 bin bin 1 d none libmp3lame/.deps 0755 bin bin 1 f none libmp3lame/.deps/VbrTag.Plo 0644 bin bin 3455 43423 1126583820 1 f none libmp3lame/.deps/bitstream.Plo 0644 bin bin 3436 42154 1126583842 1 f none libmp3lame/.deps/encoder.Plo 0644 bin bin 3430 41799 1126583853 1 f none libmp3lame/.deps/fft.Plo 0644 bin bin 3200 21023 1126583859 1 f none libmp3lame/.deps/gain_analysis.Plo 0644 bin bin 3020 6595 1126583869 1 f none libmp3lame/.deps/id3tag.Plo 0644 bin bin 3359 34785 1126583879 1 f none libmp3lame/.deps/lame.Plo 0644 bin bin 3551 51890 1126583906 1 f none libmp3lame/.deps/mpglib_interface.Plo 0644 bin bin 3887 14625 1126584141 1 f none libmp3lame/.deps/newmdct.Plo 0644 bin bin 3224 23359 1126583919 1 f none libmp3lame/.deps/presets.Plo 0644 bin bin 3220 23239 1126583939 1 f none libmp3lame/.deps/psymodel.Plo 0644 bin bin 3309 30884 1126583989 1 f none libmp3lame/.deps/quantize.Plo 0644 bin bin 3397 39140 1126584020 1 f none libmp3lame/.deps/quantize_pvt.Plo 0644 bin bin 3345 34621 1126584036 1 f none libmp3lame/.deps/reservoir.Plo 0644 bin bin 3310 31252 1126584040 1 f none libmp3lame/.deps/set_get.Plo 0644 bin bin 3300 30022 1126584047 1 f none libmp3lame/.deps/tables.Plo 0644 bin bin 3219 22764 1126584051 1 f none libmp3lame/.deps/takehiro.Plo 0644 bin bin 3307 30824 1126584071 1 f none libmp3lame/.deps/util.Plo 0644 bin bin 3239 24697 1126584082 1 f none libmp3lame/.deps/vbrquantize.Plo 0644 bin bin 3352 35440 1126584132 1 f none libmp3lame/.deps/version.Plo 0644 bin bin 878 11570 1126584136 1 d none libmp3lame/.libs 0755 bin bin 1 f none libmp3lame/.libs/VbrTag.o 0644 bin bin 10352 4960 1126583817 1 f none libmp3lame/.libs/bitstream.o 0644 bin bin 25756 57065 1126583833 1 f none libmp3lame/.libs/encoder.o 0644 bin bin 12428 10788 1126583849 1 f none libmp3lame/.libs/fft.o 0644 bin bin 6204 55536 1126583857 1 f none libmp3lame/.libs/gain_analysis.o 0644 bin bin 9876 12537 1126583865 1 f none libmp3lame/.libs/id3tag.o 0644 bin bin 15516 48700 1126583875 1 f none libmp3lame/.libs/lame.o 0644 bin bin 45672 59106 1126583894 1 f none libmp3lame/.libs/libmp3lame.a 0644 bin bin 529266 1205 1126584147 1 s none libmp3lame/.libs/libmp3lame.la=../libmp3lame.la 1 f none libmp3lame/.libs/libmp3lame.lai 0644 bin bin 819 4688 1126584147 1 s none libmp3lame/.libs/libmp3lame.so=libmp3lame.so.0.0.0 1 s none libmp3lame/.libs/libmp3lame.so.0=libmp3lame.so.0.0.0 1 f none libmp3lame/.libs/libmp3lame.so.0.0.0 0755 bin bin 485304 26633 1126584145 1 f none libmp3lame/.libs/mpglib_interface.o 0644 bin bin 4588 9110 1126584139 1 f none libmp3lame/.libs/newmdct.o 0644 bin bin 12816 55753 1126583914 1 f none libmp3lame/.libs/presets.o 0644 bin bin 31276 31513 1126583931 1 f none libmp3lame/.libs/psymodel.o 0644 bin bin 72488 62186 1126583966 1 f none libmp3lame/.libs/quantize.o 0644 bin bin 41280 38225 1126584006 1 f none libmp3lame/.libs/quantize_pvt.o 0644 bin bin 26364 18782 1126584029 1 f none libmp3lame/.libs/reservoir.o 0644 bin bin 2284 56012 1126584039 1 f none libmp3lame/.libs/set_get.o 0644 bin bin 14204 19940 1126584044 1 f none libmp3lame/.libs/tables.o 0644 bin bin 8984 54148 1126584050 1 f none libmp3lame/.libs/takehiro.o 0644 bin bin 25756 42093 1126584061 1 f none libmp3lame/.libs/util.o 0644 bin bin 15736 5923 1126584078 1 f none libmp3lame/.libs/vbrquantize.o 0644 bin bin 66704 12388 1126584109 1 f none libmp3lame/.libs/version.o 0644 bin bin 2112 11469 1126584135 1 f none libmp3lame/Makefile 0644 bin bin 26957 55079 1126562445 1 f none libmp3lame/Makefile.am 0644 bin bin 1751 10435 1074678096 1 f none libmp3lame/Makefile.in 0644 bin bin 29354 51064 1074693029 1 f none libmp3lame/VbrTag.c 0644 bin bin 26968 5779 1080007036 1 f none libmp3lame/VbrTag.h 0644 bin bin 3096 49853 1075118759 1 f none libmp3lame/VbrTag.lo 0644 bin bin 300 23807 1126583820 1 f none libmp3lame/VbrTag.o 0644 bin bin 10080 11127 1126583820 1 f none libmp3lame/bitstream.c 0644 bin bin 29904 9818 1080007037 1 f none libmp3lame/bitstream.h 0644 bin bin 1409 55552 1039366938 1 f none libmp3lame/bitstream.lo 0644 bin bin 309 24974 1126583842 1 f none libmp3lame/bitstream.o 0644 bin bin 20720 52067 1126583842 1 f none libmp3lame/depcomp 0755 bin bin 13303 47410 1070099354 1 f none libmp3lame/encoder.c 0644 bin bin 20152 57655 1072030453 1 f none libmp3lame/encoder.h 0644 bin bin 3866 25088 1051456716 1 f none libmp3lame/encoder.lo 0644 bin bin 303 24269 1126583854 1 f none libmp3lame/encoder.o 0644 bin bin 10612 49651 1126583854 1 f none libmp3lame/fft.c 0644 bin bin 8952 49653 1069325873 1 f none libmp3lame/fft.h 0644 bin bin 1216 34310 1039366939 1 f none libmp3lame/fft.lo 0644 bin bin 291 23021 1126583859 1 f none libmp3lame/fft.o 0644 bin bin 5340 15062 1126583859 1 f none libmp3lame/gain_analysis.c 0644 bin bin 18940 63244 1088268760 1 f none libmp3lame/gain_analysis.h 0644 bin bin 4530 11533 1088268760 1 f none libmp3lame/gain_analysis.lo 0644 bin bin 321 26195 1126583869 1 f none libmp3lame/gain_analysis.o 0644 bin bin 10064 41530 1126583869 1 d none libmp3lame/i386 0755 bin bin 1 f none libmp3lame/i386/Makefile 0644 bin bin 12671 7553 1126562445 1 f none libmp3lame/i386/Makefile.am 0644 bin bin 1623 53976 1070107401 1 f none libmp3lame/i386/Makefile.in 0644 bin bin 12963 22092 1070628575 1 f none libmp3lame/i386/choose_table.nas 0644 bin bin 12734 17603 972645545 1 f none libmp3lame/i386/cpu_feat.nas 0644 bin bin 1871 62055 1068478860 1 f none libmp3lame/i386/fft.nas 0644 bin bin 6763 58925 970661606 1 f none libmp3lame/i386/fft3dn.nas 0644 bin bin 5330 36495 1068478079 1 f none libmp3lame/i386/fftfpu.nas 0644 bin bin 10188 6220 970661606 1 f none libmp3lame/i386/fftsse.nas 0644 bin bin 15658 7957 970661606 1 f none libmp3lame/i386/ffttbl.nas 0644 bin bin 1859 41164 970661606 1 f none libmp3lame/i386/nasm.h 0644 bin bin 3010 43018 970661606 1 f none libmp3lame/id3tag.c 0644 bin bin 19033 1122 1075725510 1 f none libmp3lame/id3tag.h 0644 bin bin 869 1971 1039366939 1 f none libmp3lame/id3tag.lo 0644 bin bin 300 23777 1126583879 1 f none libmp3lame/id3tag.o 0644 bin bin 15092 27908 1126583879 1 f none libmp3lame/l3side.h 0644 bin bin 2239 49390 1073295952 1 f none libmp3lame/lame-analysis.h 0644 bin bin 2639 16687 1081013312 1 f none libmp3lame/lame.c 0644 bin bin 66846 12505 1088269687 1 f none libmp3lame/lame.lo 0644 bin bin 294 23306 1126583907 1 f none libmp3lame/lame.o 0644 bin bin 41108 53790 1126583907 1 f none libmp3lame/lame_global_flags.h 0644 bin bin 8550 58089 1080007037 1 f none libmp3lame/libmp3lame.la 0644 bin bin 819 4604 1126584147 1 f none libmp3lame/libmp3lame_vc6.dsp 0644 bin bin 14669 64732 1073496915 1 f none libmp3lame/machine.h 0644 bin bin 3692 27227 1041437646 1 f none libmp3lame/mpglib_interface.c 0644 bin bin 8423 14217 1070417915 1 f none libmp3lame/mpglib_interface.lo 0644 bin bin 330 27086 1126584141 1 f none libmp3lame/mpglib_interface.o 0644 bin bin 4588 8408 1126584141 1 f none libmp3lame/newmdct.c 0644 bin bin 31681 6391 1039366940 1 f none libmp3lame/newmdct.h 0644 bin bin 987 15718 1039366941 1 f none libmp3lame/newmdct.lo 0644 bin bin 303 24323 1126583919 1 f none libmp3lame/newmdct.o 0644 bin bin 12424 41054 1126583919 1 f none libmp3lame/presets.c 0644 bin bin 22889 25351 1081688510 1 f none libmp3lame/presets.lo 0644 bin bin 303 24383 1126583940 1 f none libmp3lame/presets.o 0644 bin bin 31036 10533 1126583940 1 f none libmp3lame/psymodel.c 0644 bin bin 59888 50526 1088367159 1 f none libmp3lame/psymodel.h 0644 bin bin 2265 43972 1072030453 1 f none libmp3lame/psymodel.lo 0644 bin bin 306 24692 1126583990 1 f none libmp3lame/psymodel.o 0644 bin bin 63884 13726 1126583990 1 f none libmp3lame/quantize.c 0644 bin bin 60940 49173 1081013312 1 f none libmp3lame/quantize.h 0644 bin bin 1304 39030 1072010811 1 f none libmp3lame/quantize.lo 0644 bin bin 306 24704 1126584020 1 f none libmp3lame/quantize.o 0644 bin bin 36820 30720 1126584020 1 f none libmp3lame/quantize_pvt.c 0644 bin bin 27888 5809 1081013312 1 f none libmp3lame/quantize_pvt.h 0644 bin bin 4485 21148 1081013312 1 f none libmp3lame/quantize_pvt.lo 0644 bin bin 318 26027 1126584036 1 f none libmp3lame/quantize_pvt.o 0644 bin bin 24448 6871 1126584036 1 f none libmp3lame/reservoir.c 0644 bin bin 9797 57236 1039366944 1 f none libmp3lame/reservoir.h 0644 bin bin 1175 33340 1039366945 1 f none libmp3lame/reservoir.lo 0644 bin bin 309 25040 1126584040 1 f none libmp3lame/reservoir.o 0644 bin bin 2016 41790 1126584040 1 f none libmp3lame/set_get.c 0644 bin bin 39585 40727 1080007037 1 f none libmp3lame/set_get.h 0644 bin bin 2864 51787 1066727110 1 f none libmp3lame/set_get.lo 0644 bin bin 303 24302 1126584047 1 f none libmp3lame/set_get.o 0644 bin bin 13644 61187 1126584047 1 f none libmp3lame/tables.c 0644 bin bin 20345 1463 1039366945 1 f none libmp3lame/tables.h 0644 bin bin 2567 65070 1039366945 1 f none libmp3lame/tables.lo 0644 bin bin 300 23966 1126584051 1 f none libmp3lame/tables.o 0644 bin bin 8888 57958 1126584051 1 f none libmp3lame/takehiro.c 0644 bin bin 39146 38766 1078084504 1 f none libmp3lame/takehiro.lo 0644 bin bin 306 24626 1126584071 1 f none libmp3lame/takehiro.o 0644 bin bin 27608 11915 1126584071 1 f none libmp3lame/util.c 0644 bin bin 20843 23059 1080079871 1 f none libmp3lame/util.h 0644 bin bin 18544 50269 1080007037 1 f none libmp3lame/util.lo 0644 bin bin 294 23399 1126584082 1 f none libmp3lame/util.o 0644 bin bin 17688 54637 1126584082 1 f none libmp3lame/vbrquantize.c 0644 bin bin 63392 14742 1088269688 1 f none libmp3lame/vbrquantize.h 0644 bin bin 1256 26207 1039366947 1 f none libmp3lame/vbrquantize.lo 0644 bin bin 315 25694 1126584133 1 f none libmp3lame/vbrquantize.o 0644 bin bin 63280 3596 1126584133 1 f none libmp3lame/version.c 0644 bin bin 6248 19937 1088269688 1 f none libmp3lame/version.h 0644 bin bin 2157 35045 1088267851 1 f none libmp3lame/version.lo 0644 bin bin 303 24383 1126584136 1 f none libmp3lame/version.o 0644 bin bin 1516 46421 1126584136 1 f none libtool 0755 bin bin 210306 9580 1126562376 1 f none ltconfig 0755 bin bin 97032 14988 1034067013 1 f none ltmain.sh 0644 bin bin 180453 20547 1070107294 1 d none mac 0755 bin bin 1 f none mac/.DS_Store 0644 bin bin 6148 26662 1012256028 1 f none mac/LAME.mcp 0755 bin bin 228208 38613 1012257235 1 f none mac/LAME_Carbon_Debug.pch 0755 bin bin 755 58993 1022572090 1 f none mac/LAME_Carbon_Final.pch 0755 bin bin 769 60222 1022572090 1 f none mac/LAME_Classic_Debug.pch 0755 bin bin 755 59101 1022572090 1 f none mac/LAME_Classic_Final.pch 0755 bin bin 769 60333 1022572090 1 f none mac/MacDLLMain.c 0755 bin bin 46 3192 1012256029 1 f none mac/Makefile 0644 bin bin 8382 17173 1126562453 1 f none mac/Makefile.am 0644 bin bin 285 22373 1022572330 1 f none mac/Makefile.in 0644 bin bin 8565 23303 1070107608 1 f none mac/Precompile_Common.h 0755 bin bin 2221 39216 1012256029 1 f none make_package 0755 bin bin 4634 42305 1128197985 1 d none misc 0755 bin bin 1 d none misc/.deps 0755 bin bin 1 f none misc/.deps/abx.Po 0644 bin bin 8 633 1126562459 1 f none misc/.deps/ath.Po 0644 bin bin 8 633 1126562459 1 f none misc/.deps/scalartest.Po 0644 bin bin 8 633 1126562459 1 f none misc/Lame.vbs 0644 bin bin 4926 59807 998930460 1 f none misc/Makefile 0644 bin bin 14417 52190 1126562449 1 f none misc/Makefile.am 0644 bin bin 409 31012 1011957803 1 f none misc/Makefile.in 0644 bin bin 15526 6370 1070107608 1 f none misc/abx.c 0644 bin bin 39041 22465 997950095 1 f none misc/ath.c 0644 bin bin 27212 1371 976030646 1 f none misc/auenc 0755 bin bin 773 58986 978369175 1 f none misc/depcomp 0755 bin bin 12117 23920 998945943 1 f none misc/lame4dos.bat 0644 bin bin 1421 36107 1039893594 1 f none misc/lameGUI.html 0644 bin bin 17848 12031 992925964 1 f none misc/lameid3.pl 0644 bin bin 1322 34885 1011644658 1 f none misc/mlame 0755 bin bin 5324 47420 1039893594 1 f none misc/mlame_corr.c 0644 bin bin 5162 59151 976492895 1 f none misc/mugeco.sh 0755 bin bin 3833 33709 976283276 1 f none misc/scalartest.c 0644 bin bin 3834 57126 973898331 1 f none missing 0755 bin bin 10270 62944 1070099141 1 f none mkinstalldirs 0755 bin bin 1988 6985 1070099141 1 d none mpglib 0755 bin bin 1 d none mpglib/.deps 0755 bin bin 1 f none mpglib/.deps/common.Plo 0644 bin bin 3325 31334 1126583728 1 f none mpglib/.deps/dct64_i386.Plo 0644 bin bin 3391 35777 1126583737 1 f none mpglib/.deps/decode_i386.Plo 0644 bin bin 3420 38540 1126583744 1 f none mpglib/.deps/interface.Plo 0644 bin bin 3856 13005 1126583754 1 f none mpglib/.deps/layer1.Plo 0644 bin bin 55 4417 1126583758 1 f none mpglib/.deps/layer2.Plo 0644 bin bin 3399 37104 1126583769 1 f none mpglib/.deps/layer3.Plo 0644 bin bin 3373 35245 1126583804 1 f none mpglib/.deps/tabinit.Plo 0644 bin bin 2620 35271 1126583808 1 d none mpglib/.libs 0755 bin bin 1 f none mpglib/.libs/common.o 0644 bin bin 6172 3515 1126583726 1 f none mpglib/.libs/dct64_i386.o 0644 bin bin 3396 54654 1126583734 1 f none mpglib/.libs/decode_i386.o 0644 bin bin 3928 61127 1126583742 1 f none mpglib/.libs/interface.o 0644 bin bin 7392 4785 1126583750 1 f none mpglib/.libs/layer1.o 0644 bin bin 460 10641 1126583757 1 f none mpglib/.libs/layer2.o 0644 bin bin 16672 52204 1126583765 1 f none mpglib/.libs/layer3.o 0644 bin bin 51768 38549 1126583789 1 f none mpglib/.libs/libmpgdecoder.a 0644 bin bin 98978 53849 1126583811 1 s none mpglib/.libs/libmpgdecoder.la=../libmpgdecoder.la 1 f none mpglib/.libs/tabinit.o 0644 bin bin 7892 3992 1126583807 1 f none mpglib/Makefile 0644 bin bin 16777 39546 1126562446 1 f none mpglib/Makefile.am 0644 bin bin 1012 15189 1074678096 1 f none mpglib/Makefile.in 0644 bin bin 18145 16028 1074693030 1 f none mpglib/README 0644 bin bin 1103 30768 968198101 1 f none mpglib/TODO 0644 bin bin 18 1296 943433073 1 f none mpglib/common.c 0644 bin bin 7739 44638 1073730448 1 f none mpglib/common.h 0644 bin bin 1415 54287 1039366950 1 f none mpglib/common.lo 0644 bin bin 300 24008 1126583728 1 f none mpglib/common.o 0644 bin bin 5428 23852 1126583728 1 f none mpglib/dct64_i386.c 0644 bin bin 9694 10023 978708034 1 f none mpglib/dct64_i386.h 0644 bin bin 911 8465 1039366950 1 f none mpglib/dct64_i386.lo 0644 bin bin 312 24407 1126583737 1 f none mpglib/dct64_i386.o 0644 bin bin 3300 49183 1126583737 1 f none mpglib/decode_i386.c 0644 bin bin 9394 60773 1045683974 1 f none mpglib/decode_i386.h 0644 bin bin 1195 34424 1045683976 1 f none mpglib/decode_i386.lo 0644 bin bin 315 24980 1126583744 1 f none mpglib/decode_i386.o 0644 bin bin 3668 43526 1126583744 1 f none mpglib/depcomp 0755 bin bin 13303 47410 1070099354 1 f none mpglib/huffman.h 0644 bin bin 16089 8272 1039366950 1 f none mpglib/interface.c 0644 bin bin 13755 11400 1078879854 1 f none mpglib/interface.h 0644 bin bin 1546 65178 1045683977 1 f none mpglib/interface.lo 0644 bin bin 309 24896 1126583754 1 f none mpglib/interface.o 0644 bin bin 8136 60417 1126583754 1 f none mpglib/l2tables.h 0644 bin bin 8341 29437 1039366950 1 f none mpglib/layer1.c 0644 bin bin 4155 35911 1078075022 1 f none mpglib/layer1.h 0644 bin bin 897 8384 1039366950 1 f none mpglib/layer1.lo 0644 bin bin 300 23831 1126583758 1 f none mpglib/layer1.o 0644 bin bin 460 10641 1126583758 1 f none mpglib/layer2.c 0644 bin bin 8894 35237 1039366950 1 f none mpglib/layer2.h 0644 bin bin 1181 32713 1039366950 1 f none mpglib/layer2.lo 0644 bin bin 300 23834 1126583769 1 f none mpglib/layer2.o 0644 bin bin 16092 22687 1126583769 1 f none mpglib/layer3.c 0644 bin bin 48341 55989 1073730448 1 f none mpglib/layer3.h 0644 bin bin 1128 26294 1045683977 1 f none mpglib/layer3.lo 0644 bin bin 300 23837 1126583804 1 f none mpglib/layer3.o 0644 bin bin 50720 29599 1126583804 1 f none mpglib/libmpgdecoder.la 0644 bin bin 746 64117 1126583811 1 f none mpglib/mpg123.h 0644 bin bin 2628 61533 1039366951 1 f none mpglib/mpglib.h 0644 bin bin 1475 47136 1039366951 1 f none mpglib/mpglib_vc6.dsp 0644 bin bin 8689 33713 1073496916 1 f none mpglib/tabinit.c 0644 bin bin 4719 56827 978708034 1 f none mpglib/tabinit.h 0644 bin bin 955 12832 1039366951 1 f none mpglib/tabinit.lo 0644 bin bin 303 24302 1126583808 1 f none mpglib/tabinit.o 0644 bin bin 7440 41806 1126583808 1 i pkginfo 155 12044 1128198037 1 f none stamp-h1 0644 bin bin 23 2161 1126562454 1 f none testcase.mp3 0644 bin bin 10425 59426 1075731448 1 f none testcase.wav 0644 bin bin 100044 58431 968622308 07070100069bea000041ed00000000000000000000000d433eef9800000000000000200000000800000000000000000000000600000000reloc07070100069beb000041ed000000000000000000000005433eef9500000000000000200000000800000000000000000000000a00000000reloc/ACM07070100069bed000081a40000000200000002000000014100328d0000c037000000200000000800000000000000000000001200000000reloc/ACM/ACM.cpp/** * * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows * * Copyright (c) 2002 Steve Lhomme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: ACM.cpp,v 1.14.6.2 2004/07/21 18:52:08 bouvigne Exp $ */ #if !defined(STRICT) #define STRICT #endif // STRICT #include #include #include #include #include #include #include #include #include #include "adebug.h" #include "resource.h" #include "ACMStream.h" #ifdef ENABLE_DECODING #include "DecodeStream.h" #endif // ENABLE_DECODING #include "ACM.h" #ifndef IDC_HAND #define IDC_HAND MAKEINTRESOURCE(32649) #endif // IDC_HAND char ACM::VersionString[20]; const char ACM_VERSION[] = "0.9.0"; #ifdef WIN32 // // 32-bit versions // #if (WINVER >= 0x0400) #define VERSION_ACM_DRIVER MAKE_ACM_VERSION(4, 0, 0) #else #define VERSION_ACM_DRIVER MAKE_ACM_VERSION(3, 51, 0) #endif #define VERSION_MSACM MAKE_ACM_VERSION(3, 50, 0) #else // // 16-bit versions // #define VERSION_ACM_DRIVER MAKE_ACM_VERSION(1, 0, 0) #define VERSION_MSACM MAKE_ACM_VERSION(2, 1, 0) #endif #define PERSONAL_FORMAT WAVE_FORMAT_MPEGLAYER3 #define SIZE_FORMAT_STRUCT sizeof(MPEGLAYER3WAVEFORMAT) //#define SIZE_FORMAT_STRUCT 0 //static const char channel_mode[][13] = {"mono","stereo","joint stereo","dual channel"}; static const char channel_mode[][13] = {"mono","stereo"}; static const unsigned int mpeg1_freq[] = {48000,44100,32000}; static const unsigned int mpeg2_freq[] = {24000,22050,16000,12000,11025,8000}; static const unsigned int mpeg1_bitrate[] = {320, 256, 224, 192, 160, 128, 112, 96, 80, 64, 56, 48, 40, 32}; static const unsigned int mpeg2_bitrate[] = {160, 144, 128, 112, 96, 80, 64, 56, 48, 40, 32, 24, 16, 8}; #define SIZE_CHANNEL_MODE (sizeof(channel_mode) / (sizeof(char) * 13)) #define SIZE_FREQ_MPEG1 (sizeof(mpeg1_freq) / sizeof(unsigned int)) #define SIZE_FREQ_MPEG2 (sizeof(mpeg2_freq) / sizeof(unsigned int)) #define SIZE_BITRATE_MPEG1 (sizeof(mpeg1_bitrate) / sizeof(unsigned int)) #define SIZE_BITRATE_MPEG2 (sizeof(mpeg2_bitrate) / sizeof(unsigned int)) static const int FORMAT_TAG_MAX_NB = 2; // PCM and PERSONAL (mandatory to have at least PCM and your format) static const int FILTER_TAG_MAX_NB = 0; // this is a codec, not a filter // number of supported PCM formats static const int FORMAT_MAX_NB_PCM = 2 * // number of PCM channel mode (stereo/mono) (SIZE_FREQ_MPEG1 + // number of MPEG 1 sampling freq SIZE_FREQ_MPEG2); // number of MPEG 2 sampling freq ////////////////////////////////////////////////////////////////////// // ////////////////////////////////////////////////////////////////////// bool bitrate_item::operator<(const bitrate_item & other_bitrate) const { return (other_bitrate.frequency < frequency || (other_bitrate.frequency == frequency && (other_bitrate.bitrate < bitrate || (other_bitrate.bitrate == bitrate && (other_bitrate.channels < channels))))); } ////////////////////////////////////////////////////////////////////// // Configuration Dialog ////////////////////////////////////////////////////////////////////// /* static CALLBACK ConfigProc( HWND hwndDlg, // handle to dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { BOOL bResult; switch (uMsg) { case WM_COMMAND: UINT command; command = GET_WM_COMMAND_ID(wParam, lParam); if (IDOK == command) { EndDialog(hwndDlg, (IDOK == command)); } else if (IDCANCEL == command) { EndDialog(hwndDlg, (IDOK == command)); } bResult = FALSE; break; default: bResult = FALSE; // will be treated by DefWindowProc } return bResult; } inline DWORD ACM::Configure(HWND hParentWindow, LPDRVCONFIGINFO pConfig) { my_debug.OutPut(DEBUG_LEVEL_FUNC_START, "ACM : Configure (Parent Window = 0x%08X)",hParentWindow); DialogBoxParam( my_hModule, MAKEINTRESOURCE(IDD_CONFIG), hParentWindow, ::ConfigProc , (LPARAM)this); return DRVCNF_OK; // Can also return // DRVCNF_CANCEL // and DRVCNF_RESTART } */ ////////////////////////////////////////////////////////////////////// // About Dialog ////////////////////////////////////////////////////////////////////// static BOOL CALLBACK AboutProc( HWND hwndDlg, // handle to dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { static HBRUSH hBrushStatic = NULL; // static LOGFONT lf; // structure for font information // static HFONT hfnt; static HCURSOR hcOverCursor = NULL; BOOL bResult; switch (uMsg) { case WM_INITDIALOG: char tmp[150]; wsprintf(tmp,"LAME MP3 codec v%s", ACM::GetVersionString()); ::SetWindowText(GetDlgItem( hwndDlg, IDC_STATIC_ABOUT_TITLE), tmp); /* ::GetObject(::GetStockObject(DEFAULT_GUI_FONT), sizeof(LOGFONT), &lf); lf.lfUnderline = TRUE; hfnt = ::CreateFontIndirect(&lf); ::SendMessage(::GetDlgItem(hwndDlg,IDC_STATIC_ABOUT_URL), WM_SETFONT, (WPARAM) hfnt, TRUE); * / hBrushStatic = ::CreateSolidBrush(::GetSysColor (COLOR_BTNFACE)); */ hcOverCursor = ::LoadCursor(NULL,(LPCTSTR)IDC_HAND); if (hcOverCursor == NULL) hcOverCursor = ::LoadCursor(NULL,(LPCTSTR)IDC_CROSS); bResult = TRUE; break; /* case WM_CTLCOLORSTATIC: /// \todo only if there are URLs if ((HWND)lParam == ::GetDlgItem(hwndDlg,IDC_STATIC_ABOUT_URL)) { ::SetTextColor((HDC)wParam, ::GetSysColor (COLOR_HIGHLIGHT)); ::SetBkColor((HDC)wParam, ::GetSysColor (COLOR_BTNFACE)); return (LRESULT) hBrushStatic; } else return (LRESULT) NULL; */ case WM_MOUSEMOVE: { POINT pnt; ::GetCursorPos(&pnt); RECT rect; ::GetWindowRect( ::GetDlgItem(hwndDlg,IDC_STATIC_ABOUT_URL), &rect); if ( ::PtInRect(&rect,pnt) ) { ::SetCursor(hcOverCursor); } } break; case WM_LBUTTONUP: { POINT pnt; ::GetCursorPos(&pnt); RECT rect; ::GetWindowRect( ::GetDlgItem(hwndDlg,IDC_STATIC_ABOUT_URL), &rect); TCHAR Url[200]; bool bUrl = false; if (::PtInRect(&rect,pnt)) { wsprintf(Url,LAME_URL); bUrl = true; } if (bUrl) { LPSTR tmpStr; HRESULT hresult = ::TranslateURL(Url, TRANSLATEURL_FL_GUESS_PROTOCOL|TRANSLATEURL_FL_GUESS_PROTOCOL, &tmpStr); if (hresult == S_OK) ::ShellExecute(hwndDlg,"open",tmpStr,NULL,"",SW_SHOWMAXIMIZED ); else if (hresult == S_FALSE) ::ShellExecute(hwndDlg,"open",Url,NULL,"",SW_SHOWMAXIMIZED ); } } break; case WM_COMMAND: UINT command; command = GET_WM_COMMAND_ID(wParam, lParam); if (IDOK == command) { EndDialog(hwndDlg, TRUE); } bResult = FALSE; break; case IDC_STATIC_ABOUT_URL: break; default: bResult = FALSE; // will be treated by DefWindowProc } return bResult; } inline DWORD ACM::About(HWND hParentWindow) { my_debug.OutPut(DEBUG_LEVEL_FUNC_START, "ACM : About (Parent Window = 0x%08X)",hParentWindow); DialogBoxParam( my_hModule, MAKEINTRESOURCE(IDD_ABOUT), hParentWindow, ::AboutProc , (LPARAM)this); return DRVCNF_OK; // Can also return // DRVCNF_CANCEL // and DRVCNF_RESTART } ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// ACM::ACM( HMODULE hModule ) :my_hModule(hModule), my_hIcon(NULL), my_debug(ADbg(DEBUG_LEVEL_CREATION)), my_EncodingProperties(hModule) { my_EncodingProperties.ParamsRestore(); /// \todo get the debug level from the registry unsigned char DebugFileName[512]; char tmp[128]; wsprintf(tmp,"LAMEacm 0x%08X",this); my_debug.setPrefix(tmp); /// \todo get it from the registry my_debug.setIncludeTime(true); /// \todo get it from the registry // Check in the registry if we have to Output Debug information DebugFileName[0] = '\0'; HKEY OssKey; if (RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI", 0, KEY_READ , &OssKey ) == ERROR_SUCCESS) { DWORD DataType; DWORD DebugFileNameSize = 512; if (RegQueryValueEx( OssKey, "DebugFile", NULL, &DataType, DebugFileName, &DebugFileNameSize ) == ERROR_SUCCESS) { if (DataType == REG_SZ) { my_debug.setUseFile(true); my_debug.setDebugFile((char *)DebugFileName); my_debug.OutPut("Debug file is %s",(char *)DebugFileName); } } } #if LAME_ALPHA_VERSION > 0 wsprintf(VersionString,"%s - %d.%d (alpha %d)", ACM_VERSION, LAME_MAJOR_VERSION, LAME_MINOR_VERSION,LAME_ALPHA_VERSION); #elif LAME_BETA_VERSION > 0 wsprintf(VersionString,"%s - %d.%d (beta %d)", ACM_VERSION, LAME_MAJOR_VERSION, LAME_MINOR_VERSION, LAME_BETA_VERSION); #else wsprintf(VersionString,"%s - %d.%d (stable)", ACM_VERSION, LAME_MAJOR_VERSION, LAME_MINOR_VERSION); #endif BuildBitrateTable(); my_debug.OutPut(DEBUG_LEVEL_FUNC_START, "New ACM Creation (0x%08X)",this); } ACM::~ACM() { // not used, it's done automatically when closing the driver if (my_hIcon != NULL) // CloseHandle(my_hIcon); bitrate_table.clear(); my_debug.OutPut(DEBUG_LEVEL_FUNC_START, "ACM Deleted (0x%08X)",this); } ////////////////////////////////////////////////////////////////////// // Main message handler ////////////////////////////////////////////////////////////////////// LONG ACM::DriverProcedure(const HDRVR hdrvr, const UINT msg, LONG lParam1, LONG lParam2) { DWORD dwRes = 0L; //my_debug.OutPut(DEBUG_LEVEL_MSG, "message 0x%08X for ThisACM 0x%08X", msg, this); switch (msg) { case DRV_INSTALL: my_debug.OutPut(DEBUG_LEVEL_MSG, "DRV_INSTALL"); // Sent when the driver is installed. dwRes = DRVCNF_OK; // Can also return break; // DRVCNF_CANCEL // and DRV_RESTART case DRV_REMOVE: // Sent when the driver is removed. my_debug.OutPut(DEBUG_LEVEL_MSG, "DRV_REMOVE"); dwRes = 1L; // return value ignored break; case DRV_QUERYCONFIGURE: my_debug.OutPut(DEBUG_LEVEL_MSG, "DRV_QUERYCONFIGURE"); // Sent to determine if the driver can be // configured. dwRes = 1L; // Zero indicates configuration break; // NOT supported case DRV_CONFIGURE: my_debug.OutPut(DEBUG_LEVEL_MSG, "DRV_CONFIGURE"); // Sent to display the configuration // dialog box for the driver. // dwRes = Configure( (HWND) lParam1, (LPDRVCONFIGINFO) lParam2 ); if (my_EncodingProperties.Config(my_hModule, (HWND) lParam1)) { dwRes = DRVCNF_OK; // Can also return // DRVCNF_CANCEL // and DRVCNF_RESTART } else { dwRes = DRVCNF_CANCEL; } break; /************************************** // ACM additional messages ***************************************/ case ACMDM_DRIVER_ABOUT: my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_DRIVER_ABOUT"); dwRes = About( (HWND) lParam1 ); break; case ACMDM_DRIVER_DETAILS: // acmDriverDetails // Fill-in general informations about the driver/codec my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_DRIVER_DETAILS"); dwRes = OnDriverDetails(hdrvr, (LPACMDRIVERDETAILS) lParam1); break; case ACMDM_FORMATTAG_DETAILS: // acmFormatTagDetails my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_FORMATTAG_DETAILS"); dwRes = OnFormatTagDetails((LPACMFORMATTAGDETAILS) lParam1, lParam2); break; case ACMDM_FORMAT_DETAILS: // acmFormatDetails my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_FORMAT_DETAILS"); dwRes = OnFormatDetails((LPACMFORMATDETAILS) lParam1, lParam2); break; case ACMDM_FORMAT_SUGGEST: // acmFormatSuggest // Sent to determine if the driver can be // configured. my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_FORMAT_SUGGEST"); dwRes = OnFormatSuggest((LPACMDRVFORMATSUGGEST) lParam1); break; /************************************** // ACM stream messages ***************************************/ case ACMDM_STREAM_OPEN: // Sent to determine if the driver can be // configured. my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_OPEN"); dwRes = OnStreamOpen((LPACMDRVSTREAMINSTANCE) lParam1); break; case ACMDM_STREAM_SIZE: // returns a recommended size for a source // or destination buffer on an ACM stream my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_SIZE"); dwRes = OnStreamSize((LPACMDRVSTREAMINSTANCE)lParam1, (LPACMDRVSTREAMSIZE)lParam2); break; case ACMDM_STREAM_PREPARE: // prepares an ACMSTREAMHEADER structure for // an ACM stream conversion my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_PREPARE"); dwRes = OnStreamPrepareHeader((LPACMDRVSTREAMINSTANCE)lParam1, (LPACMSTREAMHEADER) lParam2); break; case ACMDM_STREAM_UNPREPARE: // cleans up the preparation performed by // the ACMDM_STREAM_PREPARE message for an ACM stream my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_UNPREPARE"); dwRes = OnStreamUnPrepareHeader((LPACMDRVSTREAMINSTANCE)lParam1, (LPACMSTREAMHEADER) lParam2); break; case ACMDM_STREAM_CONVERT: // perform a conversion on the specified conversion stream my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_CONVERT"); dwRes = OnStreamConvert((LPACMDRVSTREAMINSTANCE)lParam1, (LPACMDRVSTREAMHEADER) lParam2); break; case ACMDM_STREAM_CLOSE: // closes an ACM conversion stream my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_CLOSE"); dwRes = OnStreamClose((LPACMDRVSTREAMINSTANCE)lParam1); break; /************************************** // Unknown message ***************************************/ default: // Process any other messages. my_debug.OutPut(DEBUG_LEVEL_MSG, "ACM::DriverProc unknown message (0x%08X), lParam1 = 0x%08X, lParam2 = 0x%08X", msg, lParam1, lParam2); return DefDriverProc ((DWORD)this, hdrvr, msg, lParam1, lParam2); } return dwRes; } ////////////////////////////////////////////////////////////////////// // Special message handlers ////////////////////////////////////////////////////////////////////// /*! Retreive the config details of this ACM driver The index represent the specified format \param a_FormatDetails will be filled with all the corresponding data */ inline DWORD ACM::OnFormatDetails(LPACMFORMATDETAILS a_FormatDetails, const LPARAM a_Query) { DWORD Result = ACMERR_NOTPOSSIBLE; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATDETAILS a_Query = 0x%08X",a_Query); switch (a_Query & ACM_FORMATDETAILSF_QUERYMASK) { // Fill-in the informations corresponding to the FormatDetails->dwFormatTagIndex case ACM_FORMATDETAILSF_INDEX : my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "enter ACM_FORMATDETAILSF_INDEX for index 0x%04X:%03d",a_FormatDetails->dwFormatTag,a_FormatDetails->dwFormatIndex); if (a_FormatDetails->dwFormatTag == PERSONAL_FORMAT) { if (a_FormatDetails->dwFormatIndex < GetNumberEncodingFormats()) { LPWAVEFORMATEX WaveExt; WaveExt = a_FormatDetails->pwfx; WaveExt->wFormatTag = PERSONAL_FORMAT; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "format in : channels %d, sample rate %d", WaveExt->nChannels, WaveExt->nSamplesPerSec); GetMP3FormatForIndex(a_FormatDetails->dwFormatIndex, *WaveExt, a_FormatDetails->szFormat); my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "format out : channels %d, sample rate %d", WaveExt->nChannels, WaveExt->nSamplesPerSec); Result = MMSYSERR_NOERROR; } else { my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATDETAILSF_INDEX unknown index 0x%04X:%03d",a_FormatDetails->dwFormatTag,a_FormatDetails->dwFormatIndex); } } else if (a_FormatDetails->dwFormatTag == WAVE_FORMAT_PCM) { if (a_FormatDetails->dwFormatIndex < FORMAT_MAX_NB_PCM) { LPWAVEFORMATEX WaveExt; WaveExt = a_FormatDetails->pwfx; WaveExt->wFormatTag = WAVE_FORMAT_PCM; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "format in : channels %d, sample rate %d", WaveExt->nChannels, WaveExt->nSamplesPerSec); GetPCMFormatForIndex(a_FormatDetails->dwFormatIndex, *WaveExt, a_FormatDetails->szFormat); my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "format out : channels %d, sample rate %d", WaveExt->nChannels, WaveExt->nSamplesPerSec); Result = MMSYSERR_NOERROR; } else { my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATDETAILSF_INDEX unknown index 0x%04X:%03d",a_FormatDetails->dwFormatTag,a_FormatDetails->dwFormatIndex); } } else { my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Unknown a_FormatDetails->dwFormatTag = 0x%08X",a_FormatDetails->dwFormatTag); } case ACM_FORMATDETAILSF_FORMAT : /// \todo we may output the corresponding strong (only for personal format) LPWAVEFORMATEX WaveExt; WaveExt = a_FormatDetails->pwfx; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "enter ACM_FORMATDETAILSF_FORMAT : 0x%04X:%03d, format in : channels %d, sample rate %d",a_FormatDetails->dwFormatTag,a_FormatDetails->dwFormatIndex, WaveExt->nChannels, WaveExt->nSamplesPerSec); Result = MMSYSERR_NOERROR; break; default: Result = ACMERR_NOTPOSSIBLE; break; } a_FormatDetails->fdwSupport = ACMDRIVERDETAILS_SUPPORTF_CODEC; return Result; } /*! Retreive the details of each known format by this ACM driver The index represent the specified format (0 = MP3 / 1 = PCM) \param a_FormatTagDetails will be filled with all the corresponding data */ inline DWORD ACM::OnFormatTagDetails(LPACMFORMATTAGDETAILS a_FormatTagDetails, const LPARAM a_Query) { DWORD Result; DWORD the_format = WAVE_FORMAT_UNKNOWN; // the format to give details if (a_FormatTagDetails->cbStruct >= sizeof(*a_FormatTagDetails)) { my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACMDM_FORMATTAG_DETAILS, a_Query = 0x%08X",a_Query); switch(a_Query & ACM_FORMATTAGDETAILSF_QUERYMASK) { case ACM_FORMATTAGDETAILSF_INDEX: // Fill-in the informations corresponding to the a_FormatDetails->dwFormatTagIndex my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "get ACM_FORMATTAGDETAILSF_INDEX for index %03d",a_FormatTagDetails->dwFormatTagIndex); if (a_FormatTagDetails->dwFormatTagIndex < FORMAT_TAG_MAX_NB) { switch (a_FormatTagDetails->dwFormatTagIndex) { case 0: the_format = PERSONAL_FORMAT; break; default : the_format = WAVE_FORMAT_PCM; break; } } else { my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATTAGDETAILSF_INDEX for unsupported index %03d",a_FormatTagDetails->dwFormatTagIndex); Result = ACMERR_NOTPOSSIBLE; } break; case ACM_FORMATTAGDETAILSF_FORMATTAG: // Fill-in the informations corresponding to the a_FormatDetails->dwFormatTagIndex and hdrvr given switch (a_FormatTagDetails->dwFormatTag) { case WAVE_FORMAT_PCM: the_format = WAVE_FORMAT_PCM; break; case PERSONAL_FORMAT: the_format = PERSONAL_FORMAT; break; default: return (ACMERR_NOTPOSSIBLE); } my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "get ACM_FORMATTAGDETAILSF_FORMATTAG for index 0x%02X, cStandardFormats = %d",a_FormatTagDetails->dwFormatTagIndex,a_FormatTagDetails->cStandardFormats); break; case ACM_FORMATTAGDETAILSF_LARGESTSIZE: my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATTAGDETAILSF_LARGESTSIZE not used"); Result = 0L; break; default: my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnFormatTagDetails Unknown Format tag query"); Result = MMSYSERR_NOTSUPPORTED; break; } my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnFormatTagDetails the_format = 0x%08X",the_format); switch(the_format) { case WAVE_FORMAT_PCM: a_FormatTagDetails->dwFormatTag = WAVE_FORMAT_PCM; a_FormatTagDetails->dwFormatTagIndex = 0; a_FormatTagDetails->cbFormatSize = sizeof(PCMWAVEFORMAT); /// \note 0 may mean we don't know how to decode a_FormatTagDetails->fdwSupport = ACMDRIVERDETAILS_SUPPORTF_CODEC; a_FormatTagDetails->cStandardFormats = FORMAT_MAX_NB_PCM; // should be filled by Windows a_FormatTagDetails->szFormatTag[0] = '\0'; Result = MMSYSERR_NOERROR; break; case PERSONAL_FORMAT: a_FormatTagDetails->dwFormatTag = PERSONAL_FORMAT; a_FormatTagDetails->dwFormatTagIndex = 1; a_FormatTagDetails->cbFormatSize = SIZE_FORMAT_STRUCT; a_FormatTagDetails->fdwSupport = ACMDRIVERDETAILS_SUPPORTF_CODEC; a_FormatTagDetails->cStandardFormats = GetNumberEncodingFormats(); lstrcpyW( a_FormatTagDetails->szFormatTag, L"Lame MP3" ); Result = MMSYSERR_NOERROR; break; default: my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnFormatTagDetails Unknown format 0x%08X",the_format); return (ACMERR_NOTPOSSIBLE); } my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnFormatTagDetails %d possibilities for format 0x%08X",a_FormatTagDetails->cStandardFormats,the_format); } else { my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "a_FormatTagDetails->cbStruct < sizeof(*a_FormatDetails)"); Result = ACMERR_NOTPOSSIBLE; } return Result; } /*! Retreive the global details of this ACM driver \param a_DriverDetail will be filled with all the corresponding data */ inline DWORD ACM::OnDriverDetails(const HDRVR hdrvr, LPACMDRIVERDETAILS a_DriverDetail) { if (my_hIcon == NULL) my_hIcon = LoadIcon(GetDriverModuleHandle(hdrvr), MAKEINTRESOURCE(IDI_ICON)); a_DriverDetail->hicon = my_hIcon; a_DriverDetail->fccType = ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC; a_DriverDetail->fccComp = ACMDRIVERDETAILS_FCCCOMP_UNDEFINED; /// \note this is an explicit hack of the FhG values /// \note later it could be a new value when the decoding is done a_DriverDetail->wMid = MM_FRAUNHOFER_IIS; a_DriverDetail->wPid = MM_FHGIIS_MPEGLAYER3; a_DriverDetail->vdwACM = VERSION_MSACM; a_DriverDetail->vdwDriver = VERSION_ACM_DRIVER; a_DriverDetail->fdwSupport = ACMDRIVERDETAILS_SUPPORTF_CODEC; a_DriverDetail->cFormatTags = FORMAT_TAG_MAX_NB; // 2 : MP3 and PCM // a_DriverDetail->cFormatTags = 1; // 2 : MP3 and PCM a_DriverDetail->cFilterTags = FILTER_TAG_MAX_NB; lstrcpyW( a_DriverDetail->szShortName, L"LAME MP3" ); char tmpStr[128]; wsprintf(tmpStr, "LAME MP3 Codec v%s", GetVersionString()); int u = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, tmpStr, -1, a_DriverDetail->szLongName, 0); MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, tmpStr, -1, a_DriverDetail->szLongName, u); lstrcpyW( a_DriverDetail->szCopyright, L"2002 Steve Lhomme" ); lstrcpyW( a_DriverDetail->szLicensing, L"LGPL (see gnu.org)" ); /// \todo update this part when the code changes lstrcpyW( a_DriverDetail->szFeatures , L"only CBR implementation" ); return MMSYSERR_NOERROR; // Can also return DRVCNF_CANCEL } /*! Suggest an output format for the specified input format \param a_FormatSuggest will be filled with all the corresponding data */ inline DWORD ACM::OnFormatSuggest(LPACMDRVFORMATSUGGEST a_FormatSuggest) { DWORD Result = MMSYSERR_NOTSUPPORTED; DWORD fdwSuggest = (ACM_FORMATSUGGESTF_TYPEMASK & a_FormatSuggest->fdwSuggest); my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest %s%s%s%s (0x%08X)", (fdwSuggest & ACM_FORMATSUGGESTF_NCHANNELS) ? "channels, ":"", (fdwSuggest & ACM_FORMATSUGGESTF_NSAMPLESPERSEC) ? "samples/sec, ":"", (fdwSuggest & ACM_FORMATSUGGESTF_WBITSPERSAMPLE) ? "bits/sample, ":"", (fdwSuggest & ACM_FORMATSUGGESTF_WFORMATTAG) ? "format, ":"", fdwSuggest); my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest for source format = 0x%04X, channels = %d, Samples/s = %d, AvgB/s = %d, BlockAlign = %d, b/sample = %d", a_FormatSuggest->pwfxSrc->wFormatTag, a_FormatSuggest->pwfxSrc->nChannels, a_FormatSuggest->pwfxSrc->nSamplesPerSec, a_FormatSuggest->pwfxSrc->nAvgBytesPerSec, a_FormatSuggest->pwfxSrc->nBlockAlign, a_FormatSuggest->pwfxSrc->wBitsPerSample); my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggested destination format = 0x%04X, channels = %d, Samples/s = %d, AvgB/s = %d, BlockAlign = %d, b/sample = %d", a_FormatSuggest->pwfxDst->wFormatTag, a_FormatSuggest->pwfxDst->nChannels, a_FormatSuggest->pwfxDst->nSamplesPerSec, a_FormatSuggest->pwfxDst->nAvgBytesPerSec, a_FormatSuggest->pwfxDst->nBlockAlign, a_FormatSuggest->pwfxDst->wBitsPerSample); switch (a_FormatSuggest->pwfxSrc->wFormatTag) { case WAVE_FORMAT_PCM: /// \todo handle here the decoding ? my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest for PCM source"); // // if the destination format tag is restricted, verify that // it is within our capabilities... // // this driver is able to decode to PCM // if (ACM_FORMATSUGGESTF_WFORMATTAG & fdwSuggest) { if (PERSONAL_FORMAT != a_FormatSuggest->pwfxDst->wFormatTag) return (ACMERR_NOTPOSSIBLE); } else { a_FormatSuggest->pwfxDst->wFormatTag = PERSONAL_FORMAT; } my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed A"); // // if the destination channel count is restricted, verify that // it is within our capabilities... // // this driver is not able to change the number of channels // if (ACM_FORMATSUGGESTF_NCHANNELS & fdwSuggest) { if (a_FormatSuggest->pwfxSrc->nChannels != a_FormatSuggest->pwfxDst->nChannels) return (ACMERR_NOTPOSSIBLE); } else { a_FormatSuggest->pwfxDst->nChannels = a_FormatSuggest->pwfxSrc->nChannels; } if (a_FormatSuggest->pwfxSrc->nChannels != 1 && a_FormatSuggest->pwfxSrc->nChannels != 2) return MMSYSERR_INVALPARAM; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed B"); // // if the destination samples per second is restricted, verify // that it is within our capabilities... // // this driver is not able to change the sample rate // if (ACM_FORMATSUGGESTF_NSAMPLESPERSEC & fdwSuggest) { if (a_FormatSuggest->pwfxSrc->nSamplesPerSec != a_FormatSuggest->pwfxDst->nSamplesPerSec) return (ACMERR_NOTPOSSIBLE); } else { a_FormatSuggest->pwfxDst->nSamplesPerSec = a_FormatSuggest->pwfxSrc->nSamplesPerSec; } my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed C"); // // if the destination bits per sample is restricted, verify // that it is within our capabilities... // // We prefer decoding to 16-bit PCM. // if (ACM_FORMATSUGGESTF_WBITSPERSAMPLE & fdwSuggest) { if ( (16 != a_FormatSuggest->pwfxDst->wBitsPerSample) && (8 != a_FormatSuggest->pwfxDst->wBitsPerSample) ) return (ACMERR_NOTPOSSIBLE); } else { a_FormatSuggest->pwfxDst->wBitsPerSample = 16; } // a_FormatSuggest->pwfxDst->nBlockAlign = FORMAT_BLOCK_ALIGN; a_FormatSuggest->pwfxDst->nBlockAlign = a_FormatSuggest->pwfxDst->nChannels * a_FormatSuggest->pwfxDst->wBitsPerSample / 8; a_FormatSuggest->pwfxDst->nAvgBytesPerSec = a_FormatSuggest->pwfxDst->nChannels * 64000 / 8; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed"); Result = MMSYSERR_NOERROR; break; case PERSONAL_FORMAT: my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest for PERSONAL source"); // // if the destination format tag is restricted, verify that // it is within our capabilities... // // this driver is able to decode to PCM // if (ACM_FORMATSUGGESTF_WFORMATTAG & fdwSuggest) { if (WAVE_FORMAT_PCM != a_FormatSuggest->pwfxDst->wFormatTag) return (ACMERR_NOTPOSSIBLE); } else { a_FormatSuggest->pwfxDst->wFormatTag = WAVE_FORMAT_PCM; } // // if the destination channel count is restricted, verify that // it is within our capabilities... // // this driver is not able to change the number of channels // if (ACM_FORMATSUGGESTF_NCHANNELS & fdwSuggest) { if (a_FormatSuggest->pwfxSrc->nChannels != a_FormatSuggest->pwfxDst->nChannels) return (ACMERR_NOTPOSSIBLE); } else { a_FormatSuggest->pwfxDst->nChannels = a_FormatSuggest->pwfxSrc->nChannels; } // // if the destination samples per second is restricted, verify // that it is within our capabilities... // // this driver is not able to change the sample rate // if (ACM_FORMATSUGGESTF_NSAMPLESPERSEC & fdwSuggest) { if (a_FormatSuggest->pwfxSrc->nSamplesPerSec != a_FormatSuggest->pwfxDst->nSamplesPerSec) return (ACMERR_NOTPOSSIBLE); } else { a_FormatSuggest->pwfxDst->nSamplesPerSec = a_FormatSuggest->pwfxSrc->nSamplesPerSec; } // // if the destination bits per sample is restricted, verify // that it is within our capabilities... // // We prefer decoding to 16-bit PCM. // if (ACM_FORMATSUGGESTF_WBITSPERSAMPLE & fdwSuggest) { if ( (16 != a_FormatSuggest->pwfxDst->wBitsPerSample) && (8 != a_FormatSuggest->pwfxDst->wBitsPerSample) ) return (ACMERR_NOTPOSSIBLE); } else { a_FormatSuggest->pwfxDst->wBitsPerSample = 16; } // a_FormatSuggest->pwfxDst->nBlockAlign = FORMAT_BLOCK_ALIGN; a_FormatSuggest->pwfxDst->nBlockAlign = a_FormatSuggest->pwfxDst->nChannels * a_FormatSuggest->pwfxDst->wBitsPerSample / 8; /// \todo this value must be a correct one ! a_FormatSuggest->pwfxDst->nAvgBytesPerSec = a_FormatSuggest->pwfxDst->nSamplesPerSec * a_FormatSuggest->pwfxDst->nChannels * a_FormatSuggest->pwfxDst->wBitsPerSample / 8; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed"); Result = MMSYSERR_NOERROR; break; } my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggested destination format = 0x%04X, channels = %d, Samples/s = %d, AvgB/s = %d, BlockAlign = %d, b/sample = %d", a_FormatSuggest->pwfxDst->wFormatTag, a_FormatSuggest->pwfxDst->nChannels, a_FormatSuggest->pwfxDst->nSamplesPerSec, a_FormatSuggest->pwfxDst->nAvgBytesPerSec, a_FormatSuggest->pwfxDst->nBlockAlign, a_FormatSuggest->pwfxDst->wBitsPerSample); return Result; } /*! Create a stream instance for decoding/encoding \param a_StreamInstance contain information about the stream desired */ inline DWORD ACM::OnStreamOpen(LPACMDRVSTREAMINSTANCE a_StreamInstance) { DWORD Result = ACMERR_NOTPOSSIBLE; // // the most important condition to check before doing anything else // is that this ACM driver can actually perform the conversion we are // being opened for. this check should fail as quickly as possible // if the conversion is not possible by this driver. // // it is VERY important to fail quickly so the ACM can attempt to // find a driver that is suitable for the conversion. also note that // the ACM may call this driver several times with slightly different // format specifications before giving up. // // this driver first verifies that the source and destination formats // are acceptable... // switch (a_StreamInstance->pwfxSrc->wFormatTag) { case WAVE_FORMAT_PCM: my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream for PCM source (%05d samples %d channels %d bits/sample)",a_StreamInstance->pwfxSrc->nSamplesPerSec,a_StreamInstance->pwfxSrc->nChannels,a_StreamInstance->pwfxSrc->wBitsPerSample); if (a_StreamInstance->pwfxDst->wFormatTag == PERSONAL_FORMAT) { unsigned int OutputFrequency; /// \todo Smart mode if (my_EncodingProperties.GetSmartOutputMode()) OutputFrequency = ACMStream::GetOutputSampleRate(a_StreamInstance->pwfxSrc->nSamplesPerSec,a_StreamInstance->pwfxDst->nAvgBytesPerSec,a_StreamInstance->pwfxDst->nChannels); else OutputFrequency = a_StreamInstance->pwfxSrc->nSamplesPerSec; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream for PERSONAL output (%05d samples %d channels %d bits/sample %d kbps)",a_StreamInstance->pwfxDst->nSamplesPerSec,a_StreamInstance->pwfxDst->nChannels,a_StreamInstance->pwfxDst->wBitsPerSample,8 * a_StreamInstance->pwfxDst->nAvgBytesPerSec); /// \todo add the possibility to have channel resampling (mono to stereo / stereo to mono) /// \todo support resampling ? /// \todo only do the test on OutputFrequency in "Smart Output" mode if (a_StreamInstance->pwfxDst->nSamplesPerSec != OutputFrequency || // a_StreamInstance->pwfxSrc->nSamplesPerSec != a_StreamInstance->pwfxDst->nSamplesPerSec || a_StreamInstance->pwfxSrc->nChannels != a_StreamInstance->pwfxDst->nChannels || a_StreamInstance->pwfxSrc->wBitsPerSample != 16) { Result = ACMERR_NOTPOSSIBLE; } else { if ((a_StreamInstance->fdwOpen & ACM_STREAMOPENF_QUERY) == 0) { ACMStream * the_stream = ACMStream::Create(); a_StreamInstance->dwInstance = (DWORD) the_stream; if (the_stream != NULL) { MPEGLAYER3WAVEFORMAT * casted = (MPEGLAYER3WAVEFORMAT *) a_StreamInstance->pwfxDst; vbr_mode a_mode = (casted->fdwFlags-2 == 0)?vbr_abr:vbr_off; if (the_stream->init(a_StreamInstance->pwfxDst->nSamplesPerSec, OutputFrequency, a_StreamInstance->pwfxDst->nChannels, a_StreamInstance->pwfxDst->nAvgBytesPerSec, a_mode)) Result = MMSYSERR_NOERROR; else ACMStream::Erase( the_stream ); } } else { Result = MMSYSERR_NOERROR; } } } break; case PERSONAL_FORMAT: my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream for PERSONAL source (%05d samples %d channels %d bits/sample %d kbps)",a_StreamInstance->pwfxSrc->nSamplesPerSec,a_StreamInstance->pwfxSrc->nChannels,a_StreamInstance->pwfxSrc->wBitsPerSample,8 * a_StreamInstance->pwfxSrc->nAvgBytesPerSec); if (a_StreamInstance->pwfxDst->wFormatTag == WAVE_FORMAT_PCM) { #ifdef ENABLE_DECODING if ((a_StreamInstance->fdwOpen & ACM_STREAMOPENF_QUERY) == 0) { /// \todo create the decoding stream my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream for PCM output (%05d samples %d channels %d bits/sample %d B/s)",a_StreamInstance->pwfxDst->nSamplesPerSec,a_StreamInstance->pwfxDst->nChannels,a_StreamInstance->pwfxDst->wBitsPerSample,a_StreamInstance->pwfxDst->nAvgBytesPerSec); DecodeStream * the_stream = DecodeStream::Create(); a_StreamInstance->dwInstance = (DWORD) the_stream; if (the_stream != NULL) { if (the_stream->init(a_StreamInstance->pwfxDst->nSamplesPerSec, a_StreamInstance->pwfxDst->nChannels, a_StreamInstance->pwfxDst->nAvgBytesPerSec, a_StreamInstance->pwfxSrc->nAvgBytesPerSec)) Result = MMSYSERR_NOERROR; else DecodeStream::Erase( the_stream ); } } else { /// \todo decoding verification my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream is valid"); Result = MMSYSERR_NOERROR; } #endif // ENABLE_DECODING } break; } my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream Result = %d",Result); return Result; } inline DWORD ACM::OnStreamSize(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMSIZE the_StreamSize) { DWORD Result = ACMERR_NOTPOSSIBLE; switch (ACM_STREAMSIZEF_QUERYMASK & the_StreamSize->fdwSize) { case ACM_STREAMSIZEF_DESTINATION: my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Get source buffer size for destination size = %d",the_StreamSize->cbDstLength); break; case ACM_STREAMSIZEF_SOURCE: my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Get destination buffer size for source size = %d",the_StreamSize->cbSrcLength); if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag && PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag) { ACMStream * the_stream = (ACMStream *) a_StreamInstance->dwInstance; if (the_stream != NULL) { the_StreamSize->cbDstLength = the_stream->GetOutputSizeForInput(the_StreamSize->cbSrcLength); Result = MMSYSERR_NOERROR; } } else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag && WAVE_FORMAT_PCM== a_StreamInstance->pwfxDst->wFormatTag) { #ifdef ENABLE_DECODING DecodeStream * the_stream = (DecodeStream *) a_StreamInstance->dwInstance; if (the_stream != NULL) { the_StreamSize->cbDstLength = the_stream->GetOutputSizeForInput(the_StreamSize->cbSrcLength); Result = MMSYSERR_NOERROR; } #endif // ENABLE_DECODING } break; default: Result = MMSYSERR_INVALFLAG; break; } return Result; } inline DWORD ACM::OnStreamClose(LPACMDRVSTREAMINSTANCE a_StreamInstance) { DWORD Result = ACMERR_NOTPOSSIBLE; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnStreamClose the stream 0x%X",a_StreamInstance->dwInstance); if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag && PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag) { ACMStream::Erase( (ACMStream *) a_StreamInstance->dwInstance ); } else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag && WAVE_FORMAT_PCM== a_StreamInstance->pwfxDst->wFormatTag) { #ifdef ENABLE_DECODING DecodeStream::Erase( (DecodeStream *) a_StreamInstance->dwInstance ); #endif // ENABLE_DECODING } // nothing to do yet Result = MMSYSERR_NOERROR; return Result; } inline DWORD ACM::OnStreamPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader) { DWORD Result = ACMERR_NOTPOSSIBLE; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, " prepare : Src : %d (0x%08X) / %d - Dst : %d (0x%08X) / %d" , a_StreamHeader->cbSrcLength , a_StreamHeader->pbSrc , a_StreamHeader->cbSrcLengthUsed , a_StreamHeader->cbDstLength , a_StreamHeader->pbDst , a_StreamHeader->cbDstLengthUsed ); if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag && PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag) { ACMStream * the_stream = (ACMStream *)a_StreamInstance->dwInstance; if (the_stream->open(my_EncodingProperties)) Result = MMSYSERR_NOERROR; } else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag && WAVE_FORMAT_PCM == a_StreamInstance->pwfxDst->wFormatTag) { #ifdef ENABLE_DECODING DecodeStream * the_stream = (DecodeStream *)a_StreamInstance->dwInstance; if (the_stream->open()) Result = MMSYSERR_NOERROR; #endif // ENABLE_DECODING } return Result; } inline DWORD ACM::OnStreamUnPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader) { DWORD Result = ACMERR_NOTPOSSIBLE; my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "unprepare : Src : %d / %d - Dst : %d / %d" , a_StreamHeader->cbSrcLength , a_StreamHeader->cbSrcLengthUsed , a_StreamHeader->cbDstLength , a_StreamHeader->cbDstLengthUsed ); if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag && PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag) { ACMStream * the_stream = (ACMStream *)a_StreamInstance->dwInstance; DWORD OutputSize = a_StreamHeader->cbDstLength; if (the_stream->close(a_StreamHeader->pbDst, &OutputSize) && (OutputSize <= a_StreamHeader->cbDstLength)) { a_StreamHeader->cbDstLengthUsed = OutputSize; Result = MMSYSERR_NOERROR; } } else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag && WAVE_FORMAT_PCM== a_StreamInstance->pwfxDst->wFormatTag) { #ifdef ENABLE_DECODING DecodeStream * the_stream = (DecodeStream *)a_StreamInstance->dwInstance; DWORD OutputSize = a_StreamHeader->cbDstLength; if (the_stream->close(a_StreamHeader->pbDst, &OutputSize) && (OutputSize <= a_StreamHeader->cbDstLength)) { a_StreamHeader->cbDstLengthUsed = OutputSize; Result = MMSYSERR_NOERROR; } #endif // ENABLE_DECODING } return Result; } inline DWORD ACM::OnStreamConvert(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMHEADER a_StreamHeader) { DWORD Result = ACMERR_NOTPOSSIBLE; if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag && PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag) { my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnStreamConvert SRC = PCM (encode)"); ACMStream * the_stream = (ACMStream *) a_StreamInstance->dwInstance; if (the_stream != NULL) { if (the_stream->ConvertBuffer( a_StreamHeader )) Result = MMSYSERR_NOERROR; } } else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag && WAVE_FORMAT_PCM == a_StreamInstance->pwfxDst->wFormatTag) { my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnStreamConvert SRC = MP3 (decode)"); #ifdef ENABLE_DECODING DecodeStream * the_stream = (DecodeStream *) a_StreamInstance->dwInstance; if (the_stream != NULL) { if (the_stream->ConvertBuffer( a_StreamHeader )) Result = MMSYSERR_NOERROR; } #endif // ENABLE_DECODING } else my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnStreamConvert unsupported conversion"); return Result; } void ACM::GetMP3FormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const { int Block_size; char temp[ACMFORMATDETAILS_FORMAT_CHARS]; if (the_Index < bitrate_table.size()) { // the_Format.wBitsPerSample = 16; the_Format.wBitsPerSample = 0; /// \todo handle more channel modes (mono, stereo, joint-stereo, dual-channel) // the_Format.nChannels = SIZE_CHANNEL_MODE - int(the_Index % SIZE_CHANNEL_MODE); the_Format.nBlockAlign = 1; the_Format.nSamplesPerSec = bitrate_table[the_Index].frequency; the_Format.nAvgBytesPerSec = bitrate_table[the_Index].bitrate * 1000 / 8; if (bitrate_table[the_Index].frequency >= mpeg1_freq[SIZE_FREQ_MPEG1-1]) Block_size = 1152; else Block_size = 576; the_Format.nChannels = bitrate_table[the_Index].channels; the_Format.cbSize = sizeof(MPEGLAYER3WAVEFORMAT) - sizeof(WAVEFORMATEX); MPEGLAYER3WAVEFORMAT * tmpFormat = (MPEGLAYER3WAVEFORMAT *) &the_Format; tmpFormat->wID = 1; // this is the only way I found to know if we do CBR or ABR tmpFormat->fdwFlags = 2 + ((bitrate_table[the_Index].mode == vbr_abr)?0:2); tmpFormat->nBlockSize = Block_size * the_Format.nAvgBytesPerSec / the_Format.nSamplesPerSec; tmpFormat->nFramesPerBlock = 1; tmpFormat->nCodecDelay = 0; // 0x0571 on FHG /// \todo : generate the string with the appropriate stereo mode if (bitrate_table[the_Index].mode == vbr_abr) wsprintfA( temp, "%d Hz, %d kbps ABR, %s", the_Format.nSamplesPerSec, the_Format.nAvgBytesPerSec * 8 / 1000, (the_Format.nChannels == 1)?"Mono":"Stereo"); else wsprintfA( temp, "%d Hz, %d kbps CBR, %s", the_Format.nSamplesPerSec, the_Format.nAvgBytesPerSec * 8 / 1000, (the_Format.nChannels == 1)?"Mono":"Stereo"); MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, temp, -1, the_String, ACMFORMATDETAILS_FORMAT_CHARS); } } void ACM::GetPCMFormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const { the_Format.nChannels = SIZE_CHANNEL_MODE - int(the_Index % SIZE_CHANNEL_MODE); the_Format.wBitsPerSample = 16; the_Format.nBlockAlign = the_Format.nChannels * the_Format.wBitsPerSample / 8; DWORD a_Channel_Independent = the_Index / SIZE_CHANNEL_MODE; // first MPEG1 frequencies if (a_Channel_Independent < SIZE_FREQ_MPEG1) { the_Format.nSamplesPerSec = mpeg1_freq[a_Channel_Independent]; } else { a_Channel_Independent -= SIZE_FREQ_MPEG1; the_Format.nSamplesPerSec = mpeg2_freq[a_Channel_Independent]; } the_Format.nAvgBytesPerSec = the_Format.nSamplesPerSec * the_Format.nChannels * the_Format.wBitsPerSample / 8; } DWORD ACM::GetNumberEncodingFormats() const { return bitrate_table.size(); } bool ACM::IsSmartOutput(const int frequency, const int bitrate, const int channels) const { double compression_ratio = double(frequency * 2 * channels) / double(bitrate * 100); //my_debug.OutPut(DEBUG_LEVEL_FUNC_DEBUG, "compression_ratio %f, freq %d, bitrate %d, channels %d", compression_ratio, frequency, bitrate, channels); if(my_EncodingProperties.GetSmartOutputMode()) return (compression_ratio <= my_EncodingProperties.GetSmartRatio()); else return true; } void ACM::BuildBitrateTable() { my_debug.OutPut("entering BuildBitrateTable"); // fill the table unsigned int channel,bitrate,freq; bitrate_table.clear(); // CBR bitrates for (channel = 0;channel < SIZE_CHANNEL_MODE;channel++) { // MPEG I for (freq = 0;freq < SIZE_FREQ_MPEG1;freq++) { for (bitrate = 0;bitrate < SIZE_BITRATE_MPEG1;bitrate++) { if (!my_EncodingProperties.GetSmartOutputMode() || IsSmartOutput(mpeg1_freq[freq], mpeg1_bitrate[bitrate], channel+1)) { bitrate_item * bitrate_table_tmp = new bitrate_item; if (bitrate_table_tmp == NULL) return; bitrate_table_tmp->frequency = mpeg1_freq[freq]; bitrate_table_tmp->bitrate = mpeg1_bitrate[bitrate]; bitrate_table_tmp->channels = channel+1; bitrate_table_tmp->mode = vbr_off; bitrate_table.push_back(*bitrate_table_tmp); } } } // MPEG II / II.5 for (freq = 0;freq < SIZE_FREQ_MPEG2;freq++) { for (bitrate = 0;bitrate < SIZE_BITRATE_MPEG2;bitrate++) { if (!my_EncodingProperties.GetSmartOutputMode() || IsSmartOutput(mpeg2_freq[freq], mpeg2_bitrate[bitrate], channel+1)) { bitrate_item * bitrate_table_tmp = new bitrate_item; if (bitrate_table_tmp == NULL) return; bitrate_table_tmp->frequency = mpeg2_freq[freq]; bitrate_table_tmp->bitrate = mpeg2_bitrate[bitrate]; bitrate_table_tmp->channels = channel+1; bitrate_table_tmp->mode = vbr_abr; bitrate_table.push_back(*bitrate_table_tmp); } } } } if (my_EncodingProperties.GetAbrOutputMode()) // ABR bitrates { for (channel = 0;channel < SIZE_CHANNEL_MODE;channel++) { // MPEG I for (freq = 0;freq < SIZE_FREQ_MPEG1;freq++) { for (bitrate = my_EncodingProperties.GetAbrBitrateMax(); bitrate >= my_EncodingProperties.GetAbrBitrateMin(); bitrate -= my_EncodingProperties.GetAbrBitrateStep()) { if (bitrate >= mpeg1_bitrate[SIZE_BITRATE_MPEG1-1] && (!my_EncodingProperties.GetSmartOutputMode() || IsSmartOutput(mpeg1_freq[freq], bitrate, channel+1))) { bitrate_item * bitrate_table_tmp = new bitrate_item; if (bitrate_table_tmp == NULL) return; bitrate_table_tmp->frequency = mpeg1_freq[freq]; bitrate_table_tmp->bitrate = bitrate; bitrate_table_tmp->channels = channel+1; bitrate_table_tmp->mode = vbr_abr; bitrate_table.push_back(*bitrate_table_tmp); } } } // MPEG II / II.5 for (freq = 0;freq < SIZE_FREQ_MPEG2;freq++) { for (bitrate = my_EncodingProperties.GetAbrBitrateMax(); bitrate >= my_EncodingProperties.GetAbrBitrateMin(); bitrate -= my_EncodingProperties.GetAbrBitrateStep()) { if (bitrate >= mpeg2_bitrate[SIZE_BITRATE_MPEG2-1] && (!my_EncodingProperties.GetSmartOutputMode() || IsSmartOutput(mpeg2_freq[freq], bitrate, channel+1))) { bitrate_item * bitrate_table_tmp = new bitrate_item; if (bitrate_table_tmp == NULL) return; bitrate_table_tmp->frequency = mpeg2_freq[freq]; bitrate_table_tmp->bitrate = bitrate; bitrate_table_tmp->channels = channel+1; bitrate_table_tmp->mode = vbr_abr; bitrate_table.push_back(*bitrate_table_tmp); } } } } } // sorting by frequency/bitrate/channel std::sort(bitrate_table.begin(), bitrate_table.end()); /* { // display test int i=0; for (i=0; i * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: ACM.h,v 1.7 2002/04/06 14:01:33 robux4 Exp $ */ #if !defined(_ACM_H__INCLUDED_) #define _ACM_H__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include #include #include #include #include #include #include "lame.h" #include "ADbg/ADbg.h" class AEncodeProperties; class bitrate_item { public: unsigned int frequency; unsigned int bitrate; unsigned int channels; vbr_mode mode; bool operator<(const bitrate_item & bitrate) const; }; class ACM { public: ACM( HMODULE hModule ); virtual ~ACM(); LONG DriverProcedure(const HDRVR hdrvr, const UINT msg, LONG lParam1, LONG lParam2); static const char * GetVersionString(void) {return VersionString;} protected: // inline DWORD Configure( HWND hParentWindow, LPDRVCONFIGINFO pConfig ); inline DWORD About( HWND hParentWindow ); inline DWORD OnDriverDetails(const HDRVR hdrvr, LPACMDRIVERDETAILS a_DriverDetail); inline DWORD OnFormatTagDetails(LPACMFORMATTAGDETAILS a_FormatTagDetails, const LPARAM a_Query); inline DWORD OnFormatDetails(LPACMFORMATDETAILS a_FormatDetails, const LPARAM a_Query); inline DWORD OnFormatSuggest(LPACMDRVFORMATSUGGEST a_FormatSuggest); inline DWORD OnStreamOpen(LPACMDRVSTREAMINSTANCE a_StreamInstance); inline DWORD OnStreamClose(LPACMDRVSTREAMINSTANCE a_StreamInstance); inline DWORD OnStreamSize(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMSIZE the_StreamSize); inline DWORD OnStreamPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader); inline DWORD OnStreamUnPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader); inline DWORD OnStreamConvert(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMHEADER a_StreamHeader); void GetMP3FormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const; void GetPCMFormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const; DWORD GetNumberEncodingFormats() const; bool IsSmartOutput(const int frequency, const int bitrate, const int channels) const; void BuildBitrateTable(); HMODULE my_hModule; HICON my_hIcon; ADbg my_debug; AEncodeProperties my_EncodingProperties; std::vector bitrate_table; static char VersionString[20]; }; #endif // !defined(_ACM_H__INCLUDED_) 07070100069bf1000081a40000000200000002000000014100328d00002f6f000000200000000800000000000000000000001800000000reloc/ACM/ACMStream.cpp/** * * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows * * Copyright (c) 2002 Steve Lhomme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: ACMStream.cpp,v 1.9.2.1 2004/07/21 18:52:08 bouvigne Exp $ */ #if !defined(STRICT) #define STRICT #endif // STRICT #include #include #include "adebug.h" #include "ACMStream.h" // static methods ACMStream * ACMStream::Create() { ACMStream * Result; Result = new ACMStream; return Result; } const bool ACMStream::Erase(const ACMStream * a_ACMStream) { delete a_ACMStream; return true; } // class methods ACMStream::ACMStream() : m_WorkingBufferUseSize(0), gfp(NULL) { /// \todo get the debug level from the registry my_debug = new ADbg(DEBUG_LEVEL_CREATION); if (my_debug != NULL) { unsigned char DebugFileName[512]; my_debug->setPrefix("LAMEstream"); /// \todo get it from the registry my_debug->setIncludeTime(true); /// \todo get it from the registry // Check in the registry if we have to Output Debug information DebugFileName[0] = '\0'; HKEY OssKey; if (RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI", 0, KEY_READ , &OssKey ) == ERROR_SUCCESS) { DWORD DataType; DWORD DebugFileNameSize = 512; if (RegQueryValueEx( OssKey, "DebugFile", NULL, &DataType, DebugFileName, &DebugFileNameSize ) == ERROR_SUCCESS) { if (DataType == REG_SZ) { my_debug->setUseFile(true); my_debug->setDebugFile((char *)DebugFileName); my_debug->OutPut("Debug file is %s",(char *)DebugFileName); } } } my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "ACMStream Creation (0X%08X)",this); } else { ADbg debug; debug.OutPut("ACMStream::ACMACMStream : Impossible to create my_debug"); } } ACMStream::~ACMStream() { // release memory - encoding is finished if (gfp) lame_close( gfp ); if (my_debug != NULL) { my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "ACMStream Deletion (0X%08X)",this); delete my_debug; } } bool ACMStream::init(const int nSamplesPerSec, const int nOutputSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const vbr_mode mode) { bool bResult = false; my_SamplesPerSec = nSamplesPerSec; my_OutBytesPerSec = nOutputSamplesPerSec; my_Channels = nChannels; my_AvgBytesPerSec = nAvgBytesPerSec; my_VBRMode = mode; bResult = true; return bResult; } bool ACMStream::open(const AEncodeProperties & the_Properties) { bool bResult = false; // Init the MP3 Stream // Init the global flags structure gfp = lame_init(); // Set input sample frequency lame_set_in_samplerate( gfp, my_SamplesPerSec ); // Set output sample frequency lame_set_out_samplerate( gfp, my_OutBytesPerSec ); lame_set_num_channels( gfp, my_Channels ); if (my_Channels == 1) lame_set_mode( gfp, MONO ); else lame_set_mode( gfp, (MPEG_mode_e)the_Properties.GetChannelModeValue()) ; /// \todo Get the mode from the default configuration // lame_set_VBR( gfp, vbr_off ); /// \note VBR not supported for the moment lame_set_VBR( gfp, my_VBRMode ); /// \note VBR not supported for the moment if (my_VBRMode == vbr_abr) { lame_set_VBR_q( gfp, 1 ); lame_set_VBR_mean_bitrate_kbps( gfp, (my_AvgBytesPerSec * 8 + 500) / 1000 ); if (24000 > lame_get_in_samplerate( gfp )) { // For MPEG-II lame_set_VBR_min_bitrate_kbps( gfp, 8); lame_set_VBR_max_bitrate_kbps( gfp, 160); } else { // For MPEG-I lame_set_VBR_min_bitrate_kbps( gfp, 32); lame_set_VBR_max_bitrate_kbps( gfp, 320); } } // Set bitrate lame_set_brate( gfp, my_AvgBytesPerSec * 8 / 1000 ); /// \todo Get the mode from the default configuration // Set copyright flag? lame_set_copyright( gfp, the_Properties.GetCopyrightMode()?1:0 ); // Do we have to tag it as non original lame_set_original( gfp, the_Properties.GetOriginalMode()?1:0 ); // Add CRC? lame_set_error_protection( gfp, the_Properties.GetCRCMode()?1:0 ); // Set private bit? lame_set_extension( gfp, the_Properties.GetPrivateMode()?1:0 ); // INFO tag support not possible in ACM - it requires rewinding // output stream to the beginning after encoding is finished. lame_set_bWriteVbrTag( gfp, 0 ); if (0 == lame_init_params( gfp )) { //LAME encoding call will accept any number of samples. if ( 0 == lame_get_version( gfp ) ) { // For MPEG-II, only 576 samples per frame per channel my_SamplesPerBlock = 576 * lame_get_num_channels( gfp ); } else { // For MPEG-I, 1152 samples per frame per channel my_SamplesPerBlock = 1152 * lame_get_num_channels( gfp ); } } my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "version =%d",lame_get_version( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Layer =3"); switch ( lame_get_mode( gfp ) ) { case STEREO: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Stereo" ); break; case JOINT_STEREO: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Joint-Stereo" ); break; case DUAL_CHANNEL: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Forced Stereo" ); break; case MONO: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Mono" ); break; case NOT_SET: /* FALLTROUGH */ default: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Error (unknown)" ); break; } my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "sampling frequency =%.1f kHz", lame_get_in_samplerate( gfp ) /1000.0 ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "bitrate =%d kbps", lame_get_brate( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Vbr Min bitrate =%d kbps", lame_get_VBR_min_bitrate_kbps( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Vbr Max bitrate =%d kbps", lame_get_VBR_max_bitrate_kbps( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Quality Setting =%d", lame_get_quality( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Low pass frequency =%d", lame_get_lowpassfreq( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Low pass width =%d", lame_get_lowpasswidth( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "High pass frequency =%d", lame_get_highpassfreq( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "High pass width =%d", lame_get_highpasswidth( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "No Short Blocks =%d", lame_get_no_short_blocks( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "de-emphasis =%d", lame_get_emphasis( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "private flag =%d", lame_get_extension( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "copyright flag =%d", lame_get_copyright( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "original flag =%d", lame_get_original( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "CRC =%s", lame_get_error_protection( gfp ) ? "on" : "off" ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Fast mode =%s", ( lame_get_quality( gfp ) )? "enabled" : "disabled" ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Force mid/side stereo =%s", ( lame_get_force_ms( gfp ) )?"enabled":"disabled" ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Padding Type =%d", lame_get_padding_type( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Disable Resorvoir =%d", lame_get_disable_reservoir( gfp ) ); my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "VBR =%s, VBR_q =%d, VBR method =", ( lame_get_VBR( gfp ) !=vbr_off ) ? "enabled": "disabled", lame_get_VBR_q( gfp ) ); switch ( lame_get_VBR( gfp ) ) { case vbr_off: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_off" ); break; case vbr_mt : my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_mt" ); break; case vbr_rh : my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_rh" ); break; case vbr_mtrh: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_mtrh" ); break; case vbr_abr: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_abr (average bitrate %d kbps)", lame_get_VBR_mean_bitrate_kbps( gfp ) ); break; default: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "error, unknown VBR setting"); break; } my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Write VBR Header =%s\n", ( lame_get_bWriteVbrTag( gfp ) ) ?"Yes":"No"); #ifdef FROM_DLL beConfig.format.LHV1.dwReSampleRate = my_OutBytesPerSec; // force the user resampling #endif // FROM_DLL bResult = true; return bResult; } bool ACMStream::close(LPBYTE pOutputBuffer, DWORD *pOutputSize) { bool bResult = false; int nOutputSamples = 0; nOutputSamples = lame_encode_flush( gfp, pOutputBuffer, 0 ); if ( nOutputSamples < 0 ) { // BUFFER_TOO_SMALL *pOutputSize = 0; } else { *pOutputSize = nOutputSamples; bResult = true; } // lame will be closed in destructor //lame_close( gfp ); return bResult; } DWORD ACMStream::GetOutputSizeForInput(const DWORD the_SrcLength) const { /* double OutputInputRatio; if (my_VBRMode == vbr_off) OutputInputRatio = double(my_AvgBytesPerSec) / double(my_OutBytesPerSec * 2); else // reserve the space for 320 kbps OutputInputRatio = 40000.0 / double(my_OutBytesPerSec * 2); OutputInputRatio *= 1.15; // allow 15% more*/ DWORD Result; // Result = DWORD(double(the_SrcLength) * OutputInputRatio); Result = DWORD(1.25*the_SrcLength + 7200); my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "Result = %d",Result); return Result; } bool ACMStream::ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader) { bool result; if (my_debug != NULL) { my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "enter ACMStream::ConvertBuffer"); } DWORD InSize = a_StreamHeader->cbSrcLength / 2, OutSize = a_StreamHeader->cbDstLength; // 2 for 8<->16 bits // Encode it int dwSamples; int nOutputSamples = 0; dwSamples = InSize / lame_get_num_channels( gfp ); if ( 1 == lame_get_num_channels( gfp ) ) { nOutputSamples = lame_encode_buffer(gfp,(PSHORT)a_StreamHeader->pbSrc,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength); } else { nOutputSamples = lame_encode_buffer_interleaved(gfp,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength); } a_StreamHeader->cbSrcLengthUsed = a_StreamHeader->cbSrcLength; a_StreamHeader->cbDstLengthUsed = nOutputSamples; result = a_StreamHeader->cbDstLengthUsed <= a_StreamHeader->cbDstLength; my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "UsedSize = %d / EncodedSize = %d, result = %d (%d <= %d)", InSize, OutSize, result, a_StreamHeader->cbDstLengthUsed, a_StreamHeader->cbDstLength); if (my_debug != NULL) { my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "ACMStream::ConvertBuffer result = %d (0x%02X 0x%02X)",result,a_StreamHeader->pbDst[0],a_StreamHeader->pbDst[1]); } return result; } unsigned int ACMStream::GetOutputSampleRate(int samples_per_sec, int bitrate, int channels) { if (bitrate==0) bitrate = (64000*channels)/8; /// \todo pass through the same LAME routine unsigned int OutputFrequency; double compression_ratio = double(samples_per_sec * 16 * channels / (bitrate * 8)); if (compression_ratio > 13.) OutputFrequency = map2MP3Frequency( (10. * bitrate * 8) / (16 * channels)); else OutputFrequency = map2MP3Frequency( 0.97 * samples_per_sec ); return OutputFrequency; } 07070100069bf2000081a40000000200000002000000013caeffbd00000932000000200000000800000000000000000000001600000000reloc/ACM/ACMStream.h/** * * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows * * Copyright (c) 2002 Steve Lhomme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: ACMStream.h,v 1.4 2002/04/06 14:01:33 robux4 Exp $ */ #if !defined(_ACMSTREAM_H__INCLUDED_) #define _ACMSTREAM_H__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include #include #include #include "ADbg/ADbg.h" #include #include "util.h" #include "AEncodeProperties.h" class ACMStream { public: ACMStream( ); virtual ~ACMStream( ); static ACMStream * Create(); static const bool Erase(const ACMStream * a_ACMStream); bool init(const int nSamplesPerSec, const int nOutputSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const vbr_mode mode); bool open(const AEncodeProperties & the_Properties); bool close(LPBYTE pOutputBuffer, DWORD *pOutputSize); DWORD GetOutputSizeForInput(const DWORD the_SrcLength) const; bool ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader); static unsigned int GetOutputSampleRate(int samples_per_sec, int bitrate, int channels); protected: lame_global_flags * gfp; ADbg * my_debug; int my_SamplesPerSec; int my_Channels; int my_AvgBytesPerSec; int my_OutBytesPerSec; vbr_mode my_VBRMode; DWORD my_SamplesPerBlock; unsigned int m_WorkingBufferUseSize; char m_WorkingBuffer[2304*2]; // should be at least twice my_SamplesPerBlock inline int GetBytesPerBlock(DWORD bytes_per_sec, DWORD samples_per_sec, int BlockAlign) const; }; #endif // !defined(_ACMSTREAM_H__INCLUDED_) 07070100069bf3000041ed000000000000000000000002433eef9500000000000000200000000800000000000000000000000f00000000reloc/ACM/ADbg07070100069bf4000081a40000000200000002000000013c519a2800001173000000200000000800000000000000000000001800000000reloc/ACM/ADbg/ADbg.cpp/************************************************************************ Project : C++ debugging class File version : 0.4 BSD License post 1999 : Copyright (c) 2001, Steve Lhomme All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ************************************************************************/ #include #include #include #include "ADbg.h" #if !defined(NDEBUG) ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// ADbg::ADbg(int level) :my_level(level) ,my_time_included(false) ,my_use_file(false) ,my_debug_output(true) ,hFile(NULL) { prefix[0] = '\0'; OutPut(-1,"ADbg Creation at debug level = %d (0x%08X)",my_level,this); } ADbg::~ADbg() { unsetDebugFile(); OutPut(-1,"ADbg Deletion (0x%08X)",this); } inline int ADbg::_OutPut(const char * format,va_list params) const { int result; char tst[1000]; char myformat[256]; if (my_time_included) { SYSTEMTIME time; GetSystemTime(&time); if (prefix[0] == '\0') wsprintf(myformat,"%04d/%02d/%02d %02d:%02d:%02d.%03d UTC : %s\r\n", time.wYear, time.wMonth, time.wDay, time.wHour, time.wMinute, time.wSecond, time.wMilliseconds, format); else wsprintf(myformat,"%04d/%02d/%02d %02d:%02d:%02d.%03d UTC : %s - %s\r\n", time.wYear, time.wMonth, time.wDay, time.wHour, time.wMinute, time.wSecond, time.wMilliseconds, prefix, format); } else { if (prefix[0] == '\0') wsprintf( myformat, "%s\r\n", format); else wsprintf( myformat, "%s - %s\r\n", prefix, format); } result = vsprintf(tst,myformat,params); if (my_debug_output) OutputDebugString(tst); if (my_use_file && (hFile != NULL)) { SetFilePointer( hFile, 0, 0, FILE_END ); DWORD written; WriteFile( hFile, tst, lstrlen(tst), &written, NULL ); } return result; } int ADbg::OutPut(int forLevel, const char * format,...) const { int result=0; if (forLevel >= my_level) { va_list tstlist; int result; va_start(tstlist, format); result = _OutPut(format,tstlist); } return result; } int ADbg::OutPut(const char * format,...) const { va_list tstlist; va_start(tstlist, format); return _OutPut(format,tstlist); } bool ADbg::setDebugFile(const char * NewFilename) { bool result; result = unsetDebugFile(); if (result) { result = false; hFile = CreateFile(NewFilename, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if (hFile != INVALID_HANDLE_VALUE) { SetFilePointer( hFile, 0, 0, FILE_END ); result = true; OutPut(-1,"Debug file Opening succeeded"); } else OutPut(-1,"Debug file %s Opening failed",NewFilename); } return result; } bool ADbg::unsetDebugFile() { bool result = (hFile == NULL); if (hFile != NULL) { result = (CloseHandle(hFile) != 0); if (result) { OutPut(-1,"Debug file Closing succeeded"); hFile = NULL; } } return result; } #endif // !defined(NDEBUG) 07070100069bf6000081a40000000200000002000000013c4f1fcf00000a9b000000200000000800000000000000000000001800000000reloc/ACM/ADbg/ADbg.dsp# Microsoft Developer Studio Project File - Name="ADbg" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Static Library" 0x0104 CFG=ADbg - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "ADbg.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "ADbg.mak" CFG="ADbg - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "ADbg - Win32 Release" (based on "Win32 (x86) Static Library") !MESSAGE "ADbg - Win32 Debug" (based on "Win32 (x86) Static Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "ADbg - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD BASE RSC /l 0x40c # ADD RSC /l 0x40c BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo !ELSEIF "$(CFG)" == "ADbg - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c # ADD BASE RSC /l 0x40c # ADD RSC /l 0x40c BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo !ENDIF # Begin Target # Name "ADbg - Win32 Release" # Name "ADbg - Win32 Debug" # Begin Group "Sources" # PROP Default_Filter "cpp" # Begin Source File SOURCE=.\ADbg.cpp # End Source File # End Group # Begin Group "Headers" # PROP Default_Filter "h" # Begin Source File SOURCE=.\ADbg.h # End Source File # End Group # End Target # End Project 07070100069bf7000081a40000000200000002000000013c519a2800000d92000000200000000800000000000000000000001600000000reloc/ACM/ADbg/ADbg.h/************************************************************************ Project : C++ debugging class File version : 0.4 BSD License post 1999 : Copyright (c) 2001, Steve Lhomme All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ************************************************************************/ #if !defined(_DBG_H__INCLUDED_) #define _DBG_H__INCLUDED_ #include static const int MAX_PREFIX_LENGTH = 128; #if !defined(NDEBUG) // define the working debugging class class ADbg { public: ADbg(int level = 0); virtual ~ADbg(); /// \todo make an inline function to test the level first and the process int OutPut(int level, const char * format,...) const; int OutPut(const char * format,...) const; inline int setLevel(const int level) { return my_level = level; } inline bool setIncludeTime(const bool included = true) { return my_time_included = included; } bool setDebugFile(const char * NewFilename); bool unsetDebugFile(); inline bool setUseFile(const bool usefile = true) { return my_use_file = usefile; } inline const char * setPrefix(const char * string) { return strncpy(prefix, string, MAX_PREFIX_LENGTH); } private: int my_level; bool my_time_included; bool my_use_file; bool my_debug_output; int _OutPut(const char * format,va_list params) const; char prefix[MAX_PREFIX_LENGTH]; HANDLE hFile; }; #else // !defined(NDEBUG) // define a class that does nothing (no output) class ADbg { public: ADbg(int level = 0){} virtual ~ADbg() {} inline int OutPut(int level, const char * format,...) const { return 0; } inline int OutPut(const char * format,...) const { return 0; } inline int setLevel(const int level) { return level; } inline bool setIncludeTime(const bool included = true) { return true; } inline bool setDebugFile(const char * NewFilename) { return true; } inline bool unsetDebugFile() { return true; } inline bool setUseFile(const bool usefile = true) { return true; } inline const char * setPrefix(const char * string) { return string; } }; #endif // !defined(NDEBUG) #endif // !defined(_DBG_H__INCLUDED_) 07070100069c08000081a40000000200000002000000014325fa9300002055000000200000000800000000000000000000001800000000reloc/ACM/ADbg/Makefile# Makefile.in generated by automake 1.7.5 from Makefile.am. # ACM/ADbg/Makefile. Generated from Makefile.in by configure. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # global section for every Makefile.am srcdir = . top_srcdir = ../.. pkgdatadir = $(datadir)/lame pkglibdir = $(libdir)/lame pkgincludedir = $(includedir)/lame top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = /opt/sfw/bin/ginstall -c install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = sparc-sun-solaris2.11 ACLOCAL = ${SHELL} /home/shake/lame-3.96.1/missing --run aclocal-1.7 ALLOCA = AMDEP_FALSE = # AMDEP_TRUE = AMTAR = ${SHELL} /home/shake/lame-3.96.1/missing --run tar AR = ar AUTOCONF = ${SHELL} /home/shake/lame-3.96.1/missing --run autoconf AUTOHEADER = ${SHELL} /home/shake/lame-3.96.1/missing --run autoheader AUTOMAKE = ${SHELL} /home/shake/lame-3.96.1/missing --run automake-1.7 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O3 -ffast-math -funroll-loops -mcpu=ultrasparc -mtune=ultrasparc -Wall CONFIG_DEFS = CPP = gcc -E CPPFLAGS = CPUTYPE = no CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -g -O2 CYGPATH_W = echo DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO = echo ECHO_C = ECHO_N = -n ECHO_T = EGREP = egrep EXEEXT = F77 = g77 FFLAGS = -g -O2 FRONTEND_CFLAGS = FRONTEND_LDADD = -lncurses -lm FRONTEND_LDFLAGS = GTK_CFLAGS = -I/opt/csw/include/gtk-1.2 -I/opt/csw/include/glib-1.2 -I/opt/csw/lib/glib/include GTK_CONFIG = /opt/csw/bin/gtk-config GTK_LIBS = -L/opt/csw/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lsocket -lnsl -lm HAVE_NASM_FALSE = HAVE_NASM_TRUE = # INCLUDES = -I$(top_srcdir)/include -I$(srcdir) INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s LDADD = LDFLAGS = LIBOBJS = LIBS = -lsocket -lnsl LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL_DEPS = ./ltmain.sh LIB_MAJOR_VERSION = 0 LIB_MINOR_VERSION = 0 LIB_WITH_DECODER_FALSE = # LIB_WITH_DECODER_TRUE = LN_S = ln -s LTLIBOBJS = MAINT = # MAINTAINER_MODE_FALSE = MAINTAINER_MODE_TRUE = # MAKEDEP = -M MAKEINFO = ${SHELL} /home/shake/lame-3.96.1/missing --run makeinfo NASM = no NASM_FORMAT = -f elf OBJEXT = o PACKAGE = lame PACKAGE_BUGREPORT = PACKAGE_NAME = PACKAGE_STRING = PACKAGE_TARNAME = PACKAGE_VERSION = PATH_SEPARATOR = : RANLIB = ranlib RM_F = rm -f SET_MAKE = SHELL = /bin/bash STRIP = strip U = VERSION = 3.96.1 WITH_BRHIST_FALSE = # WITH_BRHIST_TRUE = WITH_FRONTEND = lame WITH_MP3RTP = WITH_MP3X = ac_ct_AR = ar ac_ct_CC = gcc ac_ct_CXX = g++ ac_ct_F77 = g77 ac_ct_RANLIB = ranlib ac_ct_STRIP = strip am__fastdepCC_FALSE = # am__fastdepCC_TRUE = am__fastdepCXX_FALSE = # am__fastdepCXX_TRUE = am__include = include am__leading_dot = . am__quote = bindir = ${exec_prefix}/bin build = sparc-sun-solaris2.11 build_alias = build_cpu = sparc build_os = solaris2.11 build_vendor = sun datadir = ${prefix}/share exec_prefix = ${prefix} host = sparc-sun-solaris2.11 host_alias = host_cpu = sparc host_os = solaris2.11 host_vendor = sun includedir = ${prefix}/include infodir = ${prefix}/info install_sh = /home/shake/lame-3.96.1/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localstatedir = ${prefix}/var mandir = ${prefix}/man oldincludedir = /usr/include prefix = /usr/local program_transform_name = s,x,x, sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com sysconfdir = ${prefix}/etc target_alias = AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr EXTRA_DIST = \ ADbg.cpp \ ADbg.dsp \ ADbg.h subdir = ACM/ADbg ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = DIST_COMMON = $(top_srcdir)/Makefile.am.global Makefile.am Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign ACM/ADbg/Makefile Makefile: # $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: tags: TAGS TAGS: ctags: CTAGS CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/../.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c09000081a40000000200000002000000013c4adb2d0000009a000000200000000800000000000000000000001b00000000reloc/ACM/ADbg/Makefile.am## $Id: Makefile.am,v 1.1 2002/01/20 14:58:53 aleidinger Exp $ include $(top_srcdir)/Makefile.am.global EXTRA_DIST = \ ADbg.cpp \ ADbg.dsp \ ADbg.h 07070100069c0a000081a40000000200000002000000013fc88bd500002104000000200000000800000000000000000000001b00000000reloc/ACM/ADbg/Makefile.in# Makefile.in generated by automake 1.7.5 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # global section for every Makefile.am srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = @host@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DEFS = @CONFIG_DEFS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CPUTYPE = @CPUTYPE@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FRONTEND_CFLAGS = @FRONTEND_CFLAGS@ FRONTEND_LDADD = @FRONTEND_LDADD@ FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_CONFIG = @GTK_CONFIG@ GTK_LIBS = @GTK_LIBS@ HAVE_NASM_FALSE = @HAVE_NASM_FALSE@ HAVE_NASM_TRUE = @HAVE_NASM_TRUE@ INCLUDES = @INCLUDES@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDADD = @LDADD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@ LIB_MINOR_VERSION = @LIB_MINOR_VERSION@ LIB_WITH_DECODER_FALSE = @LIB_WITH_DECODER_FALSE@ LIB_WITH_DECODER_TRUE = @LIB_WITH_DECODER_TRUE@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEDEP = @MAKEDEP@ MAKEINFO = @MAKEINFO@ NASM = @NASM@ NASM_FORMAT = @NASM_FORMAT@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ RM_F = @RM_F@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ VERSION = @VERSION@ WITH_BRHIST_FALSE = @WITH_BRHIST_FALSE@ WITH_BRHIST_TRUE = @WITH_BRHIST_TRUE@ WITH_FRONTEND = @WITH_FRONTEND@ WITH_MP3RTP = @WITH_MP3RTP@ WITH_MP3X = @WITH_MP3X@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ oldincludedir = @oldincludedir@ prefix = @prefix@ program_transform_name = @program_transform_name@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr EXTRA_DIST = \ ADbg.cpp \ ADbg.dsp \ ADbg.h subdir = ACM/ADbg ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = DIST_COMMON = $(top_srcdir)/Makefile.am.global Makefile.am Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign ACM/ADbg/Makefile Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: tags: TAGS TAGS: ctags: CTAGS CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/../.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c0b000081a40000000200000002000000013cb1e4d20000e44a000000200000000800000000000000000000002000000000reloc/ACM/AEncodeProperties.cpp/** * * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows * * Copyright (c) 2002 Steve Lhomme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: AEncodeProperties.cpp,v 1.8 2002/04/08 18:43:30 robux4 Exp $ */ #if !defined(STRICT) #define STRICT #endif // !defined(STRICT) #include #include #include #include #ifdef _MSC_VER // no problem with unknown pragmas #pragma warning(disable: 4068) #endif #include "resource.h" #include #include "util.h" #include "adebug.h" #include "AEncodeProperties.h" #include "ACM.h" //#include "AParameters/AParameters.h" #ifndef TTS_BALLOON #define TTS_BALLOON 0x40 #endif // TTS_BALLOON const unsigned int AEncodeProperties::the_Bitrates[18] = {320, 256, 224, 192, 160, 144, 128, 112, 96, 80, 64, 56, 48, 40, 32, 24, 16, 8 }; const unsigned int AEncodeProperties::the_MPEG1_Bitrates[14] = {320, 256, 224, 192, 160, 128, 112, 96, 80, 64, 56, 48, 40, 32 }; const unsigned int AEncodeProperties::the_MPEG2_Bitrates[14] = {160, 144, 128, 112, 96, 80, 64, 56, 48, 40, 32, 24, 16, 8}; const unsigned int AEncodeProperties::the_ChannelModes[3] = { STEREO, JOINT_STEREO, DUAL_CHANNEL }; //const char AEncodeProperties::the_Presets[][13] = {"None", "CD", "Studio", "Hi-Fi", "Phone", "Voice", "Radio", "Tape", "FM", "AM", "SW"}; //const LAME_QUALTIY_PRESET AEncodeProperties::the_Presets[] = {LQP_NOPRESET, LQP_R3MIX_QUALITY, LQP_NORMAL_QUALITY, LQP_LOW_QUALITY, LQP_HIGH_QUALITY, LQP_VERYHIGH_QUALITY, LQP_VOICE_QUALITY, LQP_PHONE, LQP_SW, LQP_AM, LQP_FM, LQP_VOICE, LQP_RADIO, LQP_TAPE, LQP_HIFI, LQP_CD, LQP_STUDIO}; //const unsigned int AEncodeProperties::the_SamplingFreqs[9] = { 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000 }; ToolTipItem AEncodeProperties::Tooltips[13]={ { IDC_CHECK_ENC_ABR, "Allow encoding with an average bitrate\r\ninstead of a constant one.\r\n\r\nIt can improve the quality for the same bitrate." }, { IDC_CHECK_COPYRIGHT, "Mark the encoded data as copyrighted." }, { IDC_CHECK_CHECKSUM, "Put a checksum in the encoded data.\r\n\r\nThis can make the file less sensitive to data loss." }, { IDC_CHECK_ORIGINAL, "Mark the encoded data as an original file." }, { IDC_CHECK_PRIVATE, "Mark the encoded data as private." }, { IDC_COMBO_ENC_STEREO, "Select the type of stereo mode used for encoding:\r\n\r\n- Stereo : the usual one\r\n- Joint-Stereo : mix both channel to achieve better compression\r\n- Dual Channel : treat both channel as separate" }, { IDC_STATIC_DECODING, "Decoding not supported for the moment by the codec." }, { IDC_CHECK_ENC_SMART, "Disable bitrate when there is too much compression.\r\n(default 1:15 ratio)" }, { IDC_STATIC_CONFIG_VERSION, "Version of this codec.\r\n\r\nvX.X.X is the version of the codec interface.\r\nX.XX is the version of the encoding engine." }, { IDC_SLIDER_AVERAGE_MIN, "Select the minimum Average Bitrate allowed." }, { IDC_SLIDER_AVERAGE_MAX, "Select the maximum Average Bitrate allowed." }, { IDC_SLIDER_AVERAGE_STEP, "Select the step of Average Bitrate between the min and max.\r\n\r\nA step of 5 between 152 and 165 means you have :\r\n165, 160 and 155" }, { IDC_SLIDER_AVERAGE_SAMPLE, "Check the resulting values of the (min,max,step) combination.\r\n\r\nUse the keyboard to navigate (right -> left)." }, }; //int AEncodeProperties::tst = 0; /* #pragma argsused static UINT CALLBACK DLLFindCallback( HWND hdlg, // handle to child dialog box UINT uiMsg, // message identifier WPARAM wParam, // message parameter LPARAM lParam // message parameter ) { UINT result = 0; switch (uiMsg) { case WM_NOTIFY: OFNOTIFY * info = (OFNOTIFY *)lParam; if (info->hdr.code == CDN_FILEOK) { result = 1; // by default we don't accept the file // Check if the selected file is a valid DLL with all the required functions ALameDLL * tstFile = new ALameDLL; if (tstFile != NULL) { if (tstFile->Load(info->lpOFN->lpstrFile)) { result = 0; } delete tstFile; } if (result == 1) { TCHAR output[250]; ::LoadString(AOut::GetInstance(),IDS_STRING_DLL_UNRECOGNIZED,output,250); AOut::MyMessageBox( output, MB_OK|MB_ICONEXCLAMATION, hdlg); SetWindowLong(hdlg, DWL_MSGRESULT , -100); } } } return result; } #pragma argsused static int CALLBACK BrowseFolderCallbackroc( HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData ) { AEncodeProperties * the_prop; the_prop = (AEncodeProperties *) lpData; if (uMsg == BFFM_INITIALIZED) { // char FolderName[MAX_PATH]; // SHGetPathFromIDList((LPITEMIDLIST) lParam,FolderName); //ADbg tst; //tst.OutPut("init folder to %s ",the_prop->GetOutputDirectory()); // CreateFile(); ::SendMessage(hwnd, BFFM_SETSELECTION, (WPARAM)TRUE, (LPARAM)the_prop->GetOutputDirectory()); }/* else if (uMsg == BFFM_SELCHANGED) { // verify that the folder is writable // ::SendMessage(hwnd, BFFM_ENABLEOK, 0, (LPARAM)0); // disable char FolderName[MAX_PATH]; SHGetPathFromIDList((LPITEMIDLIST) lParam, FolderName); // if (CreateFile(FolderName,STANDARD_RIGHTS_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL) == INVALID_HANDLE_VALUE) if ((GetFileAttributes(FolderName) & FILE_ATTRIBUTE_DIRECTORY) != 0) ::SendMessage(hwnd, BFFM_ENABLEOK, 0, (LPARAM)1); // enable else ::SendMessage(hwnd, BFFM_ENABLEOK, 0, (LPARAM)0); // disable //ADbg tst; //tst.OutPut("change folder to %s ",FolderName); }* / return 0; } */ #pragma argsused static BOOL CALLBACK ConfigProc( HWND hwndDlg, // handle to dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { BOOL bResult; AEncodeProperties * the_prop; the_prop = (AEncodeProperties *) GetProp(hwndDlg, "AEncodeProperties-Config"); switch (uMsg) { case WM_COMMAND: if (the_prop != NULL) { bResult = the_prop->HandleDialogCommand( hwndDlg, wParam, lParam); } break; case WM_INITDIALOG: assert(the_prop == NULL); the_prop = (AEncodeProperties *) lParam; the_prop->my_debug.OutPut("there hwnd = 0x%08X",hwndDlg); assert(the_prop != NULL); SetProp(hwndDlg, "AEncodeProperties-Config", the_prop); the_prop->InitConfigDlg(hwndDlg); bResult = TRUE; break; case WM_HSCROLL: // check if it's the ABR sliders if ((HWND)lParam == GetDlgItem(hwndDlg,IDC_SLIDER_AVERAGE_MIN)) { the_prop->UpdateDlgFromSlides(hwndDlg); } else if ((HWND)lParam == GetDlgItem(hwndDlg,IDC_SLIDER_AVERAGE_MAX)) { the_prop->UpdateDlgFromSlides(hwndDlg); } else if ((HWND)lParam == GetDlgItem(hwndDlg,IDC_SLIDER_AVERAGE_STEP)) { the_prop->UpdateDlgFromSlides(hwndDlg); } else if ((HWND)lParam == GetDlgItem(hwndDlg,IDC_SLIDER_AVERAGE_SAMPLE)) { the_prop->UpdateDlgFromSlides(hwndDlg); } break; case WM_NOTIFY: if (TTN_GETDISPINFO == ((LPNMHDR)lParam)->code) { NMTTDISPINFO *lphdr = (NMTTDISPINFO *)lParam; UINT id = (lphdr->uFlags & TTF_IDISHWND) ? GetWindowLong((HWND)lphdr->hdr.idFrom, GWL_ID) : lphdr->hdr.idFrom; *lphdr->lpszText = 0; SendMessage(lphdr->hdr.hwndFrom, TTM_SETMAXTIPWIDTH, 0, 5000); for(int i=0; ilpszText = const_cast(AEncodeProperties::Tooltips[i].tip); } return TRUE; } break; default: bResult = FALSE; // will be treated by DefWindowProc } return bResult; } ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// /** \class AEncodeProperties */ const char * AEncodeProperties::GetChannelModeString(int a_channelID) const { assert(a_channelID < sizeof(the_ChannelModes)); switch (a_channelID) { case 0: return "Stereo"; case 1: return "Joint-stereo"; case 2: return "Dual Channel"; default: assert(a_channelID); return NULL; } } const int AEncodeProperties::GetBitrateString(char * string, int string_size, int a_bitrateID) const { assert(a_bitrateID < sizeof(the_Bitrates)); assert(string != NULL); if (string_size >= 4) return wsprintf(string,"%d",the_Bitrates[a_bitrateID]); else return -1; } const unsigned int AEncodeProperties::GetChannelModeValue() const { assert(nChannelIndex < sizeof(the_ChannelModes)); return the_ChannelModes[nChannelIndex]; } const unsigned int AEncodeProperties::GetBitrateValue() const { assert(nMinBitrateIndex < sizeof(the_Bitrates)); return the_Bitrates[nMinBitrateIndex]; } inline const int AEncodeProperties::GetBitrateValueMPEG2(DWORD & bitrate) const { int i; for (i=0;i=0;i--) { if (the_MPEG1_Bitrates[i] == the_Bitrates[nMinBitrateIndex]) { bitrate = the_MPEG1_Bitrates[i]; return 0; } else if (the_MPEG1_Bitrates[i] > the_Bitrates[nMinBitrateIndex]) { bitrate = the_MPEG1_Bitrates[i]; return 1; } } bitrate = 32; return 1; } /* const int AEncodeProperties::GetBitrateValue(DWORD & bitrate, const DWORD MPEG_Version) const { assert((MPEG_Version == MPEG1) || (MPEG_Version == MPEG2)); assert(nMinBitrateIndex < sizeof(the_Bitrates)); if (MPEG_Version == MPEG2) return GetBitrateValueMPEG2(bitrate); else return GetBitrateValueMPEG1(bitrate); } /* const char * AEncodeProperties::GetPresetModeString(const int a_presetID) const { assert(a_presetID < sizeof(the_Presets)); switch (a_presetID) { case 1: return "r3mix"; case 2: return "Normal"; case 3: return "Low"; case 4: return "High"; case 5: return "Very High"; case 6: return "Voice"; case 7: return "Phone"; case 8: return "SW"; case 9: return "AM"; case 10: return "FM"; case 11: return "Voice"; case 12: return "Radio"; case 13: return "Tape"; case 14: return "Hi-Fi"; case 15: return "CD"; case 16: return "Studio"; default: return "None"; } } const LAME_QUALTIY_PRESET AEncodeProperties::GetPresetModeValue() const { assert(nPresetIndex < sizeof(the_Presets)); return the_Presets[nPresetIndex]; } */ bool AEncodeProperties::Config(const HINSTANCE Hinstance, const HWND HwndParent) { //WM_INITDIALOG ? // remember the instance to retreive strings // hDllInstance = Hinstance; my_debug.OutPut("here"); int ret = ::DialogBoxParam(Hinstance, MAKEINTRESOURCE(IDD_CONFIG), HwndParent, ::ConfigProc, (LPARAM) this); /* if (ret == -1) { LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL ); // Process any inserts in lpMsgBuf. // ... // Display the string. AOut::MyMessageBox( (LPCTSTR)lpMsgBuf, MB_OK | MB_ICONINFORMATION ); // Free the buffer. LocalFree( lpMsgBuf ); return false; } */ return true; } bool AEncodeProperties::InitConfigDlg(HWND HwndDlg) { // get all the required strings // TCHAR Version[5]; // LoadString(hDllInstance, IDS_STRING_VERSION, Version, 5); int i; // Add required channel modes SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_ENC_STEREO), CB_RESETCONTENT , NULL, NULL); for (i=0;i 320) AverageBitrate = 320; */ return true; } /* VBRMETHOD AEncodeProperties::GetVBRValue(DWORD & MaxBitrate, int & Quality, DWORD & AbrBitrate, BOOL & VBRHeader, const DWORD MPEG_Version) const { assert((MPEG_Version == MPEG1) || (MPEG_Version == MPEG2)); assert(nMaxBitrateIndex < sizeof(the_Bitrates)); if (mBRmode == BR_VBR) { MaxBitrate = the_Bitrates[nMaxBitrateIndex]; if (MPEG_Version == MPEG1) MaxBitrate = MaxBitrate>the_MPEG1_Bitrates[sizeof(the_MPEG1_Bitrates)/sizeof(unsigned int)-1]?MaxBitrate:the_MPEG1_Bitrates[sizeof(the_MPEG1_Bitrates)/sizeof(unsigned int)-1]; else MaxBitrate = MaxBitratethe_MPEG1_Bitrates[sizeof(the_MPEG1_Bitrates)/sizeof(unsigned int)-1]?MaxBitrate:the_MPEG1_Bitrates[sizeof(the_MPEG1_Bitrates)/sizeof(unsigned int)-1]; else MaxBitrate = MaxBitrateFirstChildElement("encodings"); std::string CurrentConfig = ""; if (CurrentNode->Attribute("default") != NULL) { CurrentConfig = *CurrentNode->Attribute("default"); } /* // output parameters TiXmlElement* iterateElmt = node->FirstChildElement("DLL"); if (iterateElmt != NULL) { const std::string * tmpname = iterateElmt->Attribute("location"); if (tmpname != NULL) { DllLocation = *tmpname; } } */ GetValuesFromKey(CurrentConfig, *CurrentNode); } else { /** \todo save the data in the file ! */ } } void AEncodeProperties::ParamsSave() { /* save the current parameters in the corresponding subkey HKEY OssKey; if (RegCreateKeyEx ( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI\\out_lame", 0, "", REG_OPTION_NON_VOLATILE, KEY_WRITE , NULL, &OssKey, NULL ) == ERROR_SUCCESS) { if (RegSetValueEx(OssKey, "DLL Location", 0, REG_EXPAND_SZ, (CONST BYTE *)DllLocation, strlen(DllLocation)+1 ) != ERROR_SUCCESS) return; RegCloseKey(OssKey); } */ } /* void AEncodeProperties::DisplayVbrOptions(const HWND hDialog, const BRMode the_mode) { bool bVBR = false; bool bABR = false; switch ( the_mode ) { case BR_CBR: ::CheckRadioButton(hDialog, IDC_RADIO_BITRATE_CBR, IDC_RADIO_BITRATE_ABR, IDC_RADIO_BITRATE_CBR); break; case BR_VBR: ::CheckRadioButton(hDialog, IDC_RADIO_BITRATE_CBR, IDC_RADIO_BITRATE_ABR, IDC_RADIO_BITRATE_VBR); bVBR = true; break; case BR_ABR: ::CheckRadioButton(hDialog, IDC_RADIO_BITRATE_CBR, IDC_RADIO_BITRATE_ABR, IDC_RADIO_BITRATE_ABR); bABR = true; break; } if(bVBR|bABR) { ::SetWindowText(::GetDlgItem(hDialog,IDC_STATIC_MINBITRATE), "Min Bitrate"); } else { ::SetWindowText(::GetDlgItem(hDialog,IDC_STATIC_MINBITRATE), "Bitrate"); } ::EnableWindow(::GetDlgItem( hDialog, IDC_CHECK_XINGVBR), bVBR|bABR); ::EnableWindow(::GetDlgItem( hDialog, IDC_COMBO_MAXBITRATE), bVBR|bABR); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_MAXBITRATE), bVBR|bABR); ::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_QUALITY), bVBR); ::EnableWindow(::GetDlgItem( hDialog, IDC_CONFIG_QUALITY), bVBR); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_VBRQUALITY), bVBR); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_VBRQUALITY_LOW), bVBR); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_VBRQUALITY_HIGH), bVBR); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_ABR), bABR); ::EnableWindow(::GetDlgItem( hDialog, IDC_EDIT_AVERAGE), bABR); } */ AEncodeProperties::AEncodeProperties(HMODULE hModule) :my_debug(ADbg(DEBUG_LEVEL_CREATION)), my_hModule(hModule) { std::string path = ""; // HMODULE htmp = LoadLibrary("out_lame.dll"); if (hModule != NULL) { char output[MAX_PATH]; ::GetModuleFileName(hModule, output, MAX_PATH); // ::FreeLibrary(htmp); path = output; } my_store_location = path.substr(0,path.find_last_of('\\')+1); my_store_location += "lame_acm.xml"; my_debug.OutPut("store path = %s",my_store_location.c_str()); //#ifdef OLD // ::OutputDebugString(my_store_location.c_str()); // make sure the XML file is present HANDLE hFile = ::CreateFile(my_store_location.c_str(), 0, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_ARCHIVE, NULL ); ::CloseHandle(hFile); //#endif // OLD my_debug.OutPut("AEncodeProperties creation completed (0x%08X)",this); } // Save the values to the right XML saved config void AEncodeProperties::SaveValuesToStringKey(const std::string & config_name) { // get the current data in the file to keep them if (my_stored_data.LoadFile(my_store_location)) { // check if the Node corresponding to the config_name already exist. TiXmlNode* node = my_stored_data.FirstChild("lame_acm"); if (node != NULL) { TiXmlElement* ConfigNode = node->FirstChildElement("encodings"); if (ConfigNode != NULL) { // look all the tags TiXmlElement* tmpNode = ConfigNode->FirstChildElement("config"); while (tmpNode != NULL) { const std::string * tmpname = tmpNode->Attribute("name"); if (tmpname->compare(config_name) == 0) { break; } tmpNode = tmpNode->NextSiblingElement("config"); } if (tmpNode == NULL) { // Create the node tmpNode = new TiXmlElement("config"); tmpNode->SetAttribute("name",config_name); // save data in the node SaveValuesToElement(tmpNode); ConfigNode->InsertEndChild(*tmpNode); } else { // save data in the node SaveValuesToElement(tmpNode); } // and save the file my_stored_data.SaveFile(my_store_location); } } } } void AEncodeProperties::GetValuesFromKey(const std::string & config_name, const TiXmlNode & parentNode) { TiXmlElement* tmpElt; TiXmlElement* iterateElmt; // find the config that correspond to CurrentConfig iterateElmt = parentNode.FirstChildElement("config"); while (iterateElmt != NULL) { const std::string * tmpname = iterateElmt->Attribute("name"); if ((tmpname != NULL) && (tmpname->compare(config_name) == 0)) { break; } iterateElmt = iterateElmt->NextSiblingElement("config"); } if (iterateElmt != NULL) { // get all the parameters saved in this Element const std::string * tmpname; // Smart output parameter tmpElt = iterateElmt->FirstChildElement("Smart"); if (tmpElt != NULL) { tmpname = tmpElt->Attribute("use"); if (tmpname != NULL) bSmartOutput = (tmpname->compare("true") == 0); tmpname = tmpElt->Attribute("ratio"); if (tmpname != NULL) SmartRatioMax = atof(tmpname->c_str()); } // Smart output parameter tmpElt = iterateElmt->FirstChildElement("ABR"); if (tmpElt != NULL) { tmpname = tmpElt->Attribute("use"); if (tmpname != NULL) bAbrOutput = (tmpname->compare("true") == 0); tmpname = tmpElt->Attribute("min"); if (tmpname != NULL) AverageBitrate_Min = atoi(tmpname->c_str()); tmpname = tmpElt->Attribute("max"); if (tmpname != NULL) AverageBitrate_Max = atoi(tmpname->c_str()); tmpname = tmpElt->Attribute("step"); if (tmpname != NULL) AverageBitrate_Step = atoi(tmpname->c_str()); } // Copyright parameter tmpElt = iterateElmt->FirstChildElement("Copyright"); if (tmpElt != NULL) { tmpname = tmpElt->Attribute("use"); if (tmpname != NULL) bCopyright = (tmpname->compare("true") == 0); } // Copyright parameter tmpElt = iterateElmt->FirstChildElement("CRC"); if (tmpElt != NULL) { tmpname = tmpElt->Attribute("use"); if (tmpname != NULL) bCRC = (tmpname->compare("true") == 0); } // Copyright parameter tmpElt = iterateElmt->FirstChildElement("Original"); if (tmpElt != NULL) { tmpname = tmpElt->Attribute("use"); if (tmpname != NULL) bOriginal = (tmpname->compare("true") == 0); } // Copyright parameter tmpElt = iterateElmt->FirstChildElement("Private"); if (tmpElt != NULL) { tmpname = tmpElt->Attribute("use"); if (tmpname != NULL) bPrivate = (tmpname->compare("true") == 0); } /* // Copyright parameter tmpElt = iterateElmt->FirstChildElement("Bit_reservoir"); if (tmpElt != NULL) { tmpname = tmpElt->Attribute("use"); if (tmpname != NULL) bNoBitRes = !(tmpname->compare("true") == 0); } // bitrates tmpElt = iterateElmt->FirstChildElement("bitrate"); tmpname = tmpElt->Attribute("min"); if (tmpname != NULL) { unsigned int uitmp = atoi(tmpname->c_str()); for (int i=0;iAttribute("max"); if (tmpname != NULL) { unsigned int uitmp = atoi(tmpname->c_str()); for (int i=0;iFirstChildElement("resampling"); if (tmpElt != NULL) { tmpname = tmpElt->Attribute("use"); if (tmpname != NULL) bResample = (tmpname->compare("true") == 0); unsigned int uitmp = atoi(tmpElt->Attribute("freq")->c_str()); for (int i=0;iFirstChildElement("VBR"); if (tmpElt != NULL) { tmpname = tmpElt->Attribute("use"); if (tmpname != NULL) { if (tmpname->compare("ABR") == 0) mBRmode = BR_ABR; else if (tmpname->compare("true") == 0) mBRmode = BR_VBR; else mBRmode = BR_CBR; } tmpname = tmpElt->Attribute("header"); if (tmpname != NULL) bXingFrame = (tmpname->compare("true") == 0); tmpname = tmpElt->Attribute("quality"); if (tmpname != NULL) { VbrQuality = atoi(tmpname->c_str()); } tmpname = tmpElt->Attribute("average"); if (tmpname != NULL) { AverageBitrate = atoi(tmpname->c_str()); } else { } } // output parameters tmpElt = iterateElmt->FirstChildElement("output"); if (tmpElt != NULL) { OutputDir = *tmpElt->Attribute("path"); } */ //#ifdef OLD // Channel mode parameter tmpElt = iterateElmt->FirstChildElement("Channel"); if (tmpElt != NULL) { const std::string * tmpStr = tmpElt->Attribute("mode"); if (tmpStr != NULL) { for (int i=0;icompare(GetChannelModeString(i)) == 0) { nChannelIndex = i; break; } } } /* tmpname = tmpElt->Attribute("force"); if (tmpname != NULL) bForceChannel = (tmpname->compare("true") == 0); */ } //#endif // OLD // Preset parameter /* tmpElt = iterateElmt->FirstChildElement("Preset"); if (tmpElt != NULL) { const std::string * tmpStr = tmpElt->Attribute("type"); for (int i=0;icompare(GetPresetModeString(i)) == 0) { nPresetIndex = i; break; } } } */ } } /** \todo save the parameters * / void AEncodeProperties::SaveParams(const HWND hParentWnd) { char string[MAX_PATH]; /* int nIdx = SendMessage(::GetDlgItem( hParentWnd ,IDC_COMBO_SETTINGS ), CB_GETCURSEL, NULL, NULL); ::SendMessage(::GetDlgItem( hParentWnd ,IDC_COMBO_SETTINGS ), CB_GETLBTEXT , nIdx, (LPARAM) string); * / }*/ bool AEncodeProperties::operator !=(const AEncodeProperties & the_instance) const { /* ::OutputDebugString(bCopyright != the_instance.bCopyright?"1":"-"); ::OutputDebugString(bCRC != the_instance.bCRC ?"2":"-"); ::OutputDebugString(bOriginal != the_instance.bOriginal ?"3":"-"); ::OutputDebugString(bPrivate != the_instance.bPrivate ?"4":"-"); ::OutputDebugString(bNoBitRes != the_instance.bNoBitRes ?"5":"-"); ::OutputDebugString(mBRmode != the_instance.mBRmode ?"6":"-"); ::OutputDebugString(bXingFrame != the_instance.bXingFrame?"7":"-"); ::OutputDebugString(bForceChannel != the_instance.bForceChannel?"8":"-"); ::OutputDebugString(bResample != the_instance.bResample ?"9":"-"); ::OutputDebugString(nChannelIndex != the_instance.nChannelIndex?"10":"-"); ::OutputDebugString(nMinBitrateIndex != the_instance.nMinBitrateIndex?"11":"-"); ::OutputDebugString(nMaxBitrateIndex != the_instance.nMaxBitrateIndex?"12":"-"); ::OutputDebugString(nPresetIndex != the_instance.nPresetIndex?"13":"-"); ::OutputDebugString(VbrQuality != the_instance.VbrQuality?"14":"-"); ::OutputDebugString(AverageBitrate != the_instance.AverageBitrate?"15":"-"); ::OutputDebugString(nSamplingFreqIndex != the_instance.nSamplingFreqIndex?"16":"-"); ::OutputDebugString(OutputDir.compare(the_instance.OutputDir) != 0?"17":"-"); std::string tmp = ""; char tmpI[10]; _itoa(AverageBitrate,tmpI,10); tmp += tmpI; tmp += " != "; _itoa(the_instance.AverageBitrate,tmpI,10); tmp += tmpI; ::OutputDebugString(tmp.c_str()); */ return ((bCopyright != the_instance.bCopyright) || (bCRC != the_instance.bCRC) || (bOriginal != the_instance.bOriginal) || (bPrivate != the_instance.bPrivate) || (bSmartOutput != the_instance.bSmartOutput) || (SmartRatioMax != the_instance.SmartRatioMax) || (bAbrOutput != the_instance.bAbrOutput) || (AverageBitrate_Min != the_instance.AverageBitrate_Min) || (AverageBitrate_Max != the_instance.AverageBitrate_Max) || (AverageBitrate_Step != the_instance.AverageBitrate_Step) || (bNoBitRes != the_instance.bNoBitRes) || (mBRmode != the_instance.mBRmode) || (bXingFrame != the_instance.bXingFrame) || (bForceChannel != the_instance.bForceChannel) || (bResample != the_instance.bResample) || (nChannelIndex != the_instance.nChannelIndex) || (nMinBitrateIndex != the_instance.nMinBitrateIndex) || (nMaxBitrateIndex != the_instance.nMaxBitrateIndex) || (nPresetIndex != the_instance.nPresetIndex) || (VbrQuality != the_instance.VbrQuality) // || (AverageBitrate != the_instance.AverageBitrate) || (nSamplingFreqIndex != the_instance.nSamplingFreqIndex) // || (OutputDir.compare(the_instance.OutputDir) != 0) ); } void AEncodeProperties::SelectSavedParams(const std::string the_string) { // get the values from the saved file if possible if (my_stored_data.LoadFile(my_store_location)) { TiXmlNode* node; node = my_stored_data.FirstChild("lame_acm"); TiXmlElement* CurrentNode = node->FirstChildElement("encodings"); if (CurrentNode != NULL) { CurrentNode->SetAttribute("default",the_string); GetValuesFromKey(the_string, *CurrentNode); my_stored_data.SaveFile(my_store_location); } } } inline void AEncodeProperties::SetAttributeBool(TiXmlElement * the_elt,const std::string & the_string, const bool the_value) const { if (the_value == false) the_elt->SetAttribute(the_string, "false"); else the_elt->SetAttribute(the_string, "true"); } void AEncodeProperties::SaveValuesToElement(TiXmlElement * the_element) const { // get all the parameters saved in this Element TiXmlElement * tmpElt; // Bit Reservoir parameter /* tmpElt = the_element->FirstChildElement("Bit_reservoir"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("Bit_reservoir"); SetAttributeBool(tmpElt, "use", !bNoBitRes); the_element->InsertEndChild(*tmpElt); } else { SetAttributeBool(tmpElt, "use", !bNoBitRes); } */ // Copyright parameter tmpElt = the_element->FirstChildElement("Copyright"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("Copyright"); SetAttributeBool( tmpElt, "use", bCopyright); the_element->InsertEndChild(*tmpElt); } else { SetAttributeBool( tmpElt, "use", bCopyright); } // Smart Output parameter tmpElt = the_element->FirstChildElement("Smart"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("Smart"); SetAttributeBool( tmpElt, "use", bSmartOutput); tmpElt->SetAttribute("ratio", SmartRatioMax); the_element->InsertEndChild(*tmpElt); } else { SetAttributeBool( tmpElt, "use", bSmartOutput); tmpElt->SetAttribute("ratio", SmartRatioMax); } // Smart Output parameter tmpElt = the_element->FirstChildElement("ABR"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("ABR"); SetAttributeBool( tmpElt, "use", bAbrOutput); tmpElt->SetAttribute("min", AverageBitrate_Min); tmpElt->SetAttribute("max", AverageBitrate_Max); tmpElt->SetAttribute("step", AverageBitrate_Step); the_element->InsertEndChild(*tmpElt); } else { SetAttributeBool( tmpElt, "use", bAbrOutput); tmpElt->SetAttribute("min", AverageBitrate_Min); tmpElt->SetAttribute("max", AverageBitrate_Max); tmpElt->SetAttribute("step", AverageBitrate_Step); } // CRC parameter tmpElt = the_element->FirstChildElement("CRC"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("CRC"); SetAttributeBool( tmpElt, "use", bCRC); the_element->InsertEndChild(*tmpElt); } else { SetAttributeBool( tmpElt, "use", bCRC); } // Original parameter tmpElt = the_element->FirstChildElement("Original"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("Original"); SetAttributeBool( tmpElt, "use", bOriginal); the_element->InsertEndChild(*tmpElt); } else { SetAttributeBool( tmpElt, "use", bOriginal); } // Private parameter tmpElt = the_element->FirstChildElement("Private"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("Private"); SetAttributeBool( tmpElt, "use", bPrivate); the_element->InsertEndChild(*tmpElt); } else { SetAttributeBool( tmpElt, "use", bPrivate); } // Channel Mode parameter tmpElt = the_element->FirstChildElement("Channel"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("Channel"); tmpElt->SetAttribute("mode", GetChannelModeString(nChannelIndex)); // SetAttributeBool( tmpElt, "force", bForceChannel); the_element->InsertEndChild(*tmpElt); } else { tmpElt->SetAttribute("mode", GetChannelModeString(nChannelIndex)); // SetAttributeBool( tmpElt, "force", bForceChannel); } /* // Preset parameter tmpElt = the_element->FirstChildElement("Preset"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("Preset"); tmpElt->SetAttribute("type", GetPresetModeString(nPresetIndex)); the_element->InsertEndChild(*tmpElt); } else { tmpElt->SetAttribute("type", GetPresetModeString(nPresetIndex)); } // Bitrate parameter tmpElt = the_element->FirstChildElement("bitrate"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("bitrate"); tmpElt->SetAttribute("min", the_Bitrates[nMinBitrateIndex]); tmpElt->SetAttribute("max", the_Bitrates[nMaxBitrateIndex]); the_element->InsertEndChild(*tmpElt); } else { tmpElt->SetAttribute("min", the_Bitrates[nMinBitrateIndex]); tmpElt->SetAttribute("max", the_Bitrates[nMaxBitrateIndex]); } // Output Directory parameter tmpElt = the_element->FirstChildElement("output"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("output"); tmpElt->SetAttribute("path", OutputDir); the_element->InsertEndChild(*tmpElt); } else { tmpElt->SetAttribute("path", OutputDir); } */ /* // Resampling parameter tmpElt = the_element->FirstChildElement("resampling"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("resampling"); SetAttributeBool( tmpElt, "use", bResample); tmpElt->SetAttribute("freq", the_SamplingFreqs[nSamplingFreqIndex]); the_element->InsertEndChild(*tmpElt); } else { SetAttributeBool( tmpElt, "use", bResample); tmpElt->SetAttribute("freq", the_SamplingFreqs[nSamplingFreqIndex]); } // VBR parameter tmpElt = the_element->FirstChildElement("VBR"); if (tmpElt == NULL) { tmpElt = new TiXmlElement("VBR"); if (mBRmode == BR_ABR) tmpElt->SetAttribute("use", "ABR"); else SetAttributeBool( tmpElt, "use", (mBRmode != BR_CBR)); SetAttributeBool( tmpElt, "header", bXingFrame); tmpElt->SetAttribute("quality", VbrQuality); tmpElt->SetAttribute("average", AverageBitrate); the_element->InsertEndChild(*tmpElt); } else { if (mBRmode == BR_ABR) tmpElt->SetAttribute("use", "ABR"); else SetAttributeBool( tmpElt, "use", (mBRmode != BR_CBR)); SetAttributeBool( tmpElt, "header", bXingFrame); tmpElt->SetAttribute("quality", VbrQuality); tmpElt->SetAttribute("average", AverageBitrate); } */ } bool AEncodeProperties::HandleDialogCommand(const HWND parentWnd, const WPARAM wParam, const LPARAM lParam) { UINT command; command = GET_WM_COMMAND_ID(wParam, lParam); switch (command) { case IDOK : { bool bShouldEnd = true; // save parameters char string[MAX_PATH]; // ::GetWindowText(::GetDlgItem( parentWnd, IDC_COMBO_SETTINGS), string, MAX_PATH); wsprintf(string,"Current"); // only the Current config is supported at the moment my_debug.OutPut("my_hModule = 0x%08X",my_hModule); /* AEncodeProperties tmpDlgProps(my_hModule); AEncodeProperties tmpSavedProps(my_hModule); //#ifdef OLD tmpDlgProps.UpdateValueFromDlg(parentWnd); tmpSavedProps.SelectSavedParams(string); tmpSavedProps.ParamsRestore(); // check if the values from the DLG are the same as the one saved in the config file // if yes, just do nothing /* if (tmpDlgProps != tmpSavedProps) { int save; if (strcmp(string,"Current") == 0) { // otherwise, prompt the user if he wants to overwrite the settings TCHAR tmpStr[250]; ::LoadString(AOut::GetInstance(),IDS_STRING_PROMPT_REPLACE_CURRENT,tmpStr,250); save = AOut::MyMessageBox( tmpStr, MB_OKCANCEL|MB_ICONQUESTION, parentWnd); } else { // otherwise, prompt the user if he wants to overwrite the settings TCHAR tmpStr[250]; ::LoadString(AOut::GetInstance(),IDS_STRING_PROMPT_REPLACE_SETING,tmpStr,250); TCHAR tmpDsp[500]; wsprintf(tmpDsp,tmpStr,string); save = AOut::MyMessageBox( tmpDsp, MB_YESNOCANCEL|MB_ICONQUESTION, parentWnd); } if (save == IDCANCEL) bShouldEnd = false; else if (save == IDNO) { // save the values in 'current' UpdateValueFromDlg(parentWnd); SaveValuesToStringKey("Current"); SelectSavedParams("Current"); } else { // do so and save in XML UpdateValueFromDlg(parentWnd); SaveValuesToStringKey(string); } } */ //#endif // OLD my_debug.OutPut("before : nChannelIndex %d, bCRC %d, bCopyright %d, bOriginal %d, bPrivate %d",nChannelIndex, bCRC, bCopyright, bOriginal, bPrivate); my_debug.OutPut("call UpdateValueFromDlg"); UpdateValueFromDlg(parentWnd); my_debug.OutPut("call SaveValuesToStringKey"); SaveValuesToStringKey("Current"); // only Current config is supported now // SaveParams(parentWnd); //my_debug.OutPut("call SelectSavedParams"); // SelectSavedParams(string); // UpdateDlgFromValue(parentWnd); my_debug.OutPut("finished saving"); if (bShouldEnd) { RemoveProp(parentWnd, "AEncodeProperties-Config"); EndDialog(parentWnd, true); } } break; case IDCANCEL: RemoveProp(parentWnd, "AEncodeProperties-Config"); EndDialog(parentWnd, false); break; /* case IDC_FIND_DLL: { OPENFILENAME file; char DllLocation[512]; wsprintf(DllLocation,"%s",GetDllLocation()); memset(&file, 0, sizeof(file)); file.lStructSize = sizeof(file); file.hwndOwner = parentWnd; file.Flags = OFN_FILEMUSTEXIST | OFN_NODEREFERENCELINKS | OFN_ENABLEHOOK | OFN_EXPLORER ; /// file.lpstrFile = AOut::the_AOut->DllLocation; file.lpstrFile = DllLocation; file.lpstrFilter = "Lame DLL (lame_enc.dll)\0LAME_ENC.DLL\0DLL (*.dll)\0*.DLL\0All (*.*)\0*.*\0"; file.nFilterIndex = 1; file.nMaxFile = sizeof(DllLocation); file.lpfnHook = DLLFindCallback; // use to validate the DLL chosen GetOpenFileName(&file); SetDllLocation(DllLocation); // use this filename if necessary } break; */ /* case IDC_BUTTON_OUTPUT: { #ifndef SIMPLE_FOLDER BROWSEINFO info; memset(&info,0,sizeof(info)); char FolderName[MAX_PATH]; info.hwndOwner = parentWnd; info.pszDisplayName = FolderName; info.lpfn = BrowseFolderCallbackroc; info.lParam = (LPARAM) this; // get the localised window title TCHAR output[250]; ::LoadString(AOut::GetInstance(),IDS_STRING_DIR_SELECT,output,250); info.lpszTitle = output; #ifdef BIF_EDITBOX info.ulFlags |= BIF_EDITBOX; #else // BIF_EDITBOX info.ulFlags |= 0x0010; #endif // BIF_EDITBOX #ifdef BIF_VALIDATE info.ulFlags |= BIF_VALIDATE; #else // BIF_VALIDATE info.ulFlags |= 0x0020; #endif // BIF_VALIDATE #ifdef BIF_NEWDIALOGSTYLE info.ulFlags |= BIF_NEWDIALOGSTYLE; #else // BIF_NEWDIALOGSTYLE info.ulFlags |= 0x0040; #endif // BIF_NEWDIALOGSTYLE ITEMIDLIST *item = SHBrowseForFolder(&info); if (item != NULL) { char tmpOutputDir[MAX_PATH]; wsprintf(tmpOutputDir,"%s",GetOutputDirectory()); SHGetPathFromIDList( item,tmpOutputDir ); SetOutputDirectory( tmpOutputDir ); ::SetWindowText(GetDlgItem( parentWnd, IDC_EDIT_OUTPUTDIR), tmpOutputDir); // wsprintf(OutputDir,FolderName); } #else // SIMPLE_FOLDER OPENFILENAME file; memset(&file, 0, sizeof(file)); file.lStructSize = sizeof(file); file.hwndOwner = parentWnd; file.Flags = OFN_FILEMUSTEXIST | OFN_NODEREFERENCELINKS | OFN_ENABLEHOOK | OFN_EXPLORER ; // file.lpstrFile = GetDllLocation(); // file.lpstrFile = GetOutputDirectory(); file.lpstrInitialDir = GetOutputDirectory(); file.lpstrFilter = "A Directory\0.*\0"; // file.nFilterIndex = 1; file.nMaxFile = MAX_PATH; // file.lpfnHook = DLLFindCallback; // use to validate the DLL chosen // file.Flags = OFN_ENABLESIZING | OFN_NOREADONLYRETURN | OFN_HIDEREADONLY; file.Flags = OFN_NOREADONLYRETURN | OFN_HIDEREADONLY | OFN_EXPLORER; TCHAR output[250]; ::LoadString(AOut::GetInstance(),IDS_STRING_DIR_SELECT,output,250); file.lpstrTitle = output; GetSaveFileName(&file); #endif // SIMPLE_FOLDER } break; */ case IDC_CHECK_ENC_ABR: EnableAbrOptions(parentWnd, ::IsDlgButtonChecked( parentWnd, IDC_CHECK_ENC_ABR) == BST_CHECKED); break; /* case IDC_RADIO_BITRATE_CBR: AEncodeProperties::DisplayVbrOptions(parentWnd, AEncodeProperties::BR_CBR); break; case IDC_RADIO_BITRATE_VBR: AEncodeProperties::DisplayVbrOptions(parentWnd, AEncodeProperties::BR_VBR); break; case IDC_RADIO_BITRATE_ABR: AEncodeProperties::DisplayVbrOptions(parentWnd, AEncodeProperties::BR_ABR); break; case IDC_CHECK_RESAMPLE: { bool tmp_bResampleUsed = (::IsDlgButtonChecked( parentWnd, IDC_CHECK_RESAMPLE) == BST_CHECKED); if (tmp_bResampleUsed) { ::EnableWindow(::GetDlgItem(parentWnd,IDC_COMBO_SAMPLEFREQ), TRUE); } else { ::EnableWindow(::GetDlgItem(parentWnd,IDC_COMBO_SAMPLEFREQ), FALSE); } } break; */ /* case IDC_COMBO_SETTINGS: // if (CBN_SELCHANGE == GET_WM_COMMAND_CMD(wParam, lParam)) if (CBN_SELENDOK == GET_WM_COMMAND_CMD(wParam, lParam)) { char string[MAX_PATH]; int nIdx = SendMessage(HWND(lParam), CB_GETCURSEL, NULL, NULL); SendMessage(HWND(lParam), CB_GETLBTEXT , nIdx, (LPARAM) string); // get the info corresponding to the new selected item SelectSavedParams(string); UpdateDlgFromValue(parentWnd); } break; */ /* case IDC_BUTTON_CONFIG_SAVE: { // save the data in the current config char string[MAX_PATH]; ::GetWindowText(::GetDlgItem( parentWnd, IDC_COMBO_SETTINGS), string, MAX_PATH); UpdateValueFromDlg(parentWnd); SaveValuesToStringKey(string); SelectSavedParams(string); UpdateConfigs(parentWnd); UpdateDlgFromValue(parentWnd); } break; case IDC_BUTTON_CONFIG_RENAME: { char string[MAX_PATH]; ::GetWindowText(::GetDlgItem( parentWnd, IDC_COMBO_SETTINGS), string, MAX_PATH); if (RenameCurrentTo(string)) { // Update the names displayed UpdateConfigs(parentWnd); } } break; case IDC_BUTTON_CONFIG_DELETE: { char string[MAX_PATH]; ::GetWindowText(::GetDlgItem( parentWnd, IDC_COMBO_SETTINGS), string, MAX_PATH); if (DeleteConfig(string)) { // Update the names displayed UpdateConfigs(parentWnd); UpdateDlgFromValue(parentWnd); } } break; */ } return FALSE; } bool AEncodeProperties::RenameCurrentTo(const std::string & new_config_name) { bool bResult = false; // display all the names of the saved configs // get the values from the saved file if possible if (my_stored_data.LoadFile(my_store_location)) { TiXmlNode* node; node = my_stored_data.FirstChild("lame_acm"); TiXmlElement* CurrentNode = node->FirstChildElement("encodings"); if (CurrentNode->Attribute("default") != NULL) { std::string CurrentConfigName = *CurrentNode->Attribute("default"); // no rename possible for Current if (CurrentConfigName == "") { bResult = true; } else if (CurrentConfigName != "Current") { // find the config that correspond to CurrentConfig TiXmlElement* iterateElmt = CurrentNode->FirstChildElement("config"); // int Idx = 0; while (iterateElmt != NULL) { const std::string * tmpname = iterateElmt->Attribute("name"); /** \todo support language names */ if (tmpname != NULL) { if (tmpname->compare(CurrentConfigName) == 0) { iterateElmt->SetAttribute("name",new_config_name); bResult = true; break; } } // Idx++; iterateElmt = iterateElmt->NextSiblingElement("config"); } } if (bResult) { CurrentNode->SetAttribute("default",new_config_name); my_stored_data.SaveFile(my_store_location); } } } return bResult; } bool AEncodeProperties::DeleteConfig(const std::string & config_name) { bool bResult = false; if (config_name != "Current") { // display all the names of the saved configs // get the values from the saved file if possible if (my_stored_data.LoadFile(my_store_location)) { TiXmlNode* node; node = my_stored_data.FirstChild("lame_acm"); TiXmlElement* CurrentNode = node->FirstChildElement("encodings"); TiXmlElement* iterateElmt = CurrentNode->FirstChildElement("config"); // int Idx = 0; while (iterateElmt != NULL) { const std::string * tmpname = iterateElmt->Attribute("name"); /** \todo support language names */ if (tmpname != NULL) { if (tmpname->compare(config_name) == 0) { CurrentNode->RemoveChild(iterateElmt); bResult = true; break; } } // Idx++; iterateElmt = iterateElmt->NextSiblingElement("config"); } } if (bResult) { my_stored_data.SaveFile(my_store_location); // select a new default config : "Current" SelectSavedParams("Current"); } } return bResult; } void AEncodeProperties::UpdateConfigs(const HWND HwndDlg) { // Add User configs // SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SETTINGS), CB_RESETCONTENT , NULL, NULL); // display all the names of the saved configs // get the values from the saved file if possible if (my_stored_data.LoadFile(my_store_location)) { TiXmlNode* node; node = my_stored_data.FirstChild("lame_acm"); TiXmlElement* CurrentNode = node->FirstChildElement("encodings"); std::string CurrentConfig = ""; if (CurrentNode->Attribute("default") != NULL) { CurrentConfig = *CurrentNode->Attribute("default"); } TiXmlElement* iterateElmt; my_debug.OutPut("are we here ?"); // find the config that correspond to CurrentConfig iterateElmt = CurrentNode->FirstChildElement("config"); int Idx = 0; while (iterateElmt != NULL) { const std::string * tmpname = iterateElmt->Attribute("name"); /** \todo support language names */ if (tmpname != NULL) { // SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SETTINGS), CB_ADDSTRING, NULL, (LPARAM) tmpname->c_str()); if (tmpname->compare(CurrentConfig) == 0) { // SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SETTINGS), CB_SETCURSEL, Idx, NULL); SelectSavedParams(*tmpname); UpdateDlgFromValue(HwndDlg); } } my_debug.OutPut("Idx = %d",Idx); Idx++; // only Current config supported now // iterateElmt = iterateElmt->NextSiblingElement("config"); iterateElmt = NULL; my_debug.OutPut("iterateElmt = 0x%08X",iterateElmt); } } } /* void AEncodeProperties::UpdateAbrSteps(unsigned int min, unsigned int max, unsigned int step) const { } */ void AEncodeProperties::UpdateDlgFromSlides(HWND hwndDlg) const { UINT value_min, value_max, value_step, value; char tmp[4]; value_min = SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_MIN), TBM_GETPOS, NULL, NULL); value_max = SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_MAX), TBM_GETPOS, NULL, NULL); if (value_min>value_max) { SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_MIN), TBM_SETPOS, TRUE, value_max); UpdateDlgFromSlides(hwndDlg); return; } if (value_max=value_min;i-=value_step) { SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_SETTIC, 0, i); } SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_SETLINESIZE, 0, value_step); SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_SETPAGESIZE, 0, value_step); value = SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_GETPOS, NULL, NULL); wsprintf(tmp,"%3d",value); ::SetWindowText(GetDlgItem( hwndDlg, IDC_STATIC_AVERAGE_SAMPLE_VALUE), tmp); } void AEncodeProperties::EnableAbrOptions(HWND hDialog, bool enable) { ::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_AVERAGE_MIN), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_AVERAGE_MAX), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_AVERAGE_STEP), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_AVERAGE_SAMPLE), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_MIN), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_MAX), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_STEP), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_SAMPLE), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_MIN_VALUE), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_MAX_VALUE), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_STEP_VALUE), enable); ::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_SAMPLE_VALUE), enable); } 07070100069c0c000081a40000000200000002000000013cb04a3700003569000000200000000800000000000000000000001e00000000reloc/ACM/AEncodeProperties.h/** * * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows * * Copyright (c) 2002 Steve Lhomme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: AEncodeProperties.h,v 1.5 2002/04/07 13:31:35 robux4 Exp $ */ #if !defined(_AENCODEPROPERTIES_H__INCLUDED_) #define _AENCODEPROPERTIES_H__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include #include #include "ADbg/ADbg.h" //#include "BladeMP3EncDLL.h" #include "tinyxml/tinyxml.h" //#include "AParameters/AParameters.h" typedef const struct { UINT id; const char *tip; } ToolTipItem; /** \class AEncodeProperties \brief the AEncodeProperties class is responsible for handling all the encoding properties */ class AEncodeProperties { public: /** \brief default constructor \param the windows module with which you can retrieve many informations */ AEncodeProperties(HMODULE hModule); /** \brief default destructor */ virtual ~AEncodeProperties() {} /** \enum BRMode \brief A bitrate mode (CBR, VBR, ABR) */ enum BRMode { BR_CBR, BR_VBR, BR_ABR }; /** \brief Handle all the commands that occur in the Config dialog box */ bool HandleDialogCommand(const HWND parentWnd, const WPARAM wParam, const LPARAM lParam); /** \brief check wether 2 instances are equal, ie have the same encoding parameters */ bool operator != (const AEncodeProperties & the_instance) const; /** \brief Check wether the Encode process should use the Copyright bit */ inline const bool GetCopyrightMode() const { return bCopyright; } /** \brief Check wether the Encode process should use the CRC bit */ inline const bool GetCRCMode() const { return bCRC; } /** \brief Check wether the Encode process should use the Original bit */ inline const bool GetOriginalMode() const { return bOriginal; } /** \brief Check wether the Encode process should use the Private bit */ inline const bool GetPrivateMode() const { return bPrivate; } /** \brief Check wether the Encode process should use the Smart Bitrate output */ inline const bool GetSmartOutputMode() const { return bSmartOutput; } /** \brief Check wether the Encode process should allow Average Bitrate output */ inline const bool GetAbrOutputMode() const { return bAbrOutput; } /** \brief Check wether the Encode process shouldn't use the Bit Reservoir */ inline const bool GetNoBiResMode() const { return bNoBitRes; } /** \brief Check wether the Encode process should force the channel mode (stereo or mono resampling) */ inline const bool GetForceChannelMode() const { return bForceChannel; } /** \brief Check wether the Encode process should use the VBR mode */ inline const BRMode GetVBRUseMode() const { return mBRmode; } /** \brief Check wether the Encode process should use the Xing frame in the VBR mode \note the Xing frame is a silent frame at the beginning that contain VBR statistics about the file. */ inline const bool GetXingFrameMode() const { return bXingFrame; } /** \brief Check wether the Encode process should resample before encoding */ inline const bool GetResampleMode() const { return bResample; } /** \brief Set wether the Encode process should use the Copyright bit */ inline void SetCopyrightMode(const bool bMode) { bCopyright = bMode; } /** \brief Set wether the Encode process should use the CRC bit */ inline void SetCRCMode(const bool bMode) { bCRC = bMode; } /** \brief Set wether the Encode process should use the Original bit */ inline void SetOriginalMode(const bool bMode) { bOriginal = bMode; } /** \brief Set wether the Encode process should use the Private bit */ inline void SetPrivateMode(const bool bMode) { bPrivate = bMode; } /** \brief Set wether the Encode process should use the Smart Bitrate output */ inline void SetSmartOutputMode(const bool bMode) { bSmartOutput = bMode; } /** \brief Set wether the Encode process should use the Average Bitrate output */ inline void SetAbrOutputMode(const bool bMode) { bAbrOutput = bMode; } /** \brief Set wether the Encode process shouldn't use the Bit Reservoir */ inline void SetNoBiResMode(const bool bMode) { bNoBitRes = bMode; } /** \brief Set wether the Encode process should force the channel mode (stereo or mono resampling) */ inline void SetForceChannelMode(const bool bMode) { bForceChannel = bMode; } /** \brief Set wether the Encode process should use the VBR mode */ inline void SetVBRUseMode(const BRMode mode) { mBRmode = mode; } /** \brief Set wether the Encode process should use the Xing frame in the VBR mode \note the Xing frame is a silent frame at the beginning that contain VBR statistics about the file. */ inline void SetXingFrameMode(const bool bMode) { bXingFrame = bMode; } /** \brief CBR : Get the bitrate to use / VBR : Get the minimum bitrate value */ const unsigned int GetBitrateValue() const; /** \brief Get the current (VBR:min) bitrate for the specified MPEG version \param bitrate the data that will be filled with the bitrate \param MPEG_Version The MPEG version (MPEG1 or MPEG2) \return 0 if the bitrate is not found, 1 if the bitrate is found */ const int GetBitrateValue(DWORD & bitrate, const DWORD MPEG_Version) const; /** \brief Get the current (VBR:min) bitrate for MPEG I \param bitrate the data that will be filled with the bitrate \return 0 if the bitrate is not found, 1 if the bitrate is found */ const int GetBitrateValueMPEG1(DWORD & bitrate) const; /** \brief Get the current (VBR:min) bitrate for MPEG II \param bitrate the data that will be filled with the bitrate \return 0 if the bitrate is not found, 1 if the bitrate is found */ const int GetBitrateValueMPEG2(DWORD & bitrate) const; /** \brief Get the current (VBR:min) bitrate in the form of a string \param string the string that will be filled \param string_size the size of the string \return -1 if the bitrate is not found, and the number of char copied otherwise */ inline const int GetBitrateString(char * string, int string_size) const {return GetBitrateString(string,string_size,nMinBitrateIndex); } /** \brief Get the (VBR:min) bitrate corresponding to the specified index in the form of a string \param string the string that will be filled \param string_size the size of the string \param a_bitrateID the index in the Bitrate table \return -1 if the bitrate is not found, and the number of char copied otherwise */ const int GetBitrateString(char * string, int string_size, int a_bitrateID) const; /** \brief Get the number of possible bitrates */ inline const int GetBitrateLentgh() const { return sizeof(the_Bitrates) / sizeof(unsigned int); } /** \brief Get the number of possible sampling frequencies */ inline const unsigned int GetResampleFreq() const { return the_SamplingFreqs[nSamplingFreqIndex]; } /** \brief Get the max compression ratio allowed (1:15 default) */ inline double GetSmartRatio() const { return SmartRatioMax;} /** \brief Get the min ABR bitrate possible */ inline unsigned int GetAbrBitrateMin() const { return AverageBitrate_Min;} /** \brief Get the max ABR bitrate possible */ inline unsigned int GetAbrBitrateMax() const { return AverageBitrate_Max;} /** \brief Get the step between ABR bitrates */ inline unsigned int GetAbrBitrateStep() const { return AverageBitrate_Step;} /** \brief Get the VBR attributes for a specified MPEG version \param MaxBitrate receive the maximum bitrate possible in the VBR mode \param Quality receive the quality value (0 to 9 see Lame doc for more info) \param VBRHeader receive the value that indicates wether the VBR/Xing header should be filled \param MPEG_Version The MPEG version (MPEG1 or MPEG2) \return the VBR mode (Old, New, ABR, MTRH, Default or None) */ // VBRMETHOD GetVBRValue(DWORD & MaxBitrate, int & Quality, DWORD & AbrBitrate, BOOL & VBRHeader, const DWORD MPEG_Version) const; /** \brief Get the Lame DLL Location */ // const char * GetDllLocation() const { return DllLocation.c_str(); } /** \brief Set the Lame DLL Location */ // void SetDllLocation( const char * the_string ) { DllLocation = the_string; } /** \brief Get the output directory for encoding */ // const char * GetOutputDirectory() const { return OutputDir.c_str(); } /** \brief Set the output directory for encoding */ // void SetOutputDirectory( const char * the_string ) { OutputDir = the_string; } /** \brief Get the current channel mode to use */ const unsigned int GetChannelModeValue() const; /** \brief Get the current channel mode in the form of a string */ inline const char * GetChannelModeString() const {return GetChannelModeString(nChannelIndex); } /** \brief Get the channel mode in the form of a string for the specified Channel mode index \param a_channelID the Channel mode index (see GetChannelLentgh()) */ const char * GetChannelModeString(const int a_channelID) const; /** \brief Get the number of possible channel mode */ inline const int GetChannelLentgh() const { return 3; } /** \brief Get the current preset to use, see lame documentation/code for more info on the possible presets */ // const LAME_QUALTIY_PRESET GetPresetModeValue() const; /** \brief Get the preset in the form of a string for the specified Channel mode index \param a_presetID the preset index (see GetPresetLentgh()) */ const char * GetPresetModeString(const int a_presetID) const; /** \brief Get the number of possible presets */ // inline const int GetPresetLentgh() const { return sizeof(the_Presets) / sizeof(LAME_QUALTIY_PRESET); } /** \brief Start the user configuration process (called by AOut::config()) */ bool Config(const HINSTANCE hInstance, const HWND HwndParent); /** \brief Init the config dialog box with the right texts and choices */ bool InitConfigDlg(HWND hDialog); /** \brief Update the instance parameters from the config dialog box */ bool UpdateValueFromDlg(HWND hDialog); /** \brief Update the config dialog box from the instance parameters */ bool UpdateDlgFromValue(HWND hDialog); /** \brief Update the config dialog box with the BitRate mode */ static void DisplayVbrOptions(const HWND hDialog, const BRMode the_mode); /** \brief Handle the saving of parameters when something has changed in the config dialog box */ void SaveParams(const HWND hDialog); /** \brief Save the current parameters (current config in use) */ void ParamsSave(void); /** \brief Load the parameters (current config in use) */ void ParamsRestore(void); /** \brief Select the specified config name as the new default one */ void SelectSavedParams(const std::string config_name); /** \brief Save the current parameters to the specified config name */ void SaveValuesToStringKey(const std::string & config_name); /** \brief Rename the current config name to something else */ bool RenameCurrentTo(const std::string & new_config_name); /** \brief Delete the config name from the saved configs */ bool DeleteConfig(const std::string & config_name); ADbg my_debug; /** \brief Update the slides value (on scroll) */ void UpdateDlgFromSlides(HWND parent_window) const; static ToolTipItem Tooltips[13]; private: bool bCopyright; bool bCRC; bool bOriginal; bool bPrivate; bool bNoBitRes; BRMode mBRmode; bool bXingFrame; bool bForceChannel; bool bResample; bool bSmartOutput; bool bAbrOutput; int VbrQuality; unsigned int AverageBitrate_Min; unsigned int AverageBitrate_Max; unsigned int AverageBitrate_Step; double SmartRatioMax; static const unsigned int the_ChannelModes[3]; int nChannelIndex; static const unsigned int the_Bitrates[18]; static const unsigned int the_MPEG1_Bitrates[14]; static const unsigned int the_MPEG2_Bitrates[14]; int nMinBitrateIndex; // CBR and VBR int nMaxBitrateIndex; // only used in VBR mode static const unsigned int the_SamplingFreqs[9]; int nSamplingFreqIndex; // static const LAME_QUALTIY_PRESET the_Presets[17]; int nPresetIndex; // char DllLocation[512]; // std::string DllLocation; // char OutputDir[MAX_PATH]; // std::string OutputDir; // AParameters my_base_parameters; TiXmlDocument my_stored_data; std::string my_store_location; std::string my_current_config; // HINSTANCE hDllInstance; void SaveValuesToElement(TiXmlElement * the_element) const; inline void SetAttributeBool(TiXmlElement * the_elt,const std::string & the_string, const bool the_value) const; void UpdateConfigs(const HWND HwndDlg); void EnableAbrOptions(HWND hDialog, bool enable); HMODULE my_hModule; /** \brief \param config_name \param parentNode */ void GetValuesFromKey(const std::string & config_name, const TiXmlNode & parentNode); }; #endif // !defined(_AENCODEPROPERTIES_H__INCLUDED_) 07070100069c3f000081a40000000200000002000000013c519b2e000017cc000000200000000800000000000000000000001b00000000reloc/ACM/DecodeStream.cpp/** * * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows * * Copyright (c) 2002 Steve Lhomme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: DecodeStream.cpp,v 1.3 2002/01/25 17:51:42 robux4 Exp $ */ #if !defined(STRICT) #define STRICT #endif // STRICT #include #include #ifdef ENABLE_DECODING #include "adebug.h" #include "DecodeStream.h" // static methods DecodeStream * DecodeStream::Create() { DecodeStream * Result; Result = new DecodeStream; return Result; } const bool DecodeStream::Erase(const DecodeStream * a_ACMStream) { delete a_ACMStream; return true; } // class methods DecodeStream::DecodeStream() : m_WorkingBufferUseSize(0), gfp(NULL) { /// \todo get the debug level from the registry my_debug = new ADbg(DEBUG_LEVEL_CREATION); if (my_debug != NULL) { unsigned char DebugFileName[512]; my_debug->setPrefix("MPG123stream"); /// \todo get it from the registry my_debug->setIncludeTime(true); /// \todo get it from the registry // Check in the registry if we have to Output Debug information DebugFileName[0] = '\0'; HKEY OssKey; if (RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI", 0, KEY_READ , &OssKey ) == ERROR_SUCCESS) { DWORD DataType; DWORD DebugFileNameSize = 512; if (RegQueryValueEx( OssKey, "DebugFile", NULL, &DataType, DebugFileName, &DebugFileNameSize ) == ERROR_SUCCESS) { if (DataType == REG_SZ) { my_debug->setUseFile(true); my_debug->setDebugFile((char *)DebugFileName); my_debug->OutPut("Debug file is %s",(char *)DebugFileName); } } } my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "DecodeStream Creation (0X%08X)",this); } else { ADbg debug; debug.OutPut("DecodeStream::ACMACMStream : Impossible to create my_debug"); } } DecodeStream::~DecodeStream() { // lame_close( gfp ); if (my_debug != NULL) { my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "DecodeStream Deletion (0X%08X)",this); delete my_debug; } } bool DecodeStream::init(const int nSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const int nSourceBitrate) { bool bResult = false; my_SamplesPerSec = nSamplesPerSec; my_Channels = nChannels; my_AvgBytesPerSec = nAvgBytesPerSec; my_SourceBitrate = nSourceBitrate; bResult = true; return bResult; } bool DecodeStream::open() { bool bResult = false; bResult = bool(InitMP3(&my_DecodeData) != 0); return bResult; } bool DecodeStream::close(LPBYTE pOutputBuffer, DWORD *pOutputSize) { bool bResult = false; /* int nOutputSamples = 0; nOutputSamples = lame_encode_flush( gfp, pOutputBuffer, 0 ); if ( nOutputSamples < 0 ) { // BUFFER_TOO_SMALL *pOutputSize = 0; } else { *pOutputSize = nOutputSamples; bResult = true; } /* // lame will be close in VbrWriteTag function if ( !lame_get_bWriteVbrTag( gfp ) ) { // clean up of allocated memory lame_close( gfp ); } */ ExitMP3(&my_DecodeData); bResult = true; return bResult; } DWORD DecodeStream::GetOutputSizeForInput(const DWORD the_SrcLength) const { DWORD Result; double OutputInputRatio = double(my_SamplesPerSec * 2 * my_Channels) / double(my_SourceBitrate); OutputInputRatio *= 1.15; // allow 15% more Result = DWORD(double(the_SrcLength) * OutputInputRatio); my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "Result = %d (OutputInputRatio = %f)",Result,OutputInputRatio); return Result; } bool DecodeStream::ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader) { bool result = false; if (my_debug != NULL) { my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "enter DecodeStream::ConvertBuffer"); } int ProcessedBytes; int ret = decodeMP3(&my_DecodeData, a_StreamHeader->pbSrc, a_StreamHeader->cbSrcLength, (char *)a_StreamHeader->pbDst, a_StreamHeader->cbDstLength, &ProcessedBytes); switch (ret) { case MP3_OK: a_StreamHeader->cbSrcLengthUsed = a_StreamHeader->cbSrcLength; a_StreamHeader->cbDstLengthUsed = ProcessedBytes; result = true; break; case MP3_NEED_MORE: a_StreamHeader->cbSrcLengthUsed = 0; a_StreamHeader->cbDstLengthUsed = 0; break; case MP3_ERR: break; } /* DWORD InSize = a_StreamHeader->cbSrcLength / 2, OutSize = a_StreamHeader->cbDstLength; // 2 for 8<->16 bits // Encode it int dwSamples; int nOutputSamples = 0; dwSamples = InSize / lame_get_num_channels( gfp ); if ( 1 == lame_get_num_channels( gfp ) ) { nOutputSamples = lame_encode_buffer(gfp,(PSHORT)a_StreamHeader->pbSrc,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength); } else { nOutputSamples = lame_encode_buffer_interleaved(gfp,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength); } a_StreamHeader->cbSrcLengthUsed = a_StreamHeader->cbSrcLength; a_StreamHeader->cbDstLengthUsed = nOutputSamples; result = a_StreamHeader->cbDstLengthUsed <= a_StreamHeader->cbDstLength; */ my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "UsedSize = %d / EncodedSize = %d, result = %d, ret = %s", a_StreamHeader->cbSrcLengthUsed, a_StreamHeader->cbDstLengthUsed, result, (ret == MP3_OK)?"MP3_OK":(ret == MP3_NEED_MORE)?"MP3_NEED_MORE":"error"); if (my_debug != NULL) { my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "DecodeStream::ConvertBuffer result = %d",result); } return result; } #endif // ENABLE_DECODING 07070100069c41000081a40000000200000002000000013c4f1f9200000903000000200000000800000000000000000000001900000000reloc/ACM/DecodeStream.h/** * * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows * * Copyright (c) 2002 Steve Lhomme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: DecodeStream.h,v 1.1 2002/01/23 20:39:46 robux4 Exp $ */ #if !defined(_DECODESTREAM_H__INCLUDED_) #define _DECODESTREAM_H__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include #include #include #include "ADbg/ADbg.h" #include #include "util.h" #include "interface.h" class DecodeStream { public: DecodeStream( ); virtual ~DecodeStream( ); static DecodeStream * Create(); static const bool Erase(const DecodeStream * a_ACMStream); bool init(const int nSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const int nSourceBitrate); bool open(); bool close(LPBYTE pOutputBuffer, DWORD *pOutputSize); DWORD GetOutputSizeForInput(const DWORD the_SrcLength) const; bool ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader); static unsigned int GetOutputSampleRate(int samples_per_sec, int bitrate, int channels); protected: lame_global_flags * gfp; ADbg * my_debug; int my_SamplesPerSec; int my_Channels; int my_AvgBytesPerSec; DWORD my_SamplesPerBlock; int my_SourceBitrate; MPSTR my_DecodeData; unsigned int m_WorkingBufferUseSize; char m_WorkingBuffer[2304*2]; // should be at least twice my_SamplesPerBlock inline int GetBytesPerBlock(DWORD bytes_per_sec, DWORD samples_per_sec, int BlockAlign) const; }; #endif // !defined(_DECODESTREAM_H__INCLUDED_) 07070100069c42000081a40000000200000002000000013c4f1f9200000be2000000200000000800000000000000000000001600000000reloc/ACM/LameACM.inf; Lame codec ; enable MP3 compression in Windows ; Usage : right-click on this file and choose "Install" in the pop up menu [Version] Signature = "$CHICAGO$" Class = MEDIA [SourceDisksNames] 1="Lame MP3 Install Disk",, 0001 [SourceDisksFiles] LameACM.inf=1 LameACM.acm=1 lame_acm.xml=1 [Installable.Drivers] lameacm = 1:LameACM.acm, "msacm.lameacm", %DisplayNameWin% , , , [DefaultInstall] CopyFiles = LameACM.Copy,LameACM.Copy.Inf Updateinis = LameACM.Updateini ;addreg = LameACM.AddReg,LameACM.AddReg9x,LameACM.DoReg addreg = LameACM.AddReg,LameACM.AddReg9x MediaType = SOFTWARE [DefaultInstall.ntx86] CopyFiles = LameACM.Copy,LameACM.Copy.Inf ;addreg = LameACM.AddReg,LameACM.AddRegNT,LameACM.DoReg addreg = LameACM.AddReg,LameACM.AddRegNT MediaType = SOFTWARE [Remove_LameMP3] ;AddReg = LameACM.Unregister DelReg = LameACM.DelReg DelFiles = LameACM.Copy,LameACM.Copy.Inf UpdateInis = LameACM.UpdateIni [LameACM.Copy] LameACM.acm lame_acm.xml [LameACM.Copy.Inf] LameACM.inf [LameACM.UpdateIni] system.ini, drivers32,,"msacm.lameacm=LameACM.acm" [LameACM.AddReg] HKLM, "Software\Microsoft\Windows NT\CurrentVersion\Drivers32","msacm.lameacm",,"LameACM.acm" HKLM, "Software\Microsoft\Windows NT\CurrentVersion\Drivers.desc","LameACM.acm",,%DisplayNameWin% [LameACM.AddReg9x] HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm,Description,,%DisplayNameWin% HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm,Driver,,LameACM.acm HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm,FriendlyName,,%DisplayNameWin% HKLM,%UnInstallPath%,DisplayName,,%DisplayNameWin% HKLM,%UnInstallPath%,UninstallString,,"%10%\rundll.exe setupx.dll,InstallHinfSection Remove_LameMP3 132 %17%\%InfFile%" [LameACM.AddRegNT] HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers32","msacm.lameacm",,"LameACM.acm" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc","LameACM.acm",,%DisplayNameWin% HKLM,%UnInstallPath%,DisplayName,,%DisplayNameWin% HKLM,%UnInstallPath%,UninstallString,,"%11%\rundll32.exe setupapi,InstallHinfSection Remove_LameMP3 132 %17%\%InfFile%" ;[LameACM.DoReg] ;HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,"Lame ACM MP3 Codec",,"%11%\regsvr32.exe /s %11%\LameCom.acm" [LameACM.DelReg] HKLM,"SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc","LameACM.acm",,"" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers32","msacm.lameacm",,"" HKLM,%UnInstallPath% ;[LameACM.Unregister] ;HKLM,"Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup","Lame ACM MP3 Codec",,"%11%\regsvr32.exe /s /u %11%\LameCom.acm" [DestinationDirs] DefaultDestDir = 11 ; LDID_SYS LameACM.Copy = 11 LameACM.Copy.Inf = 17 [Strings] InfFile="LameACM.inf" DisplayNameWin="Lame ACM MP3 Codec" UnInstallPath="Software\Microsoft\Windows\CurrentVersion\Uninstall\LameACM" MediaClassName="Media Devices" mfgname="Steve Lhomme" 07070100069c43000081a40000000200000002000000014325fa9300003619000000200000000800000000000000000000001300000000reloc/ACM/Makefile# Makefile.in generated by automake 1.7.5 from Makefile.am. # ACM/Makefile. Generated from Makefile.in by configure. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # global section for every Makefile.am srcdir = . top_srcdir = .. pkgdatadir = $(datadir)/lame pkglibdir = $(libdir)/lame pkgincludedir = $(includedir)/lame top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = /opt/sfw/bin/ginstall -c install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = sparc-sun-solaris2.11 ACLOCAL = ${SHELL} /home/shake/lame-3.96.1/missing --run aclocal-1.7 ALLOCA = AMDEP_FALSE = # AMDEP_TRUE = AMTAR = ${SHELL} /home/shake/lame-3.96.1/missing --run tar AR = ar AUTOCONF = ${SHELL} /home/shake/lame-3.96.1/missing --run autoconf AUTOHEADER = ${SHELL} /home/shake/lame-3.96.1/missing --run autoheader AUTOMAKE = ${SHELL} /home/shake/lame-3.96.1/missing --run automake-1.7 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O3 -ffast-math -funroll-loops -mcpu=ultrasparc -mtune=ultrasparc -Wall CONFIG_DEFS = CPP = gcc -E CPPFLAGS = CPUTYPE = no CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -g -O2 CYGPATH_W = echo DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO = echo ECHO_C = ECHO_N = -n ECHO_T = EGREP = egrep EXEEXT = F77 = g77 FFLAGS = -g -O2 FRONTEND_CFLAGS = FRONTEND_LDADD = -lncurses -lm FRONTEND_LDFLAGS = GTK_CFLAGS = -I/opt/csw/include/gtk-1.2 -I/opt/csw/include/glib-1.2 -I/opt/csw/lib/glib/include GTK_CONFIG = /opt/csw/bin/gtk-config GTK_LIBS = -L/opt/csw/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lsocket -lnsl -lm HAVE_NASM_FALSE = HAVE_NASM_TRUE = # INCLUDES = -I$(top_srcdir)/include -I$(srcdir) INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s LDADD = LDFLAGS = LIBOBJS = LIBS = -lsocket -lnsl LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL_DEPS = ./ltmain.sh LIB_MAJOR_VERSION = 0 LIB_MINOR_VERSION = 0 LIB_WITH_DECODER_FALSE = # LIB_WITH_DECODER_TRUE = LN_S = ln -s LTLIBOBJS = MAINT = # MAINTAINER_MODE_FALSE = MAINTAINER_MODE_TRUE = # MAKEDEP = -M MAKEINFO = ${SHELL} /home/shake/lame-3.96.1/missing --run makeinfo NASM = no NASM_FORMAT = -f elf OBJEXT = o PACKAGE = lame PACKAGE_BUGREPORT = PACKAGE_NAME = PACKAGE_STRING = PACKAGE_TARNAME = PACKAGE_VERSION = PATH_SEPARATOR = : RANLIB = ranlib RM_F = rm -f SET_MAKE = SHELL = /bin/bash STRIP = strip U = VERSION = 3.96.1 WITH_BRHIST_FALSE = # WITH_BRHIST_TRUE = WITH_FRONTEND = lame WITH_MP3RTP = WITH_MP3X = ac_ct_AR = ar ac_ct_CC = gcc ac_ct_CXX = g++ ac_ct_F77 = g77 ac_ct_RANLIB = ranlib ac_ct_STRIP = strip am__fastdepCC_FALSE = # am__fastdepCC_TRUE = am__fastdepCXX_FALSE = # am__fastdepCXX_TRUE = am__include = include am__leading_dot = . am__quote = bindir = ${exec_prefix}/bin build = sparc-sun-solaris2.11 build_alias = build_cpu = sparc build_os = solaris2.11 build_vendor = sun datadir = ${prefix}/share exec_prefix = ${prefix} host = sparc-sun-solaris2.11 host_alias = host_cpu = sparc host_os = solaris2.11 host_vendor = sun includedir = ${prefix}/include infodir = ${prefix}/info install_sh = /home/shake/lame-3.96.1/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localstatedir = ${prefix}/var mandir = ${prefix}/man oldincludedir = /usr/include prefix = /usr/local program_transform_name = s,x,x, sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com sysconfdir = ${prefix}/etc target_alias = AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr SUBDIRS = ADbg ddk tinyxml EXTRA_DIST = \ ACM.cpp \ ACM.h \ ACMStream.cpp \ ACMStream.h \ AEncodeProperties.cpp \ AEncodeProperties.h \ DecodeStream.cpp \ DecodeStream.h \ LameACM.inf \ TODO \ acm.rc \ adebug.h \ lame.ico \ lameACM.def \ lameACM_vc6.dsp \ lame_acm.xml \ main.cpp \ readme.txt \ resource.h subdir = ACM ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ ps-recursive install-info-recursive uninstall-info-recursive \ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive DIST_COMMON = $(top_srcdir)/Makefile.am.global Makefile.am Makefile.in \ TODO DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign ACM/Makefile Makefile: # $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ETAGS = etags ETAGSFLAGS = CTAGS = ctags CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if (etags --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ else \ include_option=--include; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive distclean-am: clean-am distclean-generic distclean-libtool \ distclean-tags dvi: dvi-recursive dvi-am: info: info-recursive info-am: install-data-am: install-exec-am: install-info: install-info-recursive install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ clean-generic clean-libtool clean-recursive ctags \ ctags-recursive distclean distclean-generic distclean-libtool \ distclean-recursive distclean-tags distdir dvi dvi-am \ dvi-recursive info info-am info-recursive install install-am \ install-data install-data-am install-data-recursive \ install-exec install-exec-am install-exec-recursive \ install-info install-info-am install-info-recursive install-man \ install-recursive install-strip installcheck installcheck-am \ installdirs installdirs-am installdirs-recursive \ maintainer-clean maintainer-clean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-generic \ mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ pdf-recursive ps ps-am ps-recursive tags tags-recursive \ uninstall uninstall-am uninstall-info-am \ uninstall-info-recursive uninstall-recursive # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c44000081a4000000020000000200000001400e494f000001af000000200000000800000000000000000000001600000000reloc/ACM/Makefile.am## $Id: Makefile.am,v 1.5 2004/01/21 09:41:35 bouvigne Exp $ include $(top_srcdir)/Makefile.am.global SUBDIRS = ADbg ddk tinyxml EXTRA_DIST = \ ACM.cpp \ ACM.h \ ACMStream.cpp \ ACMStream.h \ AEncodeProperties.cpp \ AEncodeProperties.h \ DecodeStream.cpp \ DecodeStream.h \ LameACM.inf \ TODO \ acm.rc \ adebug.h \ lame.ico \ lameACM.def \ lameACM_vc6.dsp \ lame_acm.xml \ main.cpp \ readme.txt \ resource.h 07070100069c45000081a4000000020000000200000001400e83a5000036d0000000200000000800000000000000000000001600000000reloc/ACM/Makefile.in# Makefile.in generated by automake 1.7.5 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # global section for every Makefile.am srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = @host@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DEFS = @CONFIG_DEFS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CPUTYPE = @CPUTYPE@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FRONTEND_CFLAGS = @FRONTEND_CFLAGS@ FRONTEND_LDADD = @FRONTEND_LDADD@ FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_CONFIG = @GTK_CONFIG@ GTK_LIBS = @GTK_LIBS@ HAVE_NASM_FALSE = @HAVE_NASM_FALSE@ HAVE_NASM_TRUE = @HAVE_NASM_TRUE@ INCLUDES = @INCLUDES@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDADD = @LDADD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@ LIB_MINOR_VERSION = @LIB_MINOR_VERSION@ LIB_WITH_DECODER_FALSE = @LIB_WITH_DECODER_FALSE@ LIB_WITH_DECODER_TRUE = @LIB_WITH_DECODER_TRUE@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEDEP = @MAKEDEP@ MAKEINFO = @MAKEINFO@ NASM = @NASM@ NASM_FORMAT = @NASM_FORMAT@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ RM_F = @RM_F@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ VERSION = @VERSION@ WITH_BRHIST_FALSE = @WITH_BRHIST_FALSE@ WITH_BRHIST_TRUE = @WITH_BRHIST_TRUE@ WITH_FRONTEND = @WITH_FRONTEND@ WITH_MP3RTP = @WITH_MP3RTP@ WITH_MP3X = @WITH_MP3X@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ oldincludedir = @oldincludedir@ prefix = @prefix@ program_transform_name = @program_transform_name@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr SUBDIRS = ADbg ddk tinyxml EXTRA_DIST = \ ACM.cpp \ ACM.h \ ACMStream.cpp \ ACMStream.h \ AEncodeProperties.cpp \ AEncodeProperties.h \ DecodeStream.cpp \ DecodeStream.h \ LameACM.inf \ TODO \ acm.rc \ adebug.h \ lame.ico \ lameACM.def \ lameACM_vc6.dsp \ lame_acm.xml \ main.cpp \ readme.txt \ resource.h subdir = ACM ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ ps-recursive install-info-recursive uninstall-info-recursive \ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive DIST_COMMON = $(top_srcdir)/Makefile.am.global Makefile.am Makefile.in \ TODO DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign ACM/Makefile Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ETAGS = etags ETAGSFLAGS = CTAGS = ctags CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if (etags --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ else \ include_option=--include; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive distclean-am: clean-am distclean-generic distclean-libtool \ distclean-tags dvi: dvi-recursive dvi-am: info: info-recursive info-am: install-data-am: install-exec-am: install-info: install-info-recursive install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ clean-generic clean-libtool clean-recursive ctags \ ctags-recursive distclean distclean-generic distclean-libtool \ distclean-recursive distclean-tags distdir dvi dvi-am \ dvi-recursive info info-am info-recursive install install-am \ install-data install-data-am install-data-recursive \ install-exec install-exec-am install-exec-recursive \ install-info install-info-am install-info-recursive install-man \ install-recursive install-strip installcheck installcheck-am \ installdirs installdirs-am installdirs-recursive \ maintainer-clean maintainer-clean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-generic \ mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ pdf-recursive ps ps-am ps-recursive tags tags-recursive \ uninstall uninstall-am uninstall-info-am \ uninstall-info-recursive uninstall-recursive # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c46000081a400000002000000020000000140069b820000017f000000200000000800000000000000000000000f00000000reloc/ACM/TODO- known bug : when recording, converting, and recording a lame_close() call fail - allow decompression the same way as in the command-line - allow VBR mode - allow channel resampling (mono to stereo / stereo to mono) - allow internal resampling (difference in the format suggestion) - use global pointers for string - use the bitrate/freq tables from LAME / add the decoding engine 07070100069c47000081a40000000200000002000000014100329400001b9b000000200000000800000000000000000000001100000000reloc/ACM/acm.rc//Microsoft Developer Studio generated resource script. // #include "resource.h" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // #include "afxres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // French (France) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA) #ifdef _WIN32 LANGUAGE LANG_FRENCH, SUBLANG_FRENCH #pragma code_page(1252) #endif //_WIN32 #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // TEXTINCLUDE // 1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END 2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0" END #endif // APSTUDIO_INVOKED #ifndef _MAC ///////////////////////////////////////////////////////////////////////////// // // Version // VS_VERSION_INFO VERSIONINFO FILEVERSION 0,9,1,0 PRODUCTVERSION 0,9,1,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x3L FILESUBTYPE 0x8L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "Comments", "This is an ACM driver for Win32 using Lame to encode\0" VALUE "CompanyName", "http://www.mp3dev.org/\0" VALUE "FileDescription", "Lame MP3 codec engine\0" VALUE "FileVersion", "0.9.1\0" VALUE "InternalName", "lameACM\0" VALUE "LegalCopyright", "Copyright © 2002 Steve Lhomme, Copyright © 2002-2004 The LAME Project\0" VALUE "LegalTrademarks", "LGPL (see gnu.org)\0" VALUE "OriginalFilename", "lameACM.acm\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "Lame MP3 codec\0" VALUE "ProductVersion", "0.9.1\0" VALUE "SpecialBuild", "\0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END #endif // !_MAC ///////////////////////////////////////////////////////////////////////////// // // Icon // // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. IDI_ICON ICON DISCARDABLE "lame.ico" ///////////////////////////////////////////////////////////////////////////// // // Dialog // IDD_CONFIG DIALOGEX 0, 0, 231, 204 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Lame MP3 codec : About" FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN DEFPUSHBUTTON "OK",IDOK,65,183,50,14 PUSHBUTTON "Cancel",IDCANCEL,125,183,50,14 GROUPBOX "Encoding",IDC_STATIC,7,7,142,166 GROUPBOX "Decoding",IDC_STATIC_DECODING,154,7,70,113,WS_DISABLED GROUPBOX "Bits",IDC_STATIC,16,121,124,42 CONTROL "Copyright",IDC_CHECK_COPYRIGHT,"Button",BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,23,132,45,10 CONTROL "Checksum",IDC_CHECK_CHECKSUM,"Button",BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,84,132,49,10 CONTROL "Original",IDC_CHECK_ORIGINAL,"Button",BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,23,148,39,10 CONTROL "Private",IDC_CHECK_PRIVATE,"Button",BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,84,148,38,10 COMBOBOX IDC_COMBO_ENC_STEREO,70,21,60,53,CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP LTEXT "Stereo mode",IDC_STATIC,23,24,41,8 CONTROL "Smart Encode",IDC_CHECK_ENC_SMART,"Button", BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,49,39, 61,10 ICON IDI_ICON,IDC_STATIC_ENC_ICON,179,129,20,20 CTEXT "v0.0.0 - 0.00",IDC_STATIC_CONFIG_VERSION,168,155,43,17 CONTROL "Average BitRate",IDC_CHECK_ENC_ABR,"Button", BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,49,53, 68,10 LTEXT "Min",IDC_STATIC_AVERAGE_MIN,19,67,12,8 LTEXT "Max",IDC_STATIC_AVERAGE_MAX,17,79,14,8 LTEXT "Step",IDC_STATIC_AVERAGE_STEP,15,91,16,8 LTEXT "test",IDC_STATIC_AVERAGE_SAMPLE,19,105,12,8 CONTROL "Slider2",IDC_SLIDER_AVERAGE_MIN,"msctls_trackbar32", TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_GROUP | WS_TABSTOP,33,67,92,11 CONTROL "Slider3",IDC_SLIDER_AVERAGE_MAX,"msctls_trackbar32", TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_GROUP | WS_TABSTOP,33,79,92,11 CONTROL "Slider1",IDC_SLIDER_AVERAGE_STEP,"msctls_trackbar32", TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_GROUP | WS_TABSTOP,33,91,92,11 CONTROL "Slider4",IDC_SLIDER_AVERAGE_SAMPLE,"msctls_trackbar32", WS_TABSTOP,33,104,92,12 CTEXT "000",IDC_STATIC_AVERAGE_SAMPLE_VALUE,125,105,15,9,0, WS_EX_STATICEDGE CTEXT "000",IDC_STATIC_AVERAGE_STEP_VALUE,125,92,15,9,0, WS_EX_STATICEDGE CTEXT "000",IDC_STATIC_AVERAGE_MAX_VALUE,125,80,15,9,0, WS_EX_STATICEDGE CTEXT "000",IDC_STATIC_AVERAGE_MIN_VALUE,125,67,15,9,0, WS_EX_STATICEDGE END IDD_ABOUT DIALOG DISCARDABLE 0, 0, 187, 77 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Lame MP3 codec : About" FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "OK",IDOK,130,56,50,14 LTEXT "Steve Lhomme + LAME developers",IDC_STATIC,7,33,112,8 LTEXT "LGPL license",IDC_STATIC,7,20,43,8 ICON IDI_ICON,IDC_STATIC,145,16,20,20 LTEXT "Static",IDC_STATIC_ABOUT_TITLE,7,7,173,8 LTEXT "http://www.mp3dev.org/",IDC_STATIC_ABOUT_URL,7,47,80,8 LTEXT "icon : Lucas Granito",IDC_STATIC,7,61,64,8 END ///////////////////////////////////////////////////////////////////////////// // // DESIGNINFO // #ifdef APSTUDIO_INVOKED GUIDELINES DESIGNINFO DISCARDABLE BEGIN IDD_CONFIG, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 224 TOPMARGIN, 7 BOTTOMMARGIN, 197 END IDD_ABOUT, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 180 TOPMARGIN, 7 BOTTOMMARGIN, 70 END END #endif // APSTUDIO_INVOKED #endif // French (France) resources ///////////////////////////////////////////////////////////////////////////// #ifndef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 3 resource. // ///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED 07070100069c48000081a40000000200000002000000013c4dc13e000004e4000000200000000800000000000000000000001300000000reloc/ACM/adebug.h/** * * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows * * Copyright (c) 2002 Steve Lhomme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: adebug.h,v 1.2 2002/01/22 19:45:02 robux4 Exp $ */ #if !defined(_DEBUG_H__INCLUDED_) #define _DEBUG_H__INCLUDED_ #define DEBUG_LEVEL_CREATION 0 #define DEBUG_LEVEL_MSG 0 #define DEBUG_LEVEL_FUNC_START 1 #define DEBUG_LEVEL_FUNC_DEBUG 2 #define DEBUG_LEVEL_FUNC_CODE 3 #endif /* !defined(_DEBUG_H__INCLUDED_) */ 07070100069c49000041ed000000000000000000000002433eef9500000000000000200000000800000000000000000000000e00000000reloc/ACM/ddk07070100069c4a000081a40000000200000002000000014325fa940000203e000000200000000800000000000000000000001700000000reloc/ACM/ddk/Makefile# Makefile.in generated by automake 1.7.5 from Makefile.am. # ACM/ddk/Makefile. Generated from Makefile.in by configure. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # global section for every Makefile.am srcdir = . top_srcdir = ../.. pkgdatadir = $(datadir)/lame pkglibdir = $(libdir)/lame pkgincludedir = $(includedir)/lame top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = /opt/sfw/bin/ginstall -c install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = sparc-sun-solaris2.11 ACLOCAL = ${SHELL} /home/shake/lame-3.96.1/missing --run aclocal-1.7 ALLOCA = AMDEP_FALSE = # AMDEP_TRUE = AMTAR = ${SHELL} /home/shake/lame-3.96.1/missing --run tar AR = ar AUTOCONF = ${SHELL} /home/shake/lame-3.96.1/missing --run autoconf AUTOHEADER = ${SHELL} /home/shake/lame-3.96.1/missing --run autoheader AUTOMAKE = ${SHELL} /home/shake/lame-3.96.1/missing --run automake-1.7 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O3 -ffast-math -funroll-loops -mcpu=ultrasparc -mtune=ultrasparc -Wall CONFIG_DEFS = CPP = gcc -E CPPFLAGS = CPUTYPE = no CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -g -O2 CYGPATH_W = echo DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO = echo ECHO_C = ECHO_N = -n ECHO_T = EGREP = egrep EXEEXT = F77 = g77 FFLAGS = -g -O2 FRONTEND_CFLAGS = FRONTEND_LDADD = -lncurses -lm FRONTEND_LDFLAGS = GTK_CFLAGS = -I/opt/csw/include/gtk-1.2 -I/opt/csw/include/glib-1.2 -I/opt/csw/lib/glib/include GTK_CONFIG = /opt/csw/bin/gtk-config GTK_LIBS = -L/opt/csw/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lsocket -lnsl -lm HAVE_NASM_FALSE = HAVE_NASM_TRUE = # INCLUDES = -I$(top_srcdir)/include -I$(srcdir) INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s LDADD = LDFLAGS = LIBOBJS = LIBS = -lsocket -lnsl LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL_DEPS = ./ltmain.sh LIB_MAJOR_VERSION = 0 LIB_MINOR_VERSION = 0 LIB_WITH_DECODER_FALSE = # LIB_WITH_DECODER_TRUE = LN_S = ln -s LTLIBOBJS = MAINT = # MAINTAINER_MODE_FALSE = MAINTAINER_MODE_TRUE = # MAKEDEP = -M MAKEINFO = ${SHELL} /home/shake/lame-3.96.1/missing --run makeinfo NASM = no NASM_FORMAT = -f elf OBJEXT = o PACKAGE = lame PACKAGE_BUGREPORT = PACKAGE_NAME = PACKAGE_STRING = PACKAGE_TARNAME = PACKAGE_VERSION = PATH_SEPARATOR = : RANLIB = ranlib RM_F = rm -f SET_MAKE = SHELL = /bin/bash STRIP = strip U = VERSION = 3.96.1 WITH_BRHIST_FALSE = # WITH_BRHIST_TRUE = WITH_FRONTEND = lame WITH_MP3RTP = WITH_MP3X = ac_ct_AR = ar ac_ct_CC = gcc ac_ct_CXX = g++ ac_ct_F77 = g77 ac_ct_RANLIB = ranlib ac_ct_STRIP = strip am__fastdepCC_FALSE = # am__fastdepCC_TRUE = am__fastdepCXX_FALSE = # am__fastdepCXX_TRUE = am__include = include am__leading_dot = . am__quote = bindir = ${exec_prefix}/bin build = sparc-sun-solaris2.11 build_alias = build_cpu = sparc build_os = solaris2.11 build_vendor = sun datadir = ${prefix}/share exec_prefix = ${prefix} host = sparc-sun-solaris2.11 host_alias = host_cpu = sparc host_os = solaris2.11 host_vendor = sun includedir = ${prefix}/include infodir = ${prefix}/info install_sh = /home/shake/lame-3.96.1/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localstatedir = ${prefix}/var mandir = ${prefix}/man oldincludedir = /usr/include prefix = /usr/local program_transform_name = s,x,x, sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com sysconfdir = ${prefix}/etc target_alias = AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr EXTRA_DIST = \ msacmdrv.h subdir = ACM/ddk ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = DIST_COMMON = $(top_srcdir)/Makefile.am.global Makefile.am Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign ACM/ddk/Makefile Makefile: # $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: tags: TAGS TAGS: ctags: CTAGS CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/../.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c4b000081a40000000200000002000000013fd5eed500000085000000200000000800000000000000000000001a00000000reloc/ACM/ddk/Makefile.am## $Id: Makefile.am,v 1.1 2003/12/09 15:48:37 aleidinger Exp $ include $(top_srcdir)/Makefile.am.global EXTRA_DIST = \ msacmdrv.h 07070100069c4c000081a40000000200000002000000013fd5ef85000020ee000000200000000800000000000000000000001a00000000reloc/ACM/ddk/Makefile.in# Makefile.in generated by automake 1.7.5 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # global section for every Makefile.am srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = @host@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DEFS = @CONFIG_DEFS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CPUTYPE = @CPUTYPE@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FRONTEND_CFLAGS = @FRONTEND_CFLAGS@ FRONTEND_LDADD = @FRONTEND_LDADD@ FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_CONFIG = @GTK_CONFIG@ GTK_LIBS = @GTK_LIBS@ HAVE_NASM_FALSE = @HAVE_NASM_FALSE@ HAVE_NASM_TRUE = @HAVE_NASM_TRUE@ INCLUDES = @INCLUDES@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDADD = @LDADD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@ LIB_MINOR_VERSION = @LIB_MINOR_VERSION@ LIB_WITH_DECODER_FALSE = @LIB_WITH_DECODER_FALSE@ LIB_WITH_DECODER_TRUE = @LIB_WITH_DECODER_TRUE@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEDEP = @MAKEDEP@ MAKEINFO = @MAKEINFO@ NASM = @NASM@ NASM_FORMAT = @NASM_FORMAT@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ RM_F = @RM_F@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ VERSION = @VERSION@ WITH_BRHIST_FALSE = @WITH_BRHIST_FALSE@ WITH_BRHIST_TRUE = @WITH_BRHIST_TRUE@ WITH_FRONTEND = @WITH_FRONTEND@ WITH_MP3RTP = @WITH_MP3RTP@ WITH_MP3X = @WITH_MP3X@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ oldincludedir = @oldincludedir@ prefix = @prefix@ program_transform_name = @program_transform_name@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr EXTRA_DIST = \ msacmdrv.h subdir = ACM/ddk ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = DIST_COMMON = $(top_srcdir)/Makefile.am.global Makefile.am Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign ACM/ddk/Makefile Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: tags: TAGS TAGS: ctags: CTAGS CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/../.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c4d000081a40000000200000002000000013fc5b4a900001918000000200000000800000000000000000000001900000000reloc/ACM/ddk/msacmdrv.h/** * * Alternative msacmdrv.h file, for use in the Lame project. * File from the FFDshow project, released under LGPL by permission * from Milan Cutka. * Modified by Gabriel Bouvigne to allow compilation of Lame. * * Copyright (c) 2003 Milan Cutka * Copyright (c) 2003 Gabriel Bouvigne * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef _MSACMDRV_H_ #define _MSACMDRV_H_ #include #include typedef unsigned long ULONG_PTR, *PULONG_PTR; typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR; #undef ACMDRIVERDETAILS #undef PACMDRIVERDETAILS #undef LPACMDRIVERDETAILS #define ACMDRIVERDETAILS ACMDRIVERDETAILSW #define PACMDRIVERDETAILS PACMDRIVERDETAILSW #define LPACMDRIVERDETAILS LPACMDRIVERDETAILSW #undef ACMFORMATTAGDETAILS #undef PACMFORMATTAGDETAILS #undef LPACMFORMATTAGDETAILS #define ACMFORMATTAGDETAILS ACMFORMATTAGDETAILSW #define PACMFORMATTAGDETAILS PACMFORMATTAGDETAILSW #define LPACMFORMATTAGDETAILS LPACMFORMATTAGDETAILSW #undef ACMFORMATDETAILS #undef PACMFORMATDETAILS #undef LPACMFORMATDETAILS #define ACMFORMATDETAILS ACMFORMATDETAILSW #define PACMFORMATDETAILS PACMFORMATDETAILSW #define LPACMFORMATDETAILS LPACMFORMATDETAILSW #define MAKE_ACM_VERSION(mjr, mnr, bld) (((long)(mjr)<<24)| \ ((long)(mnr)<<16)| \ ((long)bld)) #define VERSION_MSACM MAKE_ACM_VERSION(3, 50, 0) #define VERSION_ACM_DRIVER MAKE_ACM_VERSION(4, 0, 0) #define ACMDM_DRIVER_NOTIFY (ACMDM_BASE + 1) #define ACMDM_DRIVER_DETAILS (ACMDM_BASE + 10) #define ACMDM_HARDWARE_WAVE_CAPS_INPUT (ACMDM_BASE + 20) #define ACMDM_HARDWARE_WAVE_CAPS_OUTPUT (ACMDM_BASE + 21) #define ACMDM_FORMATTAG_DETAILS (ACMDM_BASE + 25) #define ACMDM_FORMAT_DETAILS (ACMDM_BASE + 26) #define ACMDM_FORMAT_SUGGEST (ACMDM_BASE + 27) #define ACMDM_FILTERTAG_DETAILS (ACMDM_BASE + 50) #define ACMDM_FILTER_DETAILS (ACMDM_BASE + 51) #define ACMDM_STREAM_OPEN (ACMDM_BASE + 76) #define ACMDM_STREAM_CLOSE (ACMDM_BASE + 77) #define ACMDM_STREAM_SIZE (ACMDM_BASE + 78) #define ACMDM_STREAM_CONVERT (ACMDM_BASE + 79) #define ACMDM_STREAM_RESET (ACMDM_BASE + 80) #define ACMDM_STREAM_PREPARE (ACMDM_BASE + 81) #define ACMDM_STREAM_UNPREPARE (ACMDM_BASE + 82) typedef struct tACMDRVFORMATSUGGEST { DWORD cbStruct; // sizeof(ACMDRVFORMATSUGGEST) DWORD fdwSuggest; // Suggest flags LPWAVEFORMATEX pwfxSrc; // Source Format DWORD cbwfxSrc; // Source Size LPWAVEFORMATEX pwfxDst; // Dest format DWORD cbwfxDst; // Dest Size } ACMDRVFORMATSUGGEST, *PACMDRVFORMATSUGGEST, FAR *LPACMDRVFORMATSUGGEST; typedef struct tACMDRVOPENDESC { DWORD cbStruct; // sizeof(ACMDRVOPENDESC) FOURCC fccType; // 'audc' FOURCC fccComp; // sub-type (not used--must be 0) DWORD dwVersion; // current version of ACM opening you DWORD dwFlags; // DWORD dwError; // result from DRV_OPEN request LPCWSTR pszSectionName; // see DRVCONFIGINFO.lpszDCISectionName LPCWSTR pszAliasName; // see DRVCONFIGINFO.lpszDCIAliasName DWORD dnDevNode; // devnode id for pnp drivers. } ACMDRVOPENDESC, *PACMDRVOPENDESC, FAR *LPACMDRVOPENDESC; typedef struct tACMDRVSTREAMINSTANCE { DWORD cbStruct; LPWAVEFORMATEX pwfxSrc; LPWAVEFORMATEX pwfxDst; LPWAVEFILTER pwfltr; DWORD_PTR dwCallback; DWORD_PTR dwInstance; DWORD fdwOpen; DWORD fdwDriver; DWORD_PTR dwDriver; HACMSTREAM has; } ACMDRVSTREAMINSTANCE, *PACMDRVSTREAMINSTANCE, FAR *LPACMDRVSTREAMINSTANCE; typedef struct tACMDRVSTREAMSIZE { DWORD cbStruct; DWORD fdwSize; DWORD cbSrcLength; DWORD cbDstLength; } ACMDRVSTREAMSIZE, *PACMDRVSTREAMSIZE, FAR *LPACMDRVSTREAMSIZE; typedef struct tACMDRVSTREAMHEADER FAR *LPACMDRVSTREAMHEADER; typedef struct tACMDRVSTREAMHEADER { DWORD cbStruct; DWORD fdwStatus; DWORD_PTR dwUser; LPBYTE pbSrc; DWORD cbSrcLength; DWORD cbSrcLengthUsed; DWORD_PTR dwSrcUser; LPBYTE pbDst; DWORD cbDstLength; DWORD cbDstLengthUsed; DWORD_PTR dwDstUser; DWORD fdwConvert; // flags passed from convert func LPACMDRVSTREAMHEADER padshNext; // for async driver queueing DWORD fdwDriver; // driver instance flags DWORD_PTR dwDriver; // driver instance data // // all remaining fields are used by the ACM for bookkeeping purposes. // an ACM driver should never use these fields (though than can be // helpful for debugging)--note that the meaning of these fields // may change, so do NOT rely on them in shipping code. // DWORD fdwPrepared; DWORD_PTR dwPrepared; LPBYTE pbPreparedSrc; DWORD cbPreparedSrcLength; LPBYTE pbPreparedDst; DWORD cbPreparedDstLength; } ACMDRVSTREAMHEADER, *PACMDRVSTREAMHEADER; #endif 07070100069c4e000081a40000000200000002000000013c51a166000008be000000200000000800000000000000000000001300000000reloc/ACM/lame.ico ¨( @pQ2~j2Zu–yb2tY2²ÓjX+Mg…oM2mJ2zd2[<+e‡¨®Üõv\2rT2bI+PkŠœ”†vœÄjE2|£Èÿÿÿ@[wt–¶^B+‚¢Ãêÿ;Uq„©Ë€p2obMš»Ûˆ­Ì{g2‰­ÐŸËíb|›•¹×’³Ó£ÂÞµÚ•¹Ûo–¿ ¾Ý—¿ä…¨ÆsV2]Q?To‘lH2w_2OD4x`2oO2™¼×Wq‘F`~œ¿Þ©Ì€£Ç‘³Î®ËÏÊÃ4?04"""" "" " "" """"?00""" ""   ""+""" 555  +" " 555333335555+"" 553333333335 +655333333%933. 9///// <.! 9////// !!;>;;!///9##='&77*&###/9))& 7(,,*1#<66666##* :,(( %//8----)666#).,>(:%//1  66) * 8/666 22 661#%*!66  2 6"111).6  6""" 3.    22 6"" 3. 2 2 " 53822 "" 538.962     "" 53.6     " 538>      ""3'6   2 "" 58$- 2226"" 51 1/6 22222 66"""5381/66 66""" 33//6 66""" 533/66666" 33//6666666"" 3//""" 53///////07070100069c4f000081a40000000200000002000000013c4dc13e000003c0000000200000000800000000000000000000001600000000reloc/ACM/lameACM.def; Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows ; ; Copyright (c) 2002 Steve Lhomme ; ; This library is free software; you can redistribute it and/or ; modify it under the terms of the GNU Lesser General Public ; License as published by the Free Software Foundation; either ; version 2.1 of the License, or (at your option) any later version. ; ; This library is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ; Lesser General Public License for more details. ; ; You should have received a copy of the GNU Lesser General Public ; License along with this library; if not, write to the Free Software ; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA LIBRARY lameACM DESCRIPTION 'lameACM.acm: MP3 Lame ACM Codec' EXPORTS DriverProc ; EOF 07070100069c50000081a40000000200000002000000013cb1907c000024f6000000200000000800000000000000000000001a00000000reloc/ACM/lameACM_vc6.dsp# Microsoft Developer Studio Project File - Name="lameACM" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=lameACM - Win32 Debug NASM !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "lameACM_vc6.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "lameACM_vc6.mak" CFG="lameACM - Win32 Debug NASM" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "lameACM - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "lameACM - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "lameACM - Win32 Debug NASM" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "lameACM - Win32 Release NASM" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "lameACM - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /Zp2 /MT /W3 /GX /Ox /Ot /Og /Ob2 /I "../libmp3lame" /I "../include" /I ".." /I "../.." /I "../mpglib" /I "./" /D "NDEBUG" /D "_BLADEDLL" /D "TAKEHIRO_IEEE754_HACK" /D "HAVE_CONFIG_H" /D "HAVE_MPGLIB" /D "_WINDOWS" /D "WIN32" /D "NOANALYSIS" /D "LAME_ACM" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 # ADD LINK32 shell32.lib url.lib gdi32.lib winmm.lib advapi32.lib user32.lib kernel32.lib libc.lib libcp.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:"..\output\lameACM.acm" # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy lameacm.inf ..\output\*.* copy lame_acm.xml ..\output\*.* # End Special Build Tool !ELSEIF "$(CFG)" == "lameACM - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /Zp2 /MTd /W3 /GX /ZI /Od /I "../libmp3lame" /I "../include" /I ".." /I "../.." /I "../mpglib" /I "./" /D "_DEBUG" /D "_BLADEDLL" /D "TAKEHIRO_IEEE754_HACK" /D "HAVE_CONFIG_H" /D "HAVE_MPGLIB" /D "_WINDOWS" /D "WIN32" /D "NOANALYSIS" /D "LAME_ACM" /YX /FD /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 shell32.lib url.lib gdi32.lib winmm.lib advapi32.lib user32.lib kernel32.lib libcd.lib libcpd.lib /nologo /subsystem:windows /dll /debug /machine:I386 /nodefaultlib /out:"..\output\lameACM.acm" /pdbtype:sept # SUBTRACT LINK32 /map # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy lameacm.inf ..\output\*.* copy lame_acm.xml ..\output\*.* # End Special Build Tool !ELSEIF "$(CFG)" == "lameACM - Win32 Debug NASM" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug_NASM" # PROP BASE Intermediate_Dir "Debug_NASM" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug_NASM" # PROP Intermediate_Dir "Debug_NASM" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /Zp2 /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /Zp2 /MTd /W3 /GX /ZI /Od /I "../libmp3lame" /I "../include" /I ".." /I "../.." /I "../mpglib" /I "./" /D "_DEBUG" /D "HAVE_NASM" /D "MMX_choose_table" /D "_BLADEDLL" /D "TAKEHIRO_IEEE754_HACK" /D "HAVE_CONFIG_H" /D "HAVE_MPGLIB" /D "_WINDOWS" /D "WIN32" /D "NOANALYSIS" /D "LAME_ACM" /YX /FD /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept # SUBTRACT BASE LINK32 /map # ADD LINK32 shell32.lib url.lib gdi32.lib winmm.lib advapi32.lib user32.lib kernel32.lib libcd.lib libcpd.lib ADbg/Debug/adbg.lib tinyxml/Debug/tinyxml.lib /nologo /subsystem:windows /dll /debug /machine:I386 /nodefaultlib /out:"..\output\lameACM.acm" /pdbtype:sept # SUBTRACT LINK32 /map # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy lameacm.inf ..\output\*.* copy lame_acm.xml ..\output\*.* # End Special Build Tool !ELSEIF "$(CFG)" == "lameACM - Win32 Release NASM" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release_NASM" # PROP BASE Intermediate_Dir "Release_NASM" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release_NASM" # PROP Intermediate_Dir "Release_NASM" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /Zp2 /MT /W3 /GX /Ox /Ot /Og /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /Zp2 /MT /W3 /GX /Ox /Ot /Og /Ob2 /I "../libmp3lame" /I "../include" /I ".." /I "../.." /I "../mpglib" /I "./" /D "NDEBUG" /D "HAVE_NASM" /D "MMX_choose_table" /D "_BLADEDLL" /D "TAKEHIRO_IEEE754_HACK" /D "HAVE_CONFIG_H" /D "HAVE_MPGLIB" /D "_WINDOWS" /D "WIN32" /D "NOANALYSIS" /D "LAME_ACM" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /map /machine:I386 # ADD LINK32 shell32.lib url.lib gdi32.lib winmm.lib advapi32.lib user32.lib kernel32.lib libc.lib libcp.lib ADbg\Release\adbg.lib tinyxml/Release/tinyxml.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:"..\output\lameACM.acm" # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy lameacm.inf ..\output\*.* copy lame_acm.xml ..\output\*.* # End Special Build Tool !ENDIF # Begin Target # Name "lameACM - Win32 Release" # Name "lameACM - Win32 Debug" # Name "lameACM - Win32 Debug NASM" # Name "lameACM - Win32 Release NASM" # Begin Group "Source" # PROP Default_Filter "c;cpp" # Begin Source File SOURCE=.\ACM.cpp # End Source File # Begin Source File SOURCE=.\ACMStream.cpp # End Source File # Begin Source File SOURCE=.\AEncodeProperties.cpp # End Source File # Begin Source File SOURCE=.\DecodeStream.cpp # End Source File # Begin Source File SOURCE=.\lameACM.def # End Source File # Begin Source File SOURCE=.\main.cpp # End Source File # End Group # Begin Group "Include" # PROP Default_Filter "h" # Begin Source File SOURCE=.\ACM.h # End Source File # Begin Source File SOURCE=.\ACMStream.h # End Source File # Begin Source File SOURCE=.\adebug.h # End Source File # Begin Source File SOURCE=.\AEncodeProperties.h # End Source File # Begin Source File SOURCE=.\DecodeStream.h # End Source File # End Group # Begin Group "Resource" # PROP Default_Filter "rc" # Begin Source File SOURCE=.\acm.rc # End Source File # Begin Source File SOURCE=.\lame.ico # End Source File # End Group # Begin Group "Install" # PROP Default_Filter "inf;acm" # Begin Source File SOURCE=.\LameACM.inf # End Source File # End Group # Begin Source File SOURCE=.\readme.txt # End Source File # Begin Source File SOURCE=.\TODO # End Source File # End Target # End Project 07070100069c51000081a40000000200000002000000013cb01cc100000191000000200000000800000000000000000000001700000000reloc/ACM/lame_acm.xml 07070100069c52000081a40000000200000002000000013c5707f1000012ad000000200000000800000000000000000000001300000000reloc/ACM/main.cpp/** * * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows * * Copyright (c) 2002 Steve Lhomme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /*! \author Steve Lhomme \version \$Id: main.cpp,v 1.4 2002/01/29 20:37:05 robux4 Exp $ */ #if !defined(STRICT) #define STRICT #endif // STRICT #include /// The ACM is considered as a driver and run in Kernel-Mode /// So the new/delete operators have to be overriden in order to use memory /// readable out of the calling process void * operator new( unsigned int cb ) { return LocalAlloc(LPTR, cb); // VirtualAlloc } void operator delete(void *block) { LocalFree(block); } extern "C" { void *acm_Calloc( size_t num, size_t size ) { return LocalAlloc(LPTR, num * size); // VirtualAlloc } void *acm_Malloc( size_t size ) { return LocalAlloc(LPTR, size); // VirtualAlloc } void acm_Free( void * mem) { LocalFree(mem); } }; ////// End of memory instrumentation #include #include #include #include #include "AEncodeProperties.h" #include "ACM.h" #include "resource.h" #include "adebug.h" #include ADbg * debug = NULL; LONG WINAPI DriverProc(DWORD dwDriverId, HDRVR hdrvr, UINT msg, LONG lParam1, LONG lParam2) { switch (msg) { case DRV_OPEN: // acmDriverOpen { if (debug == NULL) { debug = new ADbg(DEBUG_LEVEL_CREATION); debug->setPrefix("LAMEdrv"); } if (debug != NULL) { // Sent when the driver is opened. if (lParam2 != NULL) debug->OutPut(DEBUG_LEVEL_MSG, "DRV_OPEN (ID 0x%08X), pDesc = 0x%08X",dwDriverId,lParam2); else debug->OutPut(DEBUG_LEVEL_MSG, "DRV_OPEN (ID 0x%08X), pDesc = NULL",dwDriverId); } if (lParam2 != NULL) { LPACMDRVOPENDESC pDesc = (LPACMDRVOPENDESC)lParam2; if (pDesc->fccType != ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC) { if (debug != NULL) { debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "wrong pDesc->fccType (0x%08X)",pDesc->fccType); } return NULL; } } else { if (debug != NULL) { debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "pDesc == NULL"); } } ACM * ThisACM = new ACM(GetDriverModuleHandle(hdrvr)); if (debug != NULL) { debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "OPENED instance 0x%08X",ThisACM); } return (LONG)ThisACM;// returns 0L to fail // value subsequently used // for dwDriverId. } break; case DRV_CLOSE: // acmDriverClose { if (debug != NULL) { // Sent when the driver is closed. Drivers are // unloaded when the open count reaches zero. debug->OutPut(DEBUG_LEVEL_MSG, "DRV_CLOSE"); } ACM * ThisACM = (ACM *)dwDriverId; delete ThisACM; if (debug != NULL) { debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "CLOSED instance 0x%08X",ThisACM); delete debug; debug = NULL; } return 1L; // returns 0L to fail } break; case DRV_LOAD: { // nothing to do if (debug != NULL) { // debug->OutPut(DEBUG_LEVEL_MSG, "DRV_LOAD, version %s %s %s", ACM_VERSION, __DATE__, __TIME__); debug->OutPut(DEBUG_LEVEL_MSG, "DRV_LOAD, %s %s", __DATE__, __TIME__); } return 1L; } break; case DRV_ENABLE: { // nothing to do if (debug != NULL) { debug->OutPut(DEBUG_LEVEL_MSG, "DRV_ENABLE"); } return 1L; } break; case DRV_DISABLE: { // nothing to do if (debug != NULL) { debug->OutPut(DEBUG_LEVEL_MSG, "DRV_DISABLE"); } return 1L; } break; case DRV_FREE: { if (debug != NULL) { debug->OutPut(DEBUG_LEVEL_MSG, "DRV_FREE"); } return 1L; } break; default: { ACM * ThisACM = (ACM *)dwDriverId; if (ThisACM != NULL) return ThisACM->DriverProcedure(hdrvr, msg, lParam1, lParam2); else { if (debug != NULL) { debug->OutPut(DEBUG_LEVEL_MSG, "Driver not opened, unknown message (0x%08X), lParam1 = 0x%08X, lParam2 = 0x%08X", msg, lParam1, lParam2); } return DefDriverProc (dwDriverId, hdrvr, msg, lParam1, lParam2); } } break; } } 07070100069c53000081a40000000200000002000000013fc5b4a800000354000000200000000800000000000000000000001500000000reloc/ACM/readme.txtIn order to build this codec, you need the Windows98 DDK from Microsoft. It can also work with the Windows2000/ME/XP/2003 DDK: http://www.microsoft.com/ddk/ Alternatively, the required headers are also available in CYGWIN+w32api, MINGW32 or Wine : http://www.cygwin.com/ http://www.mingw.org/ http://www.winehq.com/ If you do not have a ddk, you should be able to use the alternative msacmdrv.h provided with this ACM codec. It is not used by default because it would probably broke any real DDK already installed. --------------- Define ENABLE_DECODING if you want to use the decoding (alpha state, doesn't decode at the moment, so use it only if you plan to develop) --------------- To release this codec you will need : - lameACM.acm (result of the build process) - lameACM.inf - lame_acm.xml (where the initial configuration is stored) 07070100069c54000081a40000000200000002000000013cb01cc100000644000000200000000800000000000000000000001500000000reloc/ACM/resource.h//{{NO_DEPENDENCIES}} // Microsoft Developer Studio generated include file. // Used by acm.rc // #define IDI_ICON 101 #define IDD_CONFIG 102 #define IDD_ABOUT 103 #define IDC_STATIC_DECODING 1000 #define IDC_CHECK_COPYRIGHT 1001 #define IDC_CHECK_CHECKSUM 1002 #define IDC_CHECK_ORIGINAL 1003 #define IDC_CHECK_PRIVATE 1004 #define IDC_COMBO_ENC_STEREO 1005 #define IDC_CHECK_ENC_SMART 1006 #define IDC_STATIC_ENC_ICON 1007 #define IDC_STATIC_ABOUT_TITLE 1008 #define IDC_STATIC_ABOUT_URL 1009 #define IDC_STATIC_CONFIG_VERSION 1010 #define IDC_CHECK_ENC_ABR 1011 #define IDC_SLIDER_AVERAGE_MIN 1012 #define IDC_SLIDER_AVERAGE_MAX 1013 #define IDC_SLIDER_AVERAGE_STEP 1014 #define IDC_SLIDER_AVERAGE_SAMPLE 1015 #define IDC_STATIC_AVERAGE_MIN 1016 #define IDC_STATIC_AVERAGE_MAX 1017 #define IDC_STATIC_AVERAGE_STEP 1018 #define IDC_STATIC_AVERAGE_SAMPLE 1019 #define IDC_STATIC_AVERAGE_MIN_VALUE 1020 #define IDC_STATIC_AVERAGE_MAX_VALUE 1021 #define IDC_STATIC_AVERAGE_STEP_VALUE 1022 #define IDC_STATIC_AVERAGE_SAMPLE_VALUE 1023 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 105 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1024 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif 07070100069c55000041ed000000000000000000000002433eef9500000000000000200000000800000000000000000000001200000000reloc/ACM/tinyxml07070100069c56000081a40000000200000002000000014325fa9400002113000000200000000800000000000000000000001b00000000reloc/ACM/tinyxml/Makefile# Makefile.in generated by automake 1.7.5 from Makefile.am. # ACM/tinyxml/Makefile. Generated from Makefile.in by configure. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # global section for every Makefile.am srcdir = . top_srcdir = ../.. pkgdatadir = $(datadir)/lame pkglibdir = $(libdir)/lame pkgincludedir = $(includedir)/lame top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = /opt/sfw/bin/ginstall -c install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = sparc-sun-solaris2.11 ACLOCAL = ${SHELL} /home/shake/lame-3.96.1/missing --run aclocal-1.7 ALLOCA = AMDEP_FALSE = # AMDEP_TRUE = AMTAR = ${SHELL} /home/shake/lame-3.96.1/missing --run tar AR = ar AUTOCONF = ${SHELL} /home/shake/lame-3.96.1/missing --run autoconf AUTOHEADER = ${SHELL} /home/shake/lame-3.96.1/missing --run autoheader AUTOMAKE = ${SHELL} /home/shake/lame-3.96.1/missing --run automake-1.7 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O3 -ffast-math -funroll-loops -mcpu=ultrasparc -mtune=ultrasparc -Wall CONFIG_DEFS = CPP = gcc -E CPPFLAGS = CPUTYPE = no CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -g -O2 CYGPATH_W = echo DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO = echo ECHO_C = ECHO_N = -n ECHO_T = EGREP = egrep EXEEXT = F77 = g77 FFLAGS = -g -O2 FRONTEND_CFLAGS = FRONTEND_LDADD = -lncurses -lm FRONTEND_LDFLAGS = GTK_CFLAGS = -I/opt/csw/include/gtk-1.2 -I/opt/csw/include/glib-1.2 -I/opt/csw/lib/glib/include GTK_CONFIG = /opt/csw/bin/gtk-config GTK_LIBS = -L/opt/csw/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lsocket -lnsl -lm HAVE_NASM_FALSE = HAVE_NASM_TRUE = # INCLUDES = -I$(top_srcdir)/include -I$(srcdir) INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s LDADD = LDFLAGS = LIBOBJS = LIBS = -lsocket -lnsl LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL_DEPS = ./ltmain.sh LIB_MAJOR_VERSION = 0 LIB_MINOR_VERSION = 0 LIB_WITH_DECODER_FALSE = # LIB_WITH_DECODER_TRUE = LN_S = ln -s LTLIBOBJS = MAINT = # MAINTAINER_MODE_FALSE = MAINTAINER_MODE_TRUE = # MAKEDEP = -M MAKEINFO = ${SHELL} /home/shake/lame-3.96.1/missing --run makeinfo NASM = no NASM_FORMAT = -f elf OBJEXT = o PACKAGE = lame PACKAGE_BUGREPORT = PACKAGE_NAME = PACKAGE_STRING = PACKAGE_TARNAME = PACKAGE_VERSION = PATH_SEPARATOR = : RANLIB = ranlib RM_F = rm -f SET_MAKE = SHELL = /bin/bash STRIP = strip U = VERSION = 3.96.1 WITH_BRHIST_FALSE = # WITH_BRHIST_TRUE = WITH_FRONTEND = lame WITH_MP3RTP = WITH_MP3X = ac_ct_AR = ar ac_ct_CC = gcc ac_ct_CXX = g++ ac_ct_F77 = g77 ac_ct_RANLIB = ranlib ac_ct_STRIP = strip am__fastdepCC_FALSE = # am__fastdepCC_TRUE = am__fastdepCXX_FALSE = # am__fastdepCXX_TRUE = am__include = include am__leading_dot = . am__quote = bindir = ${exec_prefix}/bin build = sparc-sun-solaris2.11 build_alias = build_cpu = sparc build_os = solaris2.11 build_vendor = sun datadir = ${prefix}/share exec_prefix = ${prefix} host = sparc-sun-solaris2.11 host_alias = host_cpu = sparc host_os = solaris2.11 host_vendor = sun includedir = ${prefix}/include infodir = ${prefix}/info install_sh = /home/shake/lame-3.96.1/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localstatedir = ${prefix}/var mandir = ${prefix}/man oldincludedir = /usr/include prefix = /usr/local program_transform_name = s,x,x, sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com sysconfdir = ${prefix}/etc target_alias = AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr EXTRA_DIST = \ Makefile.tinyxml \ changes.txt \ dox \ makedistlinux \ makedistwin.bat \ readme.txt \ test.dsp \ test.dsw \ tinyxml.cpp \ tinyxml.dsp \ tinyxml.h \ tinyxmlerror.cpp \ tinyxmlparser.cpp \ xmltest.cpp subdir = ACM/tinyxml ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = DIST_COMMON = $(top_srcdir)/Makefile.am.global Makefile.am Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign ACM/tinyxml/Makefile Makefile: # $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: tags: TAGS TAGS: ctags: CTAGS CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/../.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c57000081a40000000200000002000000013caf01510000014e000000200000000800000000000000000000001e00000000reloc/ACM/tinyxml/Makefile.am## $Id: Makefile.am,v 1.1 2002/04/06 14:08:17 aleidinger Exp $ include $(top_srcdir)/Makefile.am.global EXTRA_DIST = \ Makefile.tinyxml \ changes.txt \ dox \ makedistlinux \ makedistwin.bat \ readme.txt \ test.dsp \ test.dsw \ tinyxml.cpp \ tinyxml.dsp \ tinyxml.h \ tinyxmlerror.cpp \ tinyxmlparser.cpp \ xmltest.cpp 07070100069c58000081a40000000200000002000000013fc88bd5000021bf000000200000000800000000000000000000001e00000000reloc/ACM/tinyxml/Makefile.in# Makefile.in generated by automake 1.7.5 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # global section for every Makefile.am srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = @host@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DEFS = @CONFIG_DEFS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CPUTYPE = @CPUTYPE@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FRONTEND_CFLAGS = @FRONTEND_CFLAGS@ FRONTEND_LDADD = @FRONTEND_LDADD@ FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_CONFIG = @GTK_CONFIG@ GTK_LIBS = @GTK_LIBS@ HAVE_NASM_FALSE = @HAVE_NASM_FALSE@ HAVE_NASM_TRUE = @HAVE_NASM_TRUE@ INCLUDES = @INCLUDES@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDADD = @LDADD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@ LIB_MINOR_VERSION = @LIB_MINOR_VERSION@ LIB_WITH_DECODER_FALSE = @LIB_WITH_DECODER_FALSE@ LIB_WITH_DECODER_TRUE = @LIB_WITH_DECODER_TRUE@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEDEP = @MAKEDEP@ MAKEINFO = @MAKEINFO@ NASM = @NASM@ NASM_FORMAT = @NASM_FORMAT@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ RM_F = @RM_F@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ VERSION = @VERSION@ WITH_BRHIST_FALSE = @WITH_BRHIST_FALSE@ WITH_BRHIST_TRUE = @WITH_BRHIST_TRUE@ WITH_FRONTEND = @WITH_FRONTEND@ WITH_MP3RTP = @WITH_MP3RTP@ WITH_MP3X = @WITH_MP3X@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ oldincludedir = @oldincludedir@ prefix = @prefix@ program_transform_name = @program_transform_name@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr EXTRA_DIST = \ Makefile.tinyxml \ changes.txt \ dox \ makedistlinux \ makedistwin.bat \ readme.txt \ test.dsp \ test.dsw \ tinyxml.cpp \ tinyxml.dsp \ tinyxml.h \ tinyxmlerror.cpp \ tinyxmlparser.cpp \ xmltest.cpp subdir = ACM/tinyxml ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = DIST_COMMON = $(top_srcdir)/Makefile.am.global Makefile.am Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign ACM/tinyxml/Makefile Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: tags: TAGS TAGS: ctags: CTAGS CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/../.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c59000081a40000000200000002000000013c6e949b000013ef000000200000000800000000000000000000002300000000reloc/ACM/tinyxml/Makefile.tinyxml#**************************************************************************** # # Makefil for TinyXml test. # Lee Thomason # www.grinninglizard.com # # This is a GNU make (gmake) makefile #**************************************************************************** # DEBUG can be set to YES to include debugging info, or NO otherwise DEBUG := YES # PROFILE can be set to YES to include profiling info, or NO otherwise PROFILE := NO #**************************************************************************** CC := gcc CXX := g++ LD := g++ AR := ar rc RANLIB := ranlib DEBUG_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -g -DDEBUG RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -O2 LIBS := DEBUG_CXXFLAGS := ${DEBUG_CFLAGS} RELEASE_CXXFLAGS := ${RELEASE_CFLAGS} DEBUG_LDFLAGS := -g RELEASE_LDFLAGS := ifeq (YES, ${DEBUG}) CFLAGS := ${DEBUG_CFLAGS} CXXFLAGS := ${DEBUG_CXXFLAGS} LDFLAGS := ${DEBUG_LDFLAGS} else CFLAGS := ${RELEASE_CFLAGS} CXXFLAGS := ${RELEASE_CXXFLAGS} LDFLAGS := ${RELEASE_LDFLAGS} endif ifeq (YES, ${PROFILE}) CFLAGS := ${CFLAGS} -pg CXXFLAGS := ${CXXFLAGS} -pg LDFLAGS := ${LDFLAGS} -pg endif #**************************************************************************** # Preprocessor directives #**************************************************************************** ifeq (YES, ${PROFILE}) DEFS := else DEFS := endif #**************************************************************************** # Include paths #**************************************************************************** #INCS := -I/usr/include/g++-2 -I/usr/local/include INCS := #**************************************************************************** # Makefile code common to all platforms #**************************************************************************** CFLAGS := ${CFLAGS} ${DEFS} CXXFLAGS := ${CXXFLAGS} ${DEFS} #**************************************************************************** # Targets of the build #**************************************************************************** OUTPUT := xmltest all: ${OUTPUT} #**************************************************************************** # Source files #**************************************************************************** SRCS := tinyxml.cpp tinyxmlparser.cpp xmltest.cpp tinyxmlerror.cpp # Add on the sources for libraries SRCS := ${SRCS} OBJS := $(addsuffix .o,$(basename ${SRCS})) #**************************************************************************** # Output #**************************************************************************** ${OUTPUT}: ${OBJS} ${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} #**************************************************************************** # common rules #**************************************************************************** # Rules for compiling source files to object files %.o : %.cpp ${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@ %.o : %.c ${CC} -c ${CFLAGS} ${INCS} $< -o $@ clean: -rm -f core ${OBJS} ${OUTPUT} depend: makedepend ${INCS} ${SRCS} # DO NOT DELETE tinyxml.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h tinyxml.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h tinyxml.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h tinyxml.o: /usr/include/bits/sched.h /usr/include/libio.h tinyxml.o: /usr/include/_G_config.h /usr/include/wchar.h tinyxml.o: /usr/include/bits/wchar.h /usr/include/gconv.h tinyxml.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h tinyxmlparser.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h tinyxmlparser.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h tinyxmlparser.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h tinyxmlparser.o: /usr/include/bits/sched.h /usr/include/libio.h tinyxmlparser.o: /usr/include/_G_config.h /usr/include/wchar.h tinyxmlparser.o: /usr/include/bits/wchar.h /usr/include/gconv.h tinyxmlparser.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h tinyxmlparser.o: /usr/include/ctype.h /usr/include/endian.h tinyxmlparser.o: /usr/include/bits/endian.h xmltest.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h xmltest.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h xmltest.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h xmltest.o: /usr/include/bits/sched.h /usr/include/libio.h xmltest.o: /usr/include/_G_config.h /usr/include/wchar.h xmltest.o: /usr/include/bits/wchar.h /usr/include/gconv.h xmltest.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h tinyxmlerror.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h tinyxmlerror.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h tinyxmlerror.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h tinyxmlerror.o: /usr/include/bits/sched.h /usr/include/libio.h tinyxmlerror.o: /usr/include/_G_config.h /usr/include/wchar.h tinyxmlerror.o: /usr/include/bits/wchar.h /usr/include/gconv.h tinyxmlerror.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h 07070100069c5a000081a40000000200000002000000013c6e949e00000d18000000200000000800000000000000000000001e00000000reloc/ACM/tinyxml/changes.txtChanges in version 1.0.1: - Fixed comment tags which were outputing as ' include. Thanks to Steve Lhomme for that. Changes in version 2.0.0 - Made the ToXXX() casts safe if 'this' is null. When "LoadFile" is called with a filename, the value will correctly get set. Thanks to Brian Yoder. - Fixed bug where isalpha() and isalnum() would get called with a negative value for high ascii numbers. Thanks to Alesky Aksenov. - Fixed some errors codes that were not getting set. - Made methods "const" that were not. - Added a switch to enable or disable the ignoring of white space. ( TiXmlDocument::SetIgnoreWhiteSpace() ) - Greater standardization and code re-use in the parser. - Added a stream out operator. - Added a stream in operator. - Entity support. TODO CDATA. Support for "generic entity" #xxx thing. 07070100069c5b000081a40000000200000002000000013c6e949e00006db1000000200000000800000000000000000000001600000000reloc/ACM/tinyxml/dox# Doxyfile 1.2.2 # This file describes the settings to be used by doxygen for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # General configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = TinyXml # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = ./docs # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, # Korean, Hungarian, Spanish, Romanian, Russian, Croatian, Polish, and # Portuguese. OUTPUT_LANGUAGE = English # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = YES # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these class will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = YES # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. It is allowed to use relative paths in the argument list. STRIP_FROM_PATH = # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a class diagram (in Html and LaTeX) for classes with base or # super classes. Setting the tag to NO turns the diagrams off. CLASS_DIAGRAMS = YES # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower case letters. If set to YES upper case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # users are adviced to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the Javadoc-style will # behave just like the Qt-style comments. JAVADOC_AUTOBRIEF = YES # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # reimplements. INHERIT_DOCS = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # The ENABLE_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. WARN_FORMAT = "$file:$line: $text" #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = . "readme.txt" # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. FILE_PATTERNS = *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. INPUT_FILTER = #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = . # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimised for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using a WORD or other. # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assigments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. Warning: This feature # is still experimental and very incomplete. GENERATE_XML = NO #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_PREDEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = #--------------------------------------------------------------------------- # Configuration::addtions related to external references #--------------------------------------------------------------------------- # The TAGFILES tag can be used to specify one or more tagfiles. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to # YES then doxygen will generate a graph for each documented file showing # the direct and indirect include dependencies of the file with other # documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to # YES then doxygen will generate a graph for each documented header file showing # the documented files that directly or indirectly include this file INCLUDED_BY_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found on the path. DOT_PATH = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 #--------------------------------------------------------------------------- # Configuration::addtions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO # The CGI_NAME tag should be the name of the CGI script that # starts the search engine (doxysearch) with the correct parameters. # A script with this name will be generated by doxygen. CGI_NAME = search.cgi # The CGI_URL tag should be the absolute URL to the directory where the # cgi binaries are located. See the documentation of your http daemon for # details. CGI_URL = # The DOC_URL tag should be the absolute URL to the directory where the # documentation is located. If left blank the absolute path to the # documentation, with file:// prepended to it, will be used. DOC_URL = # The DOC_ABSPATH tag should be the absolute path to the directory where the # documentation is located. If left blank the directory on the local machine # will be used. DOC_ABSPATH = # The BIN_ABSPATH tag must point to the directory where the doxysearch binary # is installed. BIN_ABSPATH = /usr/local/bin/ # The EXT_DOC_PATHS tag can be used to specify one or more paths to # documentation generated for other projects. This allows doxysearch to search # the documentation for these projects as well. EXT_DOC_PATHS = 07070100069c5c000081a40000000200000002000000013c6e949e00000215000000200000000800000000000000000000002000000000reloc/ACM/tinyxml/makedistlinuxecho "Making version: " echo $1 echo $2 echo $3 rm ./docs/* doxygen dox rm -rf ./tinyxml/* rm tinyxml_$1_$2_$3.zip rm tinyxml_$1_$2_$3.tar.gz rmdir tinyxml mkdir tinyxml cp readme.txt ./tinyxml cp changes.txt ./tinyxml cp Makefile ./tinyxml cp tinyxml.cpp tinyxml cp tinyxmlerror.cpp tinyxml cp tinyxmlparser.cpp tinyxml cp xmltest.cpp tinyxml cp tinyxml.h tinyxml cp tinyxml.dsp tinyxml mkdir ./tinyxml/docs cp ./docs/* ./tinyxml/docs tar -zcf tinyxml_$1_$2_$3.tar.gz tinyxml zip -r -q -9 tinyxml_$1_$2_$3.zip tinyxml 07070100069c5d000081ed0000000200000002000000013c6e949e0000014b000000200000000800000000000000000000002200000000reloc/ACM/tinyxml/makedistwin.batdel .\tinyxml_win\*.* del .\docs\*.* doxygen dox mkdir tinyxml_win copy readme.txt tinyxml_win copy changes.txt tinyxml_win copy *.cpp tinyxml_win copy *.h tinyxml_win copy *.dsp tinyxml_win copy test0.xml tinyxml_win copy test1.xml tinyxml_win copy test2.xml tinyxml_win mkdir .\tinyxml_win\docs copy docs .\tinyxml_win\docs 07070100069c5e000081a40000000200000002000000013caedcea00002810000000200000000800000000000000000000001d00000000reloc/ACM/tinyxml/readme.txt/** @mainpage

TinyXml

TinyXml is a simple, small, C++ XML parser that can be easily integrating into other programs.

What it does.

In brief, TinyXml parses an XML document, and builds from that a Document Object Model that can be read, modified, and saved. XML stands for "eXtensible Markup Language." It allows you to create your own document markups. Where HTML does a very good job of marking documents for browsers, XML allows you to define any kind of document markup, for example a document that describes a "to do" list for an organizer application. XML is a very structured and convenient format. All those random file formats created to store application data can all be replaced with XML. One parser for everything. There are different ways to access and interact with XML data. TinyXml uses a Document Object Model, meaning the XML data is parsed into a tree objects that can be browsed and manipulated, and then written back to disk. You can also construct an XML document from scratch with C++ objects and write this to disk. TinyXml is designed to be easy and fast. It is one header and three cpp files. Simply add these to your project and off you go. There is an example to get you started. It is released under the ZLib license, so you can use it in open source or commercial code. It attempts to be a flexible parser, but with truly correct and compliant XML output (with the exception of the character set, below.) TinyXml should compile on any reasonably C++ system. It does not rely on exceptions or RTTI, and only uses the STL string class.

What it doesn't do.

It doesn’t parse or use DTDs (Document Type Definitions) or XSL’s (eXtensible Stylesheet Language.) It is limited to the ASCII character set. There are other parsers out there (check out www.sourceforge.org, search for XML) that are much more fully featured. But they are also much bigger, take longer to set up in your project, have a higher learning curve, and often have a more restrictive license. If you are working with browsers or have more complete XML needs, TinyXml is not the parser for you.

Code Status.

Currently in use, TinyXml is looking pretty stable. If you find bugs, send them in and we'll get them straightened out as soon as possible. There are some areas of improvement; please check sourceforge if you are interested in working on TinxXml.

Changes between version 1 and 2

Entities

TinyXml recognizes the pre-defined "entity references", meaning special characters. Namely: @verbatim & & < < > > " " ' ‘ @endverbatim These are recognized when the XML document is read, and translated to there ASCII equivalents. For instance, text with the XML of: @verbatim Far & Away @endverbatim will have the Value() of "Far & Away" when queried from the TiXmlText object, but will be written back to the XML stream/file as an entitity. TiXml will ignore unknown entities and the @verbatim "&#x" @endverbatim entities, and leave them unprocessed.

Streams

TiXml has been modified to support both C (FILE) and C++ (operator <<,>>) streams. There are some differences that you may need to be aware of. C style output: - based on FILE* - the Print() and SaveFile() methods Generates formatted output, with plenty of white space, intended to be as human-readable as possible. They are very fast, and tolerant of ill formed XML documents. For example, an XML document that contains 2 root elements and 2 declarations, will print. C style input: - based on FILE* - the Parse() and LoadFile() methods A fast, tolerant read. Use whenever you don't need the C++ streams. C++ style ouput: - based on std::ostream - operator<< Generates condensed output, intended for network transmission rather than readability. Depending on your system's implementation of the ostream class, these may be somewhat slower. (Or may not.) Not tolerant of ill formed XML: a document should contain the correct one root element. Additional root level elements will not be streamed out. C++ style input: - based on std::istream - operator>> Reads XML from a stream, making it useful for network transmission. The tricky part is knowing when the XML document is complete, since there will almost certainly be other data in the stream. TinyXml will assume the XML data is complete after it reads the root element. Also not that operator>> is somewhat slower than Parse, due to both implementation of the STL and limitations of TinyXml.

White space

The world simply does not agree on whether white space should be kept, or condensed. For example, pretend the '_' is a space, and look at "Hello____world". HTML, and at least some XML parsers, will interpret this as "Hello_world". They condense white space. Some XML parsers do not, and will leave it as "Hello____world". (Remember to keep pretending the _ is a space.) It's an issue that hasn't been resolved to my satisfaction. TinyXml supports both motifs. Call TiXmlBase::SetCondenseWhiteSpace( bool ) to set the desired behavior. The default is to condense white space. If you change the default, you should call TiXmlBase::SetCondenseWhiteSpace( bool ) before making any calls to Parse XML data, and I don't recommend changing it after it has been set.

Using and Installing

To Compile and Run xmltest: A Linux Makefile and a Windows Visual C++ .dsp file is provided. Simply compile and run. It will write the file demotest.xml to your disk and generate output on the screen. It also tests walking the DOM by printing out the number of nodes found using different techniques. The Linux makefile is very generic and will probably run on other systems, but is only tested on Linux. You no longer need to run 'make depend'. The dependecies have been hard coded. To Use in an Application: Add tinyxml.cpp, tinyxml.h, tinyxmlerror.cpp, and tinyxmlparser.cpp to your project or make file. That's it! It should compile on any reasonably compliant C++ system. You do not need to enable exceptions or RTTI for TinyXml.

Where it may go.

At this point, I'm focusing on tightening up remaining issues. Bug fixes (though comfortably rare) and minor interface corrections. There are some "it would be nice if..." items. I'll keep those posted as tasks on SourceForge. (www.sourceforge.net/projects/tinyxml)

How TinyXml works.

An example is probably the best way to go. Take: @verbatim Go to the Toy store! Do bills @endverbatim It’s not much of a To Do list, but it will do. To read this file (say "demo.xml") you would create a document, and parse it in: @verbatim TiXmlDocument doc( "demo.xml" ); doc.LoadFile(); @endverbatim And it’s ready to go. Now let’s look at some lines and how they relate to the DOM. The first line is a declaration, and gets turned into the TiXmlDeclaration class. It will be the first child of the document node. This is the only directive/special tag parsed by by TinyXml. Generally directive targs are stored in TiXmlUnknown so the commands won’t be lost when it is saved back to disk. A comment. Will become a TiXmlComment object. The ToDo tag defines a TiXmlElement object. This one does not have any attributes, but will contain 2 other elements, both of which are items. Creates another TiXmlElement which is a child of the "ToDo" element. This element has 1 attribute, with the name ‘priority’ and the value ‘1’. Go to the A TiXmlText. This is a leaf node and cannot contain other nodes. It is a child of the ‘Item" Element. Another TiXmlElement, this one a child of the "Item" element. Etc. Looking at the entire object tree, you end up with: @verbatim TiXmlDocument "demo.xml" TiXmlDeclaration "version='1.0'" "standalone=‘no’" TiXmlComment " Our to do list data" TiXmlElement "ToDo" TiXmlElement "Item" Attribtutes: priority = 1 TiXmlText "Go to the " TiXmlElement "bold" TiXmlText "Toy store!" TiXmlElement "Item" Attributes: priority=2 TiXmlText "bills" @endverbatim

Contributors

Thanks very much to everyone who sends suggestions, bugs, ideas, and encouragement. It all helps, and makes this project fun. A special thanks to the contributors on the web pages that keep it lively. So many people have sent in bugs and ideas, that rather than list here I try to give credit due in the "changes.txt" file.

Documentation

The documentation is build with Doxygen, using the 'dox' configuration file.

License

TinyXml is released under the zlib license: This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution.

References

The World Wide Web Consortium is the definitive standard body for XML, and there web pages contain huge amounts of information. I also recommend "XML Pocket Reference" by Robert Eckstein and published by O’Reilly.

Contact Me:

I’d appreciates your suggestions, and would love to know if you use TinyXml. I hope you enjoy it and find it useful. Please post questions, comments, file bugs, or contact me at: www.sourceforge.net/projects/tinyxml Lee Thomason */ 07070100069c5f000081a40000000200000002000000013c4f1f9200000d96000000200000000800000000000000000000001b00000000reloc/ACM/tinyxml/test.dsp# Microsoft Developer Studio Project File - Name="test" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 5.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=test - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "test.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "test.mak" CFG="test - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "test - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "test - Win32 Debug" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "test - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD BASE RSC /l 0x40c /d "NDEBUG" # ADD RSC /l 0x40c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 !ELSEIF "$(CFG)" == "test - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "test___W" # PROP BASE Intermediate_Dir "test___W" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "test___W" # PROP Intermediate_Dir "test___W" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD BASE RSC /l 0x40c /d "_DEBUG" # ADD RSC /l 0x40c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "test - Win32 Release" # Name "test - Win32 Debug" # Begin Source File SOURCE=.\demotest.xml # End Source File # Begin Source File SOURCE=.\smalltest.xml # End Source File # Begin Source File SOURCE=.\xmltest.cpp # End Source File # End Target # End Project 07070100069c60000081a40000000200000002000000013c4f1f9200000328000000200000000800000000000000000000001b00000000reloc/ACM/tinyxml/test.dswMicrosoft Developer Studio Workspace File, Format Version 5.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "test"=.\test.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name tinyxml End Project Dependency }}} ############################################################################### Project: "tinyxml"=.\tinyxml.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### 07070100069c61000081a40000000200000002000000013caedcea00004822000000200000000800000000000000000000001e00000000reloc/ACM/tinyxml/tinyxml.cpp/* Copyright (c) 2000 Lee Thomason (www.grinninglizard.com) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ #include #include #include #include "tinyxml.h" using namespace std; bool TiXmlBase::condenseWhiteSpace = true; void TiXmlBase::PutString( const std::string& str, std::ostream* stream ) { // Scan for the all important '&' unsigned int i=0, j=0; while ( i < str.length() ) { unsigned next = str.find( '&', i ); if ( next == string::npos ) { stream->write( &str.at( i ), str.length() - i ); return; } // We found an entity. if ( next - i > 0 ) stream->write( &str.at( i ), next - i ); i = next; // Check for the special "&#x" entitity if ( i < str.length() - 2 && str[i] == '&' && str[i+1] == '#' && str[i+2] == 'x' ) { stream->put( str[i] ); } else { for ( j=0; jwrite( entity[j].str, entity[j].strLength ); break; } } if ( j == NUM_ENTITY ) { stream->put( str[i] ); } } ++i; } } TiXmlNode::TiXmlNode( NodeType _type ) { parent = 0; type = _type; firstChild = 0; lastChild = 0; prev = 0; next = 0; } TiXmlNode::~TiXmlNode() { TiXmlNode* node = firstChild; TiXmlNode* temp = 0; while ( node ) { temp = node; node = node->next; delete temp; } } void TiXmlNode::Clear() { TiXmlNode* node = firstChild; TiXmlNode* temp = 0; while ( node ) { temp = node; node = node->next; delete temp; } firstChild = 0; lastChild = 0; } TiXmlNode* TiXmlNode::LinkEndChild( TiXmlNode* node ) { node->parent = this; node->prev = lastChild; node->next = 0; if ( lastChild ) lastChild->next = node; else firstChild = node; // it was an empty list. lastChild = node; return node; } TiXmlNode* TiXmlNode::InsertEndChild( const TiXmlNode& addThis ) { TiXmlNode* node = addThis.Clone(); if ( !node ) return 0; return LinkEndChild( node ); } TiXmlNode* TiXmlNode::InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis ) { if ( beforeThis->parent != this ) return 0; TiXmlNode* node = addThis.Clone(); if ( !node ) return 0; node->parent = this; node->next = beforeThis; node->prev = beforeThis->prev; beforeThis->prev->next = node; beforeThis->prev = node; return node; } TiXmlNode* TiXmlNode::InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis ) { if ( afterThis->parent != this ) return 0; TiXmlNode* node = addThis.Clone(); if ( !node ) return 0; node->parent = this; node->prev = afterThis; node->next = afterThis->next; afterThis->next->prev = node; afterThis->next = node; return node; } TiXmlNode* TiXmlNode::ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis ) { if ( replaceThis->parent != this ) return 0; TiXmlNode* node = withThis.Clone(); if ( !node ) return 0; node->next = replaceThis->next; node->prev = replaceThis->prev; if ( replaceThis->next ) replaceThis->next->prev = node; else lastChild = node; if ( replaceThis->prev ) replaceThis->prev->next = node; else firstChild = node; delete replaceThis; node->parent = this; return node; } bool TiXmlNode::RemoveChild( TiXmlNode* removeThis ) { if ( removeThis->parent != this ) { assert( 0 ); return false; } if ( removeThis->next ) removeThis->next->prev = removeThis->prev; else lastChild = removeThis->prev; if ( removeThis->prev ) removeThis->prev->next = removeThis->next; else firstChild = removeThis->next; delete removeThis; return true; } TiXmlNode* TiXmlNode::FirstChild( const std::string& value ) const { TiXmlNode* node; for ( node = firstChild; node; node = node->next ) { if ( node->Value() == value ) return node; } return 0; } TiXmlNode* TiXmlNode::LastChild( const std::string& value ) const { TiXmlNode* node; for ( node = lastChild; node; node = node->prev ) { if ( node->Value() == value ) return node; } return 0; } TiXmlNode* TiXmlNode::IterateChildren( TiXmlNode* previous ) const { if ( !previous ) { return FirstChild(); } else { assert( previous->parent == this ); return previous->NextSibling(); } } TiXmlNode* TiXmlNode::IterateChildren( const std::string& val, TiXmlNode* previous ) const { if ( !previous ) { return FirstChild( val ); } else { assert( previous->parent == this ); return previous->NextSibling( val ); } } TiXmlNode* TiXmlNode::NextSibling( const std::string& value ) const { TiXmlNode* node; for ( node = next; node; node = node->next ) { if ( node->Value() == value ) return node; } return 0; } TiXmlNode* TiXmlNode::PreviousSibling( const std::string& value ) const { TiXmlNode* node; for ( node = prev; node; node = node->prev ) { if ( node->Value() == value ) return node; } return 0; } void TiXmlElement::RemoveAttribute( const std::string& name ) { TiXmlAttribute* node = attributeSet.Find( name ); if ( node ) { attributeSet.Remove( node ); delete node; } } TiXmlElement* TiXmlNode::FirstChildElement() const { TiXmlNode* node; for ( node = FirstChild(); node; node = node->NextSibling() ) { if ( node->ToElement() ) return node->ToElement(); } return 0; } TiXmlElement* TiXmlNode::FirstChildElement( const std::string& value ) const { TiXmlNode* node; for ( node = FirstChild( value ); node; node = node->NextSibling( value ) ) { if ( node->ToElement() ) return node->ToElement(); } return 0; } TiXmlElement* TiXmlNode::NextSiblingElement() const { TiXmlNode* node; for ( node = NextSibling(); node; node = node->NextSibling() ) { if ( node->ToElement() ) return node->ToElement(); } return 0; } TiXmlElement* TiXmlNode::NextSiblingElement( const std::string& value ) const { TiXmlNode* node; for ( node = NextSibling( value ); node; node = node->NextSibling( value ) ) { if ( node->ToElement() ) return node->ToElement(); } return 0; } TiXmlDocument* TiXmlNode::GetDocument() const { const TiXmlNode* node; for( node = this; node; node = node->parent ) { if ( node->ToDocument() ) return node->ToDocument(); } return 0; } // TiXmlElement::TiXmlElement() // : TiXmlNode( TiXmlNode::ELEMENT ) // { // } TiXmlElement::TiXmlElement( const std::string& _value ) : TiXmlNode( TiXmlNode::ELEMENT ) { firstChild = lastChild = 0; value = _value; } TiXmlElement::~TiXmlElement() { while( attributeSet.First() ) { TiXmlAttribute* node = attributeSet.First(); attributeSet.Remove( node ); delete node; } } const std::string* TiXmlElement::Attribute( const std::string& name ) const { TiXmlAttribute* node = attributeSet.Find( name ); if ( node ) return &(node->Value() ); return 0; } const std::string* TiXmlElement::Attribute( const std::string& name, int* i ) const { const std::string* s = Attribute( name ); if ( s ) *i = atoi( s->c_str() ); else *i = 0; return s; } void TiXmlElement::SetAttribute( const std::string& name, int val ) { char buf[64]; sprintf( buf, "%d", val ); std::string v = buf; SetAttribute( name, v ); } void TiXmlElement::SetAttribute( const std::string& name, const std::string& value ) { TiXmlAttribute* node = attributeSet.Find( name ); if ( node ) { node->SetValue( value ); return; } TiXmlAttribute* attrib = new TiXmlAttribute( name, value ); if ( attrib ) { attributeSet.Add( attrib ); } else { TiXmlDocument* document = GetDocument(); if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY ); } } void TiXmlElement::Print( FILE* cfile, int depth ) const { int i; for ( i=0; iNext() ) { fprintf( cfile, " " ); attrib->Print( cfile, depth ); } // There are 3 different formatting approaches: // 1) An element without children is printed as a node // 2) An element with only a text child is printed as text // 3) An element with children is printed on multiple lines. TiXmlNode* node; if ( !firstChild ) { fprintf( cfile, " />" ); } else if ( firstChild == lastChild && firstChild->ToText() ) { fprintf( cfile, ">" ); firstChild->Print( cfile, depth + 1 ); fprintf( cfile, "", value.c_str() ); } else { fprintf( cfile, ">" ); for ( node = firstChild; node; node=node->NextSibling() ) { if ( !node->ToText() ) { fprintf( cfile, "\n" ); } node->Print( cfile, depth+1 ); } fprintf( cfile, "\n" ); for( i=0; i", value.c_str() ); } } void TiXmlElement::StreamOut( std::ostream* stream ) const { (*stream) << "<" << value; TiXmlAttribute* attrib; for ( attrib = attributeSet.First(); attrib; attrib = attrib->Next() ) { (*stream) << " "; attrib->StreamOut( stream ); } // If this node has children, give it a closing tag. Else // make it an empty tag. TiXmlNode* node; if ( firstChild ) { (*stream) << ">"; for ( node = firstChild; node; node=node->NextSibling() ) { node->StreamOut( stream ); } (*stream) << ""; } else { (*stream) << " />"; } } TiXmlNode* TiXmlElement::Clone() const { TiXmlElement* clone = new TiXmlElement( Value() ); if ( !clone ) return 0; CopyToClone( clone ); // Clone the attributes, then clone the children. TiXmlAttribute* attribute = 0; for( attribute = attributeSet.First(); attribute; attribute = attribute->Next() ) { clone->SetAttribute( attribute->Name(), attribute->Value() ); } TiXmlNode* node = 0; for ( node = firstChild; node; node = node->NextSibling() ) { clone->LinkEndChild( node->Clone() ); } return clone; } TiXmlDocument::TiXmlDocument() : TiXmlNode( TiXmlNode::DOCUMENT ) { error = false; // ignoreWhiteSpace = true; } TiXmlDocument::TiXmlDocument( const std::string& documentName ) : TiXmlNode( TiXmlNode::DOCUMENT ) { // ignoreWhiteSpace = true; value = documentName; error = false; } bool TiXmlDocument::LoadFile() { return LoadFile( value ); } bool TiXmlDocument::SaveFile() const { return SaveFile( value ); } bool TiXmlDocument::LoadFile( const std::string& filename ) { // Delete the existing data: Clear(); value = filename; FILE* file = fopen( filename.c_str(), "r" ); if ( file ) { // Get the file size, so we can pre-allocate the string. HUGE speed impact. long length = 0; fseek( file, 0, SEEK_END ); length = ftell( file ); fseek( file, 0, SEEK_SET ); // If we have a file, assume it is all one big XML file, and read it in. // The document parser may decide the document ends sooner than the entire file, however. std::string data; data.reserve( length ); const int BUF_SIZE = 2048; char buf[BUF_SIZE]; while( fgets( buf, BUF_SIZE, file ) ) { data += buf; } fclose( file ); Parse( data.c_str() ); if ( !Error() ) { return true; } } SetError( TIXML_ERROR_OPENING_FILE ); return false; } bool TiXmlDocument::SaveFile( const std::string& filename ) const { // The old c stuff lives on... FILE* fp = fopen( filename.c_str(), "w" ); if ( fp ) { Print( fp, 0 ); fclose( fp ); return true; } return false; } TiXmlNode* TiXmlDocument::Clone() const { TiXmlDocument* clone = new TiXmlDocument(); if ( !clone ) return 0; CopyToClone( clone ); clone->error = error; clone->errorDesc = errorDesc; TiXmlNode* node = 0; for ( node = firstChild; node; node = node->NextSibling() ) { clone->LinkEndChild( node->Clone() ); } return clone; } void TiXmlDocument::Print( FILE* cfile, int depth ) const { TiXmlNode* node; for ( node=FirstChild(); node; node=node->NextSibling() ) { node->Print( cfile, depth ); fprintf( cfile, "\n" ); } } void TiXmlDocument::StreamOut( std::ostream* out ) const { TiXmlNode* node; for ( node=FirstChild(); node; node=node->NextSibling() ) { node->StreamOut( out ); // Special rule for streams: stop after the root element. // The stream in code will only read one element, so don't // write more than one. if ( node->ToElement() ) break; } } TiXmlAttribute* TiXmlAttribute::Next() const { // We are using knowledge of the sentinel. The sentinel // have a value or name. if ( next->value.empty() && next->name.empty() ) return 0; return next; } TiXmlAttribute* TiXmlAttribute::Previous() const { // We are using knowledge of the sentinel. The sentinel // have a value or name. if ( prev->value.empty() && prev->name.empty() ) return 0; return prev; } void TiXmlAttribute::Print( FILE* cfile, int /*depth*/ ) const { ostringstream stream( ostringstream::out ); stream.str().reserve( 500 ); StreamOut( &stream ); fprintf( cfile, "%s", stream.str().c_str() ); } void TiXmlAttribute::StreamOut( std::ostream* stream ) const { if ( value.find( '\"' ) != std::string::npos ) { PutString( name, stream ); (*stream) << "=" << "'"; PutString( value, stream ); (*stream) << "'"; } else { PutString( name, stream ); (*stream) << "=" << "\""; PutString( value, stream ); (*stream) << "\""; } } void TiXmlAttribute::SetIntValue( int value ) { std::string s; std::ostringstream stream( s ); stream << value; SetValue( stream.str() ); } void TiXmlAttribute::SetDoubleValue( double value ) { std::string s; std::ostringstream stream( s ); stream << value; SetValue( stream.str() ); } const int TiXmlAttribute::IntValue() const { int v; std::istringstream string( value ); string >> v; return v; } const double TiXmlAttribute::DoubleValue() const { double v; std::istringstream string( value ); string >> v; return v; } void TiXmlComment::Print( FILE* cfile, int depth ) const { ostringstream stream( ostringstream::out ); stream.str().reserve( 1000 ); for ( int i=0; i"; } TiXmlNode* TiXmlComment::Clone() const { TiXmlComment* clone = new TiXmlComment(); if ( !clone ) return 0; CopyToClone( clone ); return clone; } void TiXmlText::Print( FILE* cfile, int depth ) const { ostringstream stream( ostringstream::out ); stream.str().reserve( 1000 ); StreamOut( &stream ); fprintf( cfile, "%s", stream.str().c_str() ); } void TiXmlText::StreamOut( std::ostream* stream ) const { PutString( value, stream ); } TiXmlNode* TiXmlText::Clone() const { TiXmlText* clone = 0; clone = new TiXmlText( "" ); if ( !clone ) return 0; CopyToClone( clone ); return clone; } TiXmlDeclaration::TiXmlDeclaration( const std::string& _version, const std::string& _encoding, const std::string& _standalone ) : TiXmlNode( TiXmlNode::DECLARATION ) { version = _version; encoding = _encoding; standalone = _standalone; } void TiXmlDeclaration::Print( FILE* cfile, int depth ) const { ostringstream stream( ostringstream::out ); stream.str().reserve( 200 ); StreamOut( &stream ); fprintf( cfile, "%s", stream.str().c_str() ); } void TiXmlDeclaration::StreamOut( std::ostream* stream ) const { (*stream) << ""; } TiXmlNode* TiXmlDeclaration::Clone() const { TiXmlDeclaration* clone = new TiXmlDeclaration(); if ( !clone ) return 0; CopyToClone( clone ); clone->version = version; clone->encoding = encoding; clone->standalone = standalone; return clone; } void TiXmlUnknown::Print( FILE* cfile, int depth ) const { ostringstream stream( ostringstream::out ); stream.str().reserve( 200 ); StreamOut( &stream ); for ( int i=0; i"; // Don't use entities hear! It is unknown. } TiXmlNode* TiXmlUnknown::Clone() const { TiXmlUnknown* clone = new TiXmlUnknown(); if ( !clone ) return 0; CopyToClone( clone ); return clone; } TiXmlAttributeSet::TiXmlAttributeSet() { sentinel.next = &sentinel; sentinel.prev = &sentinel; } TiXmlAttributeSet::~TiXmlAttributeSet() { assert( sentinel.next == &sentinel ); assert( sentinel.prev == &sentinel ); } void TiXmlAttributeSet::Add( TiXmlAttribute* addMe ) { assert( !Find( addMe->Name() ) ); // Shouldn't be multiply adding to the set. addMe->next = &sentinel; addMe->prev = sentinel.prev; sentinel.prev->next = addMe; sentinel.prev = addMe; } void TiXmlAttributeSet::Remove( TiXmlAttribute* removeMe ) { TiXmlAttribute* node; for( node = sentinel.next; node != &sentinel; node = node->next ) { if ( node == removeMe ) { node->prev->next = node->next; node->next->prev = node->prev; node->next = 0; node->prev = 0; return; } } assert( 0 ); // we tried to remove a non-linked attribute. } TiXmlAttribute* TiXmlAttributeSet::Find( const std::string& name ) const { TiXmlAttribute* node; for( node = sentinel.next; node != &sentinel; node = node->next ) { if ( node->Name() == name ) return node; } return 0; } 07070100069c62000081a40000000200000002000000013caedcea000010b2000000200000000800000000000000000000001e00000000reloc/ACM/tinyxml/tinyxml.dsp# Microsoft Developer Studio Project File - Name="tinyxml" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Static Library" 0x0104 CFG=tinyxml - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "tinyxml.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "tinyxml.mak" CFG="tinyxml - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "tinyxml - Win32 Release" (based on "Win32 (x86) Static Library") !MESSAGE "tinyxml - Win32 Debug" (based on "Win32 (x86) Static Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "tinyxml - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD BASE RSC /l 0x40c /d "NDEBUG" # ADD RSC /l 0x40c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 !ELSEIF "$(CFG)" == "tinyxml - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c # ADD BASE RSC /l 0x40c /d "_DEBUG" # ADD RSC /l 0x40c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "tinyxml - Win32 Release" # Name "tinyxml - Win32 Debug" # Begin Source File SOURCE=.\changes.txt # End Source File # Begin Source File SOURCE=.\readme.txt # End Source File # Begin Source File SOURCE=.\tinyxml.cpp # End Source File # Begin Source File SOURCE=.\tinyxml.h # End Source File # Begin Source File SOURCE=.\tinyxmlerror.cpp # End Source File # Begin Source File SOURCE=.\tinyxmlparser.cpp # End Source File # End Target # End Project 07070100069c63000081a40000000200000002000000013caedcea0000663a000000200000000800000000000000000000001c00000000reloc/ACM/tinyxml/tinyxml.h/* Copyright (c) 2000 Lee Thomason (www.grinninglizard.com) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ #ifndef TINYXML_INCLUDED #define TINYXML_INCLUDED #pragma warning( disable : 4530 ) #pragma warning( disable : 4786 ) #include #include #include class TiXmlDocument; class TiXmlElement; class TiXmlComment; class TiXmlUnknown; class TiXmlAttribute; class TiXmlText; class TiXmlDeclaration; // Help out windows: #if defined( _DEBUG ) && !defined( DEBUG ) #define DEBUG #endif #if defined( DEBUG ) && defined( _MSC_VER ) #include #define TIXML_LOG OutputDebugString #else #define TIXML_LOG printf #endif /** TiXmlBase is a base class for every class in TinyXml. It does little except to establish that TinyXml classes can be printed and provide some utility functions. In XML, the document and elements can contain other elements and other types of nodes. @verbatim A Document can contain: Element (container or leaf) Comment (leaf) Unknown (leaf) Declaration( leaf ) An Element can contain: Element (container or leaf) Text (leaf) Attributes (not on tree) Comment (leaf) Unknown (leaf) A Decleration contains: Attributes (not on tree) @endverbatim */ class TiXmlBase { friend class TiXmlNode; friend class TiXmlElement; friend class TiXmlDocument; public: TiXmlBase() {} virtual ~TiXmlBase() {} /** All TinyXml classes can print themselves to a filestream. This is a formatted print, and will insert tabs and newlines. (For an unformatted stream, use the << operator.) */ virtual void Print( FILE* cfile, int depth ) const = 0; // [internal] Underlying implementation of the operator << virtual void StreamOut ( std::ostream* out ) const = 0; /** The world does not agree on whether white space should be kept or not. In order to make everyone happy, these global, static functions are provided to set whether or not TinyXml will condense all white space into a single space or not. The default is to condense. Note changing these values is not thread safe. */ static void SetCondenseWhiteSpace( bool condense ) { condenseWhiteSpace = condense; } /// Return the current white space setting. static bool IsWhiteSpaceCondensed() { return condenseWhiteSpace; } protected: static const char* SkipWhiteSpace( const char* ); static bool StreamWhiteSpace( std::istream* in, std::string* tag ); static bool IsWhiteSpace( int c ) { return ( isspace( c ) || c == '\n' || c == '\r' ); } /* Read to the specified character. Returns true if the character found and no error. */ static bool StreamTo( std::istream* in, int character, std::string* tag ); /* Reads an XML name into the string provided. Returns a pointer just past the last character of the name, or 0 if the function has an error. */ static const char* ReadName( const char*, std::string* name ); /* Reads text. Returns a pointer past the given end tag. Wickedly complex options, but it keeps the (sensitive) code in one place. */ static const char* ReadText( const char* in, // where to start std::string* text, // the string read bool ignoreWhiteSpace, // whether to keep the white space const char* endTag, // what ends this text bool ignoreCase ); // whether to ignore case in the end tag virtual const char* Parse( const char* p ) = 0; // If an entity has been found, transform it into a character. static const char* GetEntity( const char* in, char* value ); // Get a character, while interpreting entities. inline static const char* GetChar( const char* p, char* value ) { assert( p ); if ( *p == '&' ) { return GetEntity( p, value ); } else { *value = *p; return p+1; } } // Puts a string to a stream, expanding entities as it goes. // Note this should not contian the '<', '>', etc, or they will be transformed into entities! static void PutString( const std::string& str, std::ostream* stream ); // Return true if the next characters in the stream are any of the endTag sequences. bool static StringEqual( const char* p, const char* endTag, bool ignoreCase ); enum { TIXML_NO_ERROR = 0, TIXML_ERROR, TIXML_ERROR_OPENING_FILE, TIXML_ERROR_OUT_OF_MEMORY, TIXML_ERROR_PARSING_ELEMENT, TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME, TIXML_ERROR_READING_ELEMENT_VALUE, TIXML_ERROR_READING_ATTRIBUTES, TIXML_ERROR_PARSING_EMPTY, TIXML_ERROR_READING_END_TAG, TIXML_ERROR_PARSING_UNKNOWN, TIXML_ERROR_PARSING_COMMENT, TIXML_ERROR_PARSING_DECLARATION, TIXML_ERROR_DOCUMENT_EMPTY, TIXML_ERROR_STRING_COUNT }; static const char* errorString[ TIXML_ERROR_STRING_COUNT ]; private: struct Entity { const char* str; unsigned int strLength; int chr; }; enum { NUM_ENTITY = 5, MAX_ENTITY_LENGTH = 6 }; static Entity entity[ NUM_ENTITY ]; static bool condenseWhiteSpace; }; /** The parent class for everything in the Document Object Model. (Except for attributes, which are contained in elements.) Nodes have siblings, a parent, and children. A node can be in a document, or stand on its own. The type of a TiXmlNode can be queried, and it can be cast to its more defined type. */ class TiXmlNode : public TiXmlBase { public: /** An output stream operator, for every class. Note that this outputs without any newlines or formatting, as opposed to Print(), which includes tabs and new lines. The operator<< and operator>> are not completely symmetric. Writing a node to a stream is very well defined. You'll get a nice stream of output, without any extra whitespace or newlines. But reading is not as well defined. (As it always is.) If you create a TiXmlElement (for example) and read that from an input stream, the text needs to define an element or junk will result. This is true of all input streams, but it's worth keeping in mind. A TiXmlDocument will read nodes until it reads a root element. */ friend std::ostream& operator<< ( std::ostream& out, const TiXmlNode& base ) { base.StreamOut( &out ); return out; } /** An input stream operator, for every class. Tolerant of newlines and formatting, but doesn't expect them. */ friend std::istream& operator>> ( std::istream& in, TiXmlNode& base ) { std::string tag; tag.reserve( 8 * 1000 ); base.StreamIn( &in, &tag ); base.Parse( tag.c_str() ); return in; } /** The types of XML nodes supported by TinyXml. (All the unsupported types are picked up by UNKNOWN.) */ enum NodeType { DOCUMENT, ELEMENT, COMMENT, UNKNOWN, TEXT, DECLARATION, TYPECOUNT }; virtual ~TiXmlNode(); /** The meaning of 'value' changes for the specific type of TiXmlNode. @verbatim Document: filename of the xml file Element: name of the element Comment: the comment text Unknown: the tag contents Text: the text string @endverbatim The subclasses will wrap this function. */ const std::string& Value() const { return value; } /** Changes the value of the node. Defined as: @verbatim Document: filename of the xml file Element: name of the element Comment: the comment text Unknown: the tag contents Text: the text string @endverbatim */ void SetValue( const std::string& _value ) { value = _value; } /// Delete all the children of this node. Does not affect 'this'. void Clear(); /// One step up the DOM. TiXmlNode* Parent() const { return parent; } TiXmlNode* FirstChild() const { return firstChild; } ///< The first child of this node. Will be null if there are no children. TiXmlNode* FirstChild( const std::string& value ) const; ///< The first child of this node with the matching 'value'. Will be null if none found. TiXmlNode* LastChild() const { return lastChild; } /// The last child of this node. Will be null if there are no children. TiXmlNode* LastChild( const std::string& value ) const; /// The last child of this node matching 'value'. Will be null if there are no children. /** An alternate way to walk the children of a node. One way to iterate over nodes is: @verbatim for( child = parent->FirstChild(); child; child = child->NextSibling() ) @endverbatim IterateChildren does the same thing with the syntax: @verbatim child = 0; while( child = parent->IterateChildren( child ) ) @endverbatim IterateChildren takes the previous child as input and finds the next one. If the previous child is null, it returns the first. IterateChildren will return null when done. */ TiXmlNode* IterateChildren( TiXmlNode* previous ) const; /// This flavor of IterateChildren searches for children with a particular 'value' TiXmlNode* IterateChildren( const std::string& value, TiXmlNode* previous ) const; /** Add a new node related to this. Adds a child past the LastChild. Returns a pointer to the new object or NULL if an error occured. */ TiXmlNode* InsertEndChild( const TiXmlNode& addThis ); /** Add a new node related to this. Adds a child before the specified child. Returns a pointer to the new object or NULL if an error occured. */ TiXmlNode* InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis ); /** Add a new node related to this. Adds a child after the specified child. Returns a pointer to the new object or NULL if an error occured. */ TiXmlNode* InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis ); /** Replace a child of this node. Returns a pointer to the new object or NULL if an error occured. */ TiXmlNode* ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis ); /// Delete a child of this node. bool RemoveChild( TiXmlNode* removeThis ); /// Navigate to a sibling node. TiXmlNode* PreviousSibling() const { return prev; } /// Navigate to a sibling node. TiXmlNode* PreviousSibling( const std::string& ) const; /// Navigate to a sibling node. TiXmlNode* NextSibling() const { return next; } /// Navigate to a sibling node with the given 'value'. TiXmlNode* NextSibling( const std::string& ) const; /** Convenience function to get through elements. Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element. */ TiXmlElement* NextSiblingElement() const; /** Convenience function to get through elements. Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element. */ TiXmlElement* NextSiblingElement( const std::string& ) const; /// Convenience function to get through elements. TiXmlElement* FirstChildElement() const; /// Convenience function to get through elements. TiXmlElement* FirstChildElement( const std::string& value ) const; /// Query the type (as an enumerated value, above) of this node. virtual int Type() const { return type; } /** Return a pointer to the Document this node lives in. Returns null if not in a document. */ TiXmlDocument* GetDocument() const; /// Returns true if this node has no children. bool NoChildren() const { return !firstChild; } TiXmlDocument* ToDocument() const { return ( this && type == DOCUMENT ) ? (TiXmlDocument*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type. TiXmlElement* ToElement() const { return ( this && type == ELEMENT ) ? (TiXmlElement*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type. TiXmlComment* ToComment() const { return ( this && type == COMMENT ) ? (TiXmlComment*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type. TiXmlUnknown* ToUnknown() const { return ( this && type == UNKNOWN ) ? (TiXmlUnknown*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type. TiXmlText* ToText() const { return ( this && type == TEXT ) ? (TiXmlText*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type. TiXmlDeclaration* ToDeclaration() const { return ( this && type == DECLARATION ) ? (TiXmlDeclaration*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type. virtual TiXmlNode* Clone() const = 0; // The real work of the input operator. virtual void StreamIn( std::istream* in, std::string* tag ) = 0; protected: TiXmlNode( NodeType type ); // The node is passed in by ownership. This object will delete it. TiXmlNode* LinkEndChild( TiXmlNode* addThis ); // Figure out what is at *p, and parse it. Returns null if it is not an xml node. TiXmlNode* Identify( const char* start ); void CopyToClone( TiXmlNode* target ) const { target->value = value; } TiXmlNode* parent; NodeType type; TiXmlNode* firstChild; TiXmlNode* lastChild; std::string value; TiXmlNode* prev; TiXmlNode* next; }; /** An attribute is a name-value pair. Elements have an arbitrary number of attributes, each with a unique name. @note The attributes are not TiXmlNodes, since they are not part of the tinyXML document object model. There are other suggested ways to look at this problem. @note Attributes have a parent */ class TiXmlAttribute : public TiXmlBase { friend class TiXmlAttributeSet; public: /// Construct an empty attribute. TiXmlAttribute() : prev( 0 ), next( 0 ) {} /// Construct an attribute with a name and value. TiXmlAttribute( const std::string& _name, const std::string& _value ) : name( _name ), value( _value ), prev( 0 ), next( 0 ) {} const std::string& Name() const { return name; } ///< Return the name of this attribute. const std::string& Value() const { return value; } ///< Return the value of this attribute. const int IntValue() const; ///< Return the value of this attribute, converted to an integer. const double DoubleValue() const; ///< Return the value of this attribute, converted to a double. void SetName( const std::string& _name ) { name = _name; } ///< Set the name of this attribute. void SetValue( const std::string& _value ) { value = _value; } ///< Set the value. void SetIntValue( int value ); ///< Set the value from an integer. void SetDoubleValue( double value ); ///< Set the value from a double. /// Get the next sibling attribute in the DOM. Returns null at end. TiXmlAttribute* Next() const; /// Get the previous sibling attribute in the DOM. Returns null at beginning. TiXmlAttribute* Previous() const; bool operator==( const TiXmlAttribute& rhs ) const { return rhs.name == name; } bool operator<( const TiXmlAttribute& rhs ) const { return name < rhs.name; } bool operator>( const TiXmlAttribute& rhs ) const { return name > rhs.name; } /* [internal use] Attribtue parsing starts: first letter of the name returns: the next char after the value end quote */ virtual const char* Parse( const char* p ); // [internal use] virtual void Print( FILE* cfile, int depth ) const; // [internal use] virtual void StreamOut( std::ostream* out ) const; // [internal use] // Set the document pointer so the attribute can report errors. void SetDocument( TiXmlDocument* doc ) { document = doc; } private: TiXmlDocument* document; // A pointer back to a document, for error reporting. std::string name; std::string value; TiXmlAttribute* prev; TiXmlAttribute* next; }; /* A class used to manage a group of attributes. It is only used internally, both by the ELEMENT and the DECLARATION. The set can be changed transparent to the Element and Declaration classes that use it, but NOT transparent to the Attribute which has to implement a next() and previous() method. Which makes it a bit problematic and prevents the use of STL. This version is implemented with circular lists because: - I like circular lists - it demonstrates some independence from the (typical) doubly linked list. */ class TiXmlAttributeSet { public: TiXmlAttributeSet(); ~TiXmlAttributeSet(); void Add( TiXmlAttribute* attribute ); void Remove( TiXmlAttribute* attribute ); TiXmlAttribute* First() const { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; } TiXmlAttribute* Last() const { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; } TiXmlAttribute* Find( const std::string& name ) const; private: TiXmlAttribute sentinel; }; /** The element is a container class. It has a value, the element name, and can contain other elements, text, comments, and unknowns. Elements also contain an arbitrary number of attributes. */ class TiXmlElement : public TiXmlNode { public: /// Construct an element. TiXmlElement( const std::string& value ); virtual ~TiXmlElement(); /** Given an attribute name, attribute returns the value for the attribute of that name, or null if none exists. */ const std::string* Attribute( const std::string& name ) const; /** Given an attribute name, attribute returns the value for the attribute of that name, or null if none exists. */ const std::string* Attribute( const std::string& name, int* i ) const; /** Sets an attribute of name to a given value. The attribute will be created if it does not exist, or changed if it does. */ void SetAttribute( const std::string& name, const std::string& value ); /** Sets an attribute of name to a given value. The attribute will be created if it does not exist, or changed if it does. */ void SetAttribute( const std::string& name, int value ); /** Deletes an attribute with the given name. */ void RemoveAttribute( const std::string& name ); TiXmlAttribute* FirstAttribute() const { return attributeSet.First(); } ///< Access the first attribute in this element. TiXmlAttribute* LastAttribute() const { return attributeSet.Last(); } ///< Access the last attribute in this element. // [internal use] Creates a new Element and returs it. virtual TiXmlNode* Clone() const; // [internal use] virtual void Print( FILE* cfile, int depth ) const; // [internal use] virtual void StreamOut ( std::ostream* out ) const; // [internal use] virtual void StreamIn( std::istream* in, std::string* tag ); protected: /* [internal use] Attribtue parsing starts: next char past '<' returns: next char past '>' */ virtual const char* Parse( const char* p ); /* [internal use] Reads the "value" of the element -- another element, or text. This should terminate with the current end tag. */ const char* ReadValue( const char* in ); bool ReadValue( std::istream* in ); private: TiXmlAttributeSet attributeSet; }; /** An XML comment. */ class TiXmlComment : public TiXmlNode { public: /// Constructs an empty comment. TiXmlComment() : TiXmlNode( TiXmlNode::COMMENT ) {} virtual ~TiXmlComment() {} // [internal use] Creates a new Element and returs it. virtual TiXmlNode* Clone() const; // [internal use] virtual void Print( FILE* cfile, int depth ) const; // [internal use] virtual void StreamOut ( std::ostream* out ) const; // [internal use] virtual void StreamIn( std::istream* in, std::string* tag ); protected: /* [internal use] Attribtue parsing starts: at the ! of the !-- returns: next char past '>' */ virtual const char* Parse( const char* p ); }; /** XML text. Contained in an element. */ class TiXmlText : public TiXmlNode { public: TiXmlText( const std::string& initValue ) : TiXmlNode( TiXmlNode::TEXT ) { SetValue( initValue ); } virtual ~TiXmlText() {} // [internal use] Creates a new Element and returns it. virtual TiXmlNode* Clone() const; // [internal use] virtual void Print( FILE* cfile, int depth ) const; // [internal use] virtual void StreamOut ( std::ostream* out ) const; // [internal use] bool Blank() const; // returns true if all white space and new lines /* [internal use] Attribtue parsing starts: First char of the text returns: next char past '>' */ virtual const char* Parse( const char* p ); // [internal use] virtual void StreamIn( std::istream* in, std::string* tag ); }; /** In correct XML the declaration is the first entry in the file. @verbatim @endverbatim TinyXml will happily read or write files without a declaration, however. There are 3 possible attributes to the declaration: version, encoding, and standalone. Note: In this version of the code, the attributes are handled as special cases, not generic attributes, simply because there can only be at most 3 and they are always the same. */ class TiXmlDeclaration : public TiXmlNode { public: /// Construct an empty declaration. TiXmlDeclaration() : TiXmlNode( TiXmlNode::DECLARATION ) {} /// Construct. TiXmlDeclaration( const std::string& version, const std::string& encoding, const std::string& standalone ); virtual ~TiXmlDeclaration() {} /// Version. Will return empty if none was found. const std::string& Version() const { return version; } /// Encoding. Will return empty if none was found. const std::string& Encoding() const { return encoding; } /// Is this a standalone document? const std::string& Standalone() const { return standalone; } // [internal use] Creates a new Element and returs it. virtual TiXmlNode* Clone() const; // [internal use] virtual void Print( FILE* cfile, int depth ) const; // [internal use] virtual void StreamOut ( std::ostream* out ) const; // [internal use] virtual void StreamIn( std::istream* in, std::string* tag ); protected: // [internal use] // Attribtue parsing starts: next char past '<' // returns: next char past '>' virtual const char* Parse( const char* p ); private: std::string version; std::string encoding; std::string standalone; }; /** Any tag that tinyXml doesn't recognize is save as an unknown. It is a tag of text, but should not be modified. It will be written back to the XML, unchanged, when the file is saved. */ class TiXmlUnknown : public TiXmlNode { public: TiXmlUnknown() : TiXmlNode( TiXmlNode::UNKNOWN ) {} virtual ~TiXmlUnknown() {} // [internal use] virtual TiXmlNode* Clone() const; // [internal use] virtual void Print( FILE* cfile, int depth ) const; // [internal use] virtual void StreamOut ( std::ostream* out ) const; // [internal use] virtual void StreamIn( std::istream* in, std::string* tag ); protected: /* [internal use] Attribute parsing starts: First char of the text returns: next char past '>' */ virtual const char* Parse( const char* p ); }; /** Always the top level node. A document binds together all the XML pieces. It can be saved, loaded, and printed to the screen. The 'value' of a document node is the xml file name. */ class TiXmlDocument : public TiXmlNode { public: /// Create an empty document, that has no name. TiXmlDocument(); /// Create a document with a name. The name of the document is also the filename of the xml. TiXmlDocument( const std::string& documentName ); virtual ~TiXmlDocument() {} /** Load a file using the current document value. Returns true if successful. Will delete any existing document data before loading. */ bool LoadFile(); /// Save a file using the current document value. Returns true if successful. bool SaveFile() const; /// Load a file using the given filename. Returns true if successful. bool LoadFile( const std::string& filename ); /// Save a file using the given filename. Returns true if successful. bool SaveFile( const std::string& filename ) const; /// Parse the given null terminated block of xml data. virtual const char* Parse( const char* p ); /** Get the root element -- the only top level element -- of the document. In well formed XML, there should only be one. TinyXml is tolerant of multiple elements at the document level. */ TiXmlElement* RootElement() const { return FirstChildElement(); } /// If, during parsing, a error occurs, Error will be set to true. bool Error() const { return error; } /// Contains a textual (english) description of the error if one occurs. const std::string& ErrorDesc() const { return errorDesc; } /** Generally, you probably want the error string ( ErrorDesc() ). But if you prefer the ErrorId, this function will fetch it. */ const int ErrorId() const { return errorId; } /// If you have handled the error, it can be reset with this call. void ClearError() { error = false; errorId = 0; errorDesc = ""; } /** Dump the document to standard out. */ void Print() const { Print( stdout, 0 ); } // [internal use] virtual void Print( FILE* cfile, int depth = 0 ) const; // [internal use] virtual void StreamOut ( std::ostream* out ) const; // [internal use] virtual TiXmlNode* Clone() const; // [internal use] void SetError( int err ) { assert( err > 0 && err < TIXML_ERROR_STRING_COUNT ); error = true; errorId = err; errorDesc = errorString[ errorId ]; } // [internal use] virtual void StreamIn( std::istream* in, std::string* tag ); protected: private: bool error; int errorId; std::string errorDesc; }; #endif 07070100069c64000081a40000000200000002000000013c6e949e000002af000000200000000800000000000000000000002300000000reloc/ACM/tinyxml/tinyxmlerror.cpp#include "tinyxml.h" // The goal of the seperate error file is to make the first // step towards localization. tinyxml (currently) only supports // latin-1, but at least the error messages could now be translated. // // It also cleans up the code a bit. // const char* TiXmlBase::errorString[ TIXML_ERROR_STRING_COUNT ] = { "No error", "Error", "Failed to open file", "Memory allocation failed.", "Error parsing Element.", "Failed to read Element name", "Error reading Element value.", "Error reading Attributes.", "Error: empty tag.", "Error reading end tag.", "Error parsing Unknown.", "Error parsing Comment.", "Error parsing Declaration.", "Error document empty." }; 07070100069c65000081a40000000200000002000000013caedcea0000456a000000200000000800000000000000000000002400000000reloc/ACM/tinyxml/tinyxmlparser.cpp/* Copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ #include "tinyxml.h" #include #include using namespace std; //#define DEBUG_PARSER TiXmlBase::Entity TiXmlBase::entity[ NUM_ENTITY ] = { { "&", 5, '&' }, { "<", 4, '<' }, { ">", 4, '>' }, { """, 6, '\"' }, { "'", 6, '\'' } }; const char* TiXmlBase::SkipWhiteSpace( const char* p ) { if ( !p || !*p ) { return 0; } while ( p && *p ) { if ( isspace( *p ) || *p == '\n' || *p =='\r' ) // Still using old rules for white space. ++p; else break; } return p; } /*static*/ bool TiXmlBase::StreamWhiteSpace( std::istream* in, std::string* tag ) { for( ;; ) { if ( !in->good() ) return false; int c = in->peek(); if ( !IsWhiteSpace( c ) ) return true; *tag += in->get(); } } /*static*/ bool TiXmlBase::StreamTo( std::istream* in, int character, std::string* tag ) { while ( in->good() ) { int c = in->peek(); if ( c == character ) return true; in->get(); *tag += c; } return false; } const char* TiXmlBase::ReadName( const char* p, string* name ) { *name = ""; assert( p ); // Names start with letters or underscores. // After that, they can be letters, underscores, numbers, // hyphens, or colons. (Colons are valid ony for namespaces, // but tinyxml can't tell namespaces from names.) if ( p && *p && ( isalpha( (unsigned char) *p ) || *p == '_' ) ) { while( p && *p && ( isalnum( (unsigned char ) *p ) || *p == '_' || *p == '-' || *p == ':' ) ) { (*name) += *p; ++p; } return p; } return 0; } const char* TiXmlBase::GetEntity( const char* p, char* value ) { // Presume an entity, and pull it out. string ent; int i; // Ignore the &#x entities. if ( strncmp( "&#x", p, 3 ) == 0 ) { *value = *p; return p+1; } // Now try to match it. for( i=0; iappend( &c, 1 ); } } else { bool whitespace = false; // Remove leading white space: p = SkipWhiteSpace( p ); while ( p && *p && !StringEqual( p, endTag, caseInsensitive ) ) { if ( *p == '\r' || *p == '\n' ) { whitespace = true; ++p; } else if ( isspace( *p ) ) { whitespace = true; ++p; } else { // If we've found whitespace, add it before the // new character. Any whitespace just becomes a space. if ( whitespace ) { text->append( " ", 1 ); whitespace = false; } char c; p = GetChar( p, &c ); text->append( &c, 1 ); } } } return p + strlen( endTag ); } void TiXmlDocument::StreamIn( std::istream* in, std::string* tag ) { // The basic issue with a document is that we don't know what we're // streaming. Read something presumed to be a tag (and hope), then // identify it, and call the appropriate stream method on the tag. // // This "pre-streaming" will never read the closing ">" so the // sub-tag can orient itself. if ( !StreamTo( in, '<', tag ) ) { SetError( TIXML_ERROR_PARSING_EMPTY ); return; } while ( in->good() ) { int tagIndex = tag->length(); while ( in->good() && in->peek() != '>' ) { int c = in->get(); (*tag) += (char) c; } if ( in->good() ) { // We now have something we presume to be a node of // some sort. Identify it, and call the node to // continue streaming. TiXmlNode* node = Identify( tag->c_str() + tagIndex ); if ( node ) { node->StreamIn( in, tag ); bool isElement = node->ToElement() != 0; delete node; node = 0; // If this is the root element, we're done. Parsing will be // done by the >> operator. if ( isElement ) { return; } } else { SetError( TIXML_ERROR ); return; } } } // We should have returned sooner. SetError( TIXML_ERROR ); } const char* TiXmlDocument::Parse( const char* p ) { // Parse away, at the document level. Since a document // contains nothing but other tags, most of what happens // here is skipping white space. // // In this variant (as opposed to stream and Parse) we // read everything we can. if ( !p || !*p || !( p = SkipWhiteSpace( p ) ) ) { SetError( TIXML_ERROR_DOCUMENT_EMPTY ); return false; } while ( p && *p ) { TiXmlNode* node = Identify( p ); if ( node ) { p = node->Parse( p ); LinkEndChild( node ); } else { break; } p = SkipWhiteSpace( p ); } // All is well. return p; } TiXmlNode* TiXmlNode::Identify( const char* p ) { TiXmlNode* returnNode = 0; p = SkipWhiteSpace( p ); if( !p || !*p || *p != '<' ) { return 0; } TiXmlDocument* doc = GetDocument(); p = SkipWhiteSpace( p ); if ( !p || !*p ) { return 0; } // What is this thing? // - Elements start with a letter or underscore, but xml is reserved. // - Comments: "; if ( !StringEqual( p, startTag, false ) ) { document->SetError( TIXML_ERROR_PARSING_COMMENT ); return 0; } p += strlen( startTag ); p = ReadText( p, &value, false, endTag, false ); return p; } const char* TiXmlAttribute::Parse( const char* p ) { p = SkipWhiteSpace( p ); if ( !p || !*p ) return 0; // Read the name, the '=' and the value. p = ReadName( p, &name ); if ( !p || !*p ) { if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES ); return 0; } p = SkipWhiteSpace( p ); if ( !p || !*p || *p != '=' ) { if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES ); return 0; } ++p; // skip '=' p = SkipWhiteSpace( p ); if ( !p || !*p ) { if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES ); return 0; } const char* end; if ( *p == '\'' ) { ++p; end = "\'"; p = ReadText( p, &value, false, end, false ); } else if ( *p == '"' ) { ++p; end = "\""; p = ReadText( p, &value, false, end, false ); } else { // All attribute values should be in single or double quotes. // But this is such a common error that the parser will try // its best, even without them. value = ""; while ( p && *p // existence && !isspace( *p ) && *p != '\n' && *p != '\r' // whitespace && *p != '/' && *p != '>' ) // tag end { value += *p; ++p; } } return p; } void TiXmlText::StreamIn( std::istream* in, std::string* tag ) { while ( in->good() ) { int c = in->peek(); if ( c == '<' ) return; (*tag) += c; in->get(); } } const char* TiXmlText::Parse( const char* p ) { value = ""; //TiXmlDocument* doc = GetDocument(); bool ignoreWhite = true; // if ( doc && !doc->IgnoreWhiteSpace() ) ignoreWhite = false; const char* end = "<"; p = ReadText( p, &value, ignoreWhite, end, false ); if ( p ) return p-1; // don't truncate the '<' return 0; } void TiXmlDeclaration::StreamIn( std::istream* in, std::string* tag ) { while ( in->good() ) { int c = in->get(); (*tag) += c; if ( c == '>' ) { // All is well. return; } } } const char* TiXmlDeclaration::Parse( const char* p ) { p = SkipWhiteSpace( p ); // Find the beginning, find the end, and look for // the stuff in-between. TiXmlDocument* document = GetDocument(); if ( !p || !*p || !StringEqual( p, "SetError( TIXML_ERROR_PARSING_DECLARATION ); return 0; } p += 5; // const char* start = p+5; // const char* end = strstr( start, "?>" ); version = ""; encoding = ""; standalone = ""; while ( p && *p ) { if ( *p == '>' ) { ++p; return p; } p = SkipWhiteSpace( p ); if ( StringEqual( p, "version", true ) ) { // p += 7; TiXmlAttribute attrib; p = attrib.Parse( p ); version = attrib.Value(); } else if ( StringEqual( p, "encoding", true ) ) { // p += 8; TiXmlAttribute attrib; p = attrib.Parse( p ); encoding = attrib.Value(); } else if ( StringEqual( p, "standalone", true ) ) { // p += 10; TiXmlAttribute attrib; p = attrib.Parse( p ); standalone = attrib.Value(); } else { // Read over whatever it is. while( p && *p && *p != '>' && !isspace( *p ) ) ++p; } } return 0; } bool TiXmlText::Blank() const { for ( unsigned i=0; i #include #include using namespace std; int gPass = 0; int gFail = 0; // Utility functions: template< class T > bool XmlTest( const char* testString, T expected, T found, bool noEcho = false ) { if ( expected == found ) cout << "[pass]"; else cout << "[fail]"; if ( noEcho ) cout << " " << testString; else cout << " " << testString << " [" << expected << "][" << found << "]"; cout << "\n"; bool pass = ( expected == found ); if ( pass ) ++gPass; else ++gFail; return pass; } // // This file demonstrates some basic functionality of TinyXml. // Note that the example is very contrived. It presumes you know // what is in the XML file. But it does test the basic operations, // and show how to add and remove nodes. // int main() { // // We start with the 'demoStart' todo list. Process it. And // should hopefully end up with the todo list as illustrated. // const char* demoStart = "\n" "" "\n" "\n" " Go to the Toy store!" " Do bills " " Look for Evil Dinosaurs! " ""; /* What the todo list should look like after processing. In stream (no formatting) representation. */ const char* demoEnd = "" "" "" "" "Go to the" "Toy store!" "" "" "Talk to:" "" "" "" "" "" "" "Do bills" "" ""; // The example parses from the character string (above): { // Write to a file and read it back, to check file I/O. TiXmlDocument doc( "demotest.xml" ); doc.Parse( demoStart ); if ( doc.Error() ) { printf( "Error in %s: %s\n", doc.Value().c_str(), doc.ErrorDesc().c_str() ); exit( 1 ); } doc.SaveFile(); } TiXmlDocument doc( "demotest.xml" ); bool loadOkay = doc.LoadFile(); if ( !loadOkay ) { printf( "Could not load test file 'demotest.xml'. Error='%s'. Exiting.\n", doc.ErrorDesc().c_str() ); exit( 1 ); } printf( "** Demo doc read from disk: ** \n\n" ); doc.Print( stdout ); TiXmlNode* node = 0; TiXmlElement* todoElement = 0; TiXmlElement* itemElement = 0; // -------------------------------------------------------- // An example of changing existing attributes, and removing // an element from the document. // -------------------------------------------------------- // Get the "ToDo" element. // It is a child of the document, and can be selected by name. node = doc.FirstChild( "ToDo" ); assert( node ); todoElement = node->ToElement(); assert( todoElement ); // Going to the toy store is now our second priority... // So set the "priority" attribute of the first item in the list. node = todoElement->FirstChildElement(); // This skips the "PDA" comment. assert( node ); itemElement = node->ToElement(); assert( itemElement ); itemElement->SetAttribute( "priority", 2 ); // Change the distance to "doing bills" from // "none" to "here". It's the next sibling element. itemElement = itemElement->NextSiblingElement(); assert( itemElement ); itemElement->SetAttribute( "distance", "here" ); // Remove the "Look for Evil Dinosours!" item. // It is 1 more sibling away. We ask the parent to remove // a particular child. itemElement = itemElement->NextSiblingElement(); todoElement->RemoveChild( itemElement ); itemElement = 0; // -------------------------------------------------------- // What follows is an example of created elements and text // nodes and adding them to the document. // -------------------------------------------------------- // Add some meetings. TiXmlElement item( "Item" ); item.SetAttribute( "priority", "1" ); item.SetAttribute( "distance", "far" ); TiXmlText text( "Talk to:" ); TiXmlElement meeting1( "Meeting" ); meeting1.SetAttribute( "where", "School" ); TiXmlElement meeting2( "Meeting" ); meeting2.SetAttribute( "where", "Lunch" ); TiXmlElement attendee1( "Attendee" ); attendee1.SetAttribute( "name", "Marple" ); attendee1.SetAttribute( "position", "teacher" ); TiXmlElement attendee2( "Attendee" ); attendee2.SetAttribute( "name", "Vo‚" ); attendee2.SetAttribute( "position", "counselor" ); // Assemble the nodes we've created: meeting1.InsertEndChild( attendee1 ); meeting1.InsertEndChild( attendee2 ); item.InsertEndChild( text ); item.InsertEndChild( meeting1 ); item.InsertEndChild( meeting2 ); // And add the node to the existing list after the first child. node = todoElement->FirstChild( "Item" ); assert( node ); itemElement = node->ToElement(); assert( itemElement ); todoElement->InsertAfterChild( itemElement, item ); printf( "\n** Demo doc processed: ** \n\n" ); doc.Print( stdout ); printf( "** Demo doc processed to stream: ** \n\n" ); cout << doc << endl << endl; // -------------------------------------------------------- // Different tests...do we have what we expect? // -------------------------------------------------------- int count = 0; TiXmlElement* element; ////////////////////////////////////////////////////// cout << "** Basic structure. **\n"; ostringstream outputStream( ostringstream::out ); outputStream << doc; XmlTest( "Output stream correct.", string( demoEnd ), outputStream.str(), true ); node = doc.RootElement(); XmlTest( "Root element exists.", true, ( node != 0 && node->ToElement() ) ); XmlTest( "Root element value is 'ToDo'.", string( "ToDo" ), node->Value() ); node = node->FirstChild(); XmlTest( "First child exists & is a comment.", true, ( node != 0 && node->ToComment() ) ); node = node->NextSibling(); XmlTest( "Sibling element exists & is an element.", true, ( node != 0 && node->ToElement() ) ); XmlTest( "Value is 'Item'.", string( "Item" ), node->Value() ); node = node->FirstChild(); XmlTest( "First child exists.", true, ( node != 0 && node->ToText() ) ); XmlTest( "Value is 'Go to the'.", string( "Go to the" ), node->Value() ); ////////////////////////////////////////////////////// cout << "\n** Iterators. **" << "\n"; // Walk all the top level nodes of the document. count = 0; for( node = doc.FirstChild(); node; node = node->NextSibling() ) { count++; } XmlTest( "Top level nodes, using First / Next.", 3, count ); count = 0; for( node = doc.LastChild(); node; node = node->PreviousSibling() ) { count++; } XmlTest( "Top level nodes, using Last / Previous.", 3, count ); // Walk all the top level nodes of the document, // using a different sytax. count = 0; for( node = doc.IterateChildren( 0 ); node; node = doc.IterateChildren( node ) ) { count++; } XmlTest( "Top level nodes, using IterateChildren.", 3, count ); // Walk all the elements in a node. count = 0; for( element = todoElement->FirstChildElement(); element; element = element->NextSiblingElement() ) { count++; } XmlTest( "Children of the 'ToDo' element, using First / Next.", 3, count ); // Walk all the elements in a node by value. count = 0; for( node = todoElement->FirstChild( "Item" ); node; node = node->NextSibling( "Item" ) ) { count++; } XmlTest( "'Item' children of the 'ToDo' element, using First/Next.", 3, count ); count = 0; for( node = todoElement->LastChild( "Item" ); node; node = node->PreviousSibling( "Item" ) ) { count++; } XmlTest( "'Item' children of the 'ToDo' element, using Last/Previous.", 3, count ); ////////////////////////////////////////////////////// cout << "\n** Parsing. **\n"; istringstream parse0( "" ); TiXmlElement element0( "default" ); parse0 >> element0; XmlTest( "Element parsed, value is 'Element0'.", string( "Element0" ), element0.Value() ); XmlTest( "Reads attribute 'attribute0=\"foo0\"'.", string( "foo0" ), *( element0.Attribute( "attribute0" ) ) ); XmlTest( "Reads incorrectly formatted 'attribute1=noquotes'.", string( "noquotes" ), *( element0.Attribute( "attribute1" ) ) ); XmlTest( "Read attribute with entity value '>'.", string( ">" ), *( element0.Attribute( "attribute2" ) ) ); ////////////////////////////////////////////////////// cout << "\n** Streaming. **\n"; // Round trip check: stream in, then stream back out to verify. The stream // out has already been checked, above. We use the output istringstream inputStringStream( outputStream.str() ); TiXmlDocument document0; inputStringStream >> document0; ostringstream outputStream0( ostringstream::out ); outputStream0 << document0; XmlTest( "Stream round trip correct.", string( demoEnd ), outputStream0.str(), true ); ////////////////////////////////////////////////////// cout << "\n** Parsing, no Condense Whitespace **\n"; TiXmlBase::SetCondenseWhiteSpace( false ); istringstream parse1( "This is \ntext" ); TiXmlElement text1( "text" ); parse1 >> text1; XmlTest( "Condense white space OFF.", string( "This is \ntext" ), text1.FirstChild()->Value(), true ); cout << endl << "Pass " << gPass << ", Fail " << gFail << endl; return 0; } 07070100069c67000081a40000000200000002000000013d0792a200000e57000000200000000800000000000000000000000a00000000reloc/APIThe LAME API This is the simple interface to the encoding part of libmp3lame.so. The library also contains routines for adding id3 tags and mp3 decoding. These routines are not fully documented, but you can figure them out by looking at "include/lame.h" and the example frontend encoder/decoder source code in frontend/main.c All of these steps should be done for every MP3 to be encoded. ========================================================================= 1. (optional) Get the version number of the encoder, if you are interested. void get_lame_version(char *strbuf, size_t buflen, const char *prefix); 2. Error messages. By default, LAME will write error messages to stderr using vfprintf(). For GUI applications, this is often a problem and you need to set your own error message handlers: lame_set_errorf(gfp,error_handler_function); lame_set_debugf(gfp,error_handler_function); lame_set_msgf(gfp,error_handler_function); See lame.h for details. 3. Initialize the encoder. sets default for all encoder parameters. #include "lame.h" lame_global_flags *gfp; gfp = lame_init(); The default (if you set nothing) is a J-Stereo, 44.1khz 128kbps CBR mp3 file at quality 5. Override various default settings as necessary, for example: lame_set_num_channels(gfp,2); lame_set_in_samplerate(gfp,44100); lame_set_brate(gfp,128); lame_set_mode(gfp,1); lame_set_quality(gfp,2); /* 2=high 5 = medium 7=low */ See lame.h for the complete list of options. Note that there are some lame_set_*() calls not documented in lame.h. These functions are experimental and for testing only. They may be removed in the future. 4. Set more internal configuration based on data provided above, as well as checking for problems. Check that ret_code >= 0. ret_code = lame_init_params(gfp); 5. Encode some data. input pcm data, output (maybe) mp3 frames. This routine handles all buffering, resampling and filtering for you. The required mp3buffer_size can be computed from num_samples, samplerate and encoding rate, but here is a worst case estimate: mp3buffer_size (in bytes) = 1.25*num_samples + 7200. num_samples = the number of PCM samples in each channel. It is not the sum of the number of samples in the L and R channels. The return code = number of bytes output in mp3buffer. This can be 0. If it is <0, an error occured. int lame_encode_buffer(lame_global_flags *gfp, short int leftpcm[], short int rightpcm[], int num_samples,char *mp3buffer,int mp3buffer_size); There are also routines for various types of input (float, long, interleaved, etc). See lame.h for details. 6. lame_encode_flush will flush the buffers and may return a final few mp3 frames. mp3buffer should be at least 7200 bytes. return code = number of bytes output to mp3buffer. This can be 0. int lame_encode_flush(lame_global_flags *,char *mp3buffer, int mp3buffer_size); 7. Write the Xing VBR/INFO tag to mp3 file. void lame_mp3_tags_fid(lame_global_flags *,FILE* fid); This adds a valid mp3 frame which contains information about the bitstream some players may find usefull. It is used for CBR,ABR and VBR. The routine will attempt to rewind the output stream to the beginning. If this is not possible, (for example, you are encoding to stdout) you should specifically disable the tag by calling lame_set_bWriteVbrTag(gfp,0) in step 3 above, and call lame_mp3_tags_fid() with fid=NULL. If the rewind fails and the tag was not disabled, the first mp3 frame in the bitstream will be all 0's. 8. free the internal data structures. void lame_close(lame_global_flags *); 07070100069c68000081a4000000020000000200000001383ba47a000062cc000000200000000800000000000000000000000e00000000reloc/COPYING GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA. Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! 07070100069c69000081a40000000200000002000000013fffeda800090b6c000000200000000800000000000000000000001000000000reloc/ChangeLog ChangeLog for LAME -==================- - All dates/times are in GMT. - This file contains the complete changelog, even commit logs of non official branches. An entry of the form "filename (branchname):" may not apply to the source you get with this package. - Generated from cvs log entries (cvs2cl --gmt -S --branches --no-wrap --header ChangeLog.header) -- 2004-01-10 12:13 aleidinger * libmp3lame/version.h: Preperation for 3.95 RELEASE. Please notify me and Gabriel in case you change something from this point in time upto the 3.96 version bump. 2004-01-10 12:10 aleidinger * doc/html/history.html: faster on PPC 2004-01-10 12:03 aleidinger * libmp3lame/util.h: do not use FastLog implicitely 2004-01-10 12:02 aleidinger * configMS.h: explicit use of FastLog 2004-01-10 11:42 aleidinger * configure: regen 2004-01-10 11:35 aleidinger * configure.in: - use the IEEE 754 hack and FastLog on x86 and PPC only - make the use of FastLog explicit PPC performance: 1GHz G4 "Standard" : 396 s (100%) FastLog : 371 s ( 93%) FastLog, 754 : 365 s ( 92%) 754 : 388 s ( 98%) 2GHz G5 (dual), cbr, vbr "Standard" : 166 s (100%), 328 s (100%) FastLog : 169 s (102%), 338 s (102%) FastLog, 754 : 148 s ( 90%), 288 s ( 88%) 754 : 145 s ( 87%), 279 s ( 85%) On a G5 we shouldn't use FastLog (I assume highly optimized for G5 log*() routines in the standard math library), but configure doesn't know ATM how do check for a G5. 2004-01-10 10:38 takehiro * frontend/get_audio.c: backport from my experimental branch to fix the crash when invalid input. 2004-01-10 10:27 takehiro * mpglib/: common.c, interface.c, layer1.c, layer3.c: backport from my experimenhtal branch, to fix the crash when invalid input. 2004-01-10 09:55 takehiro * doc/html/history.html: effetc->affect reported at sf.net (BugID #867502) 2004-01-08 19:55 olcios * libmp3lame/gain_analysis.c: comment update (clarification) 2004-01-08 19:14 olcios * USAGE: Removed --replaygain from USAGE, because it had been defaulted and the option removed from LAME. Updated information on --replaygain-accurate. 2004-01-08 15:58 bouvigne * configMS.h, doc/html/history.html, doc/html/index.html: predicted release date: January 11th 2004-01-07 17:58 aleidinger * frontend/Makefile.in: regen 2004-01-07 17:57 aleidinger * frontend/Makefile.am: Add mp3x_vc6.dsp. Requested by: Gabriel 2004-01-07 17:35 bouvigne * README.WINGTK, lame_vc6.dsw, frontend/lame_vc6.dsp, frontend/mp3x_vc6.dsp, libmp3lame/libmp3lame_vc6.dsp, mpglib/mpglib_vc6.dsp: added back mp3x to the VC6 projects 2004-01-07 15:57 aleidinger * configure: regen 2004-01-07 15:51 aleidinger * configure.in: - bump version to 3.95 - disable layer1 decoding by default - reword the layer options and some option descriptions - enable the use of the fast log function on every CPU (for x86 this is implicit by the ieee hack) 2004-01-07 15:26 aleidinger * config.h.in: add the fast log option 2004-01-07 13:26 bouvigne * mpglib/mpglib_vc6.dsp: disable layer I 2004-01-06 14:38 bouvigne * libmp3lame/version.h: bump alpha 2004-01-06 13:53 bouvigne * libmp3lame/VbrTag.c: do not include the vbr header into the vbr seek table as it breaks a player 2004-01-05 18:58 takehiro * libmp3lame/: lame.c, quantize.c, tables.c (takehiro-2002_05_07-experimental): fix ABR bitrate changed VBR quality <-> compression ratio mapping. changed gfc->masking_lower setting 2004-01-05 17:51 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): fix a warning. reduce prefetch length. 2004-01-05 16:25 bouvigne * doc/html/history.html: history 2004-01-05 16:19 bouvigne * ACM/ACMStream.cpp: fixed a buffer requirement error 2004-01-05 09:45 bouvigne * libmp3lame/: l3side.h, quantize.c, takehiro.c: faster count_bits 2004-01-05 07:35 takehiro * mpglib/common.c (takehiro-2002_05_07-experimental): one more fix for seg.fault 2004-01-05 07:30 takehiro * mpglib/common.c (takehiro-2002_05_07-experimental): fix seg.fault (not good way, indeed) 2004-01-05 07:16 takehiro * configure.in (takehiro-2002_05_07-experimental): fix typo and disable LAYER1 decoding by default. 2004-01-05 07:15 takehiro * libmp3lame/i386/Makefile.in, configure (takehiro-2002_05_07-experimental): regen 2004-01-05 07:14 takehiro * libmp3lame/i386/Makefile.am (takehiro-2002_05_07-experimental): fix build problem 2004-01-05 06:47 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): more strict syncword check when no LAYER1/2 support. 2004-01-04 19:45 takehiro * libmp3lame/: lame.c, tables.c, util.h (takehiro-2002_05_07-experimental): finished fixing mono encoding (initialization problem of inter-channel masking value) remove useless code in stereo->mono mix down. fix ATH adjustment code initialization. 2004-01-04 17:35 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix mono-mode bitrate selection. 2004-01-04 15:39 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix the condition to use freeformat or not. 2004-01-04 11:04 bouvigne * libmp3lame/lame.c: corrected -k 2004-01-03 17:08 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): trivial clean up and fix comments. 2004-01-03 16:47 bouvigne * doc/html/history.html: history 2004-01-03 16:22 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix possible highpass filter display problem. 2004-01-03 16:17 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): changed short block switching threshold for 8/16 kbps. 2004-01-03 04:11 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix "FATAL" typo. some code clean up. 2004-01-03 04:10 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix for mono encoding. 2004-01-02 19:53 bouvigne * libmp3lame/lame.c: changed quality mapping 2004-01-02 19:51 bouvigne * libmp3lame/takehiro.c: faster count_bits 2004-01-02 19:49 bouvigne * libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c, vbrquantize.c: Faster quantizations Only 5% speedup when using Takehiro's ieee754 hack, but about 60% speedup otherwise. (Should please Mac users) 2004-01-02 09:02 takehiro * mpglib/common.c (takehiro-2002_05_07-experimental): check emphasis bits in mpeg header. 2004-01-01 17:52 takehiro * libmp3lame/machine.h (takehiro-2002_05_07-experimental): fix warning on mingw (and probabry VC) 2004-01-01 17:51 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): changed function name, lame_decode_fromfile -> decode_fromfile because it is not LAME standard API. 2004-01-01 17:23 takehiro * mpglib/layer1.c (takehiro-2002_05_07-experimental): fix stereo value handling. 2004-01-01 15:22 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): fix location where emphasis is recorded. 2004-01-01 15:21 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): prepare for better MP3 header detection. 2003-12-31 19:07 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix assertion condition. fix i-stereo bit usage counting. 2003-12-31 04:27 takehiro * libmp3lame/: encoder.c, lame.c, psymodel.c, quantize.c (takehiro-2002_05_07-experimental): trivial clean up 2003-12-30 19:10 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial clean up.(code to check the MAX_BITS is moved) 2003-12-30 18:52 takehiro * libmp3lame/version.h (takehiro-2002_05_07-experimental): ok, new years present. here goes alpha10! 2003-12-30 18:47 takehiro * ACM/ddk/.cvsignore (takehiro-2002_05_07-experimental): added to ignore Makefile 2003-12-30 18:46 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix it makes invalid mp3 file when 320kbps. 2003-12-30 18:45 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): added one more check. trivial coding clean up. 2003-12-30 17:12 takehiro * Makefile.in, aclocal.m4, configure, ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in (takehiro-2002_05_07-experimental): regen with automake1.7.9, autoconf 2.59 on cygwin. 2003-12-30 13:03 takehiro * testcase.mp3, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/tables.c (takehiro-2002_05_07-experimental): trivial clean up. 2003-12-30 12:28 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix masking_lower hadling 2003-12-30 12:26 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): do not store FFT value when not using analyzer 2003-12-30 10:23 takehiro * configure, ACM/Makefile.in, ACM/ddk/Makefile.in (takehiro-2002_05_07-experimental): regen 2003-12-30 10:19 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial optimization 2003-12-29 18:45 takehiro * libmp3lame/: lame.c, psymodel.c, quantize.c, tables.c, util.h (takehiro-2002_05_07-experimental): hadling masking_lower is moved to quantize.c from psymodel.c fix bug in threshold calculation of short block last sfb. better intensity stereo band selection.(do not use IS at lower frequency) fix comments 2003-12-29 18:09 takehiro * libmp3lame/newmdct.c (takehiro-2002_05_07-experimental): omit MDCT calculation beyond cutoff. The gain(for MDCT) is arround 15% when 18kHz cutoff. 2003-12-29 08:05 takehiro * libmp3lame/: set_get.c, tables.c (takehiro-2002_05_07-experimental): reservoir size fix for 320kbps over. 2003-12-29 08:05 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): added one error check. 2003-12-28 15:41 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix reservoir max size configuration. 2003-12-28 13:57 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix free format detection. 320kbps is not always free format. 2003-12-28 12:48 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): fix MPEG2 scalefactor output. 2003-12-28 12:47 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): better error detection for debug mode. 2003-12-28 12:11 takehiro * frontend/parse.c, libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix -k option. 2003-12-28 11:49 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix warning 2003-12-28 11:48 takehiro * libmp3lame/: psymodel.c, psymodel.h, quantize.c, tables.c (takehiro-2002_05_07-experimental): many cosmetic change and clean up. 2003-12-27 17:45 takehiro * libmp3lame/: psymodel.c, tables.c, util.h (takehiro-2002_05_07-experimental): use more fine resolution infomation for block switching. 2003-12-27 14:55 takehiro * testcase.mp3, libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): update testcase clean up psymodel.c 2003-12-27 14:24 takehiro * frontend/gtkanal.c, libmp3lame/encoder.c, libmp3lame/lame-analysis.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/tables.c, libmp3lame/util.h, libmp3lame/version.h (takehiro-2002_05_07-experimental): now psymodel version 0.91-3 - new ATH adjustment. * ATH adjustment per channel, not per granule. - display ATH adjustment value in mp3x. - new long/short block switching code. * now it is aware of post masking. * switch to short block when post echo may happen. - better long->short masking (threshold/energy) conversion. 2003-12-23 10:29 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): added one comment. 2003-12-23 10:22 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial clean up. 2003-12-23 10:13 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): tuning/fixing norm[] values of the spreading function. 2003-12-22 16:36 bouvigne * doc/html/history.html: history 2003-12-22 09:44 bouvigne * libmp3lame/quantize_pvt.c: reduced warnings 2003-12-21 18:41 bouvigne * frontend/: get_audio.c, main.c, parse.c: reduced warnings 2003-12-21 18:14 bouvigne * libmp3lame/: encoder.c, psymodel.c, psymodel.h, quantize.c, quantize_pvt.c, quantize_pvt.h, util.h: FLOAT8 -> FLOAT 2003-12-21 16:09 takehiro * libmp3lame/: psymodel.c, psymodel.h, tables.c (takehiro-2002_05_07-experimental): safer threshold calculation arround attack detected position. 2003-12-21 15:12 takehiro * configure.in, ACM/Makefile.am (takehiro-2002_05_07-experimental): added ACM/ddk directory 2003-12-21 15:06 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): update comment as is done in main line. 2003-12-21 15:03 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix short block ATH scaling and masking threshold. 2003-12-21 13:30 takehiro * libmp3lame/: psymodel.c, lame.c, tables.c (takehiro-2002_05_07-experimental): - temporal masking aware short/long block switching. - tuning reduce side value. - fixed long->short block threshold conversion factor. - fixed array declaration bug in short block threshold calculation. 2003-12-21 12:46 bouvigne * libmp3lame/: encoder.c, lame.c, presets.c, psymodel.c, psymodel.h, quantize.c, quantize.h, quantize_pvt.c, quantize_pvt.h, util.h: FLOAT8 -> FLOAT 2003-12-21 12:30 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): remove bval_width[] related code. 2003-12-21 12:25 takehiro * mpglib/layer3.c (takehiro-2002_05_07-experimental): fix 8kbps decode bug (backport from main line) 2003-12-21 10:16 bouvigne * libmp3lame/: VbrTag.c, lame.c, psymodel.c, util.c, util.h: FLOAT8 -> FLOAT 2003-12-20 14:48 bouvigne * libmp3lame/psymodel.c: fixed calc_interchannel_masking when encoding to mono 2003-12-20 14:33 bouvigne * libmp3lame/lame.c: fixed lowpass value for high bitrate vbr profiles 2003-12-20 14:31 bouvigne * libmp3lame/version.h: Using 3.95 as version number. We will decide latter what to choose about version numbers 2003-12-19 13:55 bouvigne * libmp3lame/version.h: Moved back to 3.94b in order to not have some 3.95b spreading on the web. We now have to decide if we should go in the 3.94release direction or in the 3.95b direction 2003-12-18 18:47 bouvigne * libmp3lame/version.h: welcome in 3.95 2003-12-18 17:13 aleidinger * ChangeLog: ChangeLog for 3.94b. 2003-12-18 15:46 bouvigne * libmp3lame/version.h: 3.94b 2003-12-18 12:54 aleidinger * frontend/get_audio.c: Takehiro noticed a bug in the pipe fix, it results in a click sound at the end of the encoding of BlackBirds.wav. This fix is a merge from the experimental branch and doesn't seem to be harmful while encoding over a pipe, but I'm not sure if I was able to reproduce the situation where the original fix was needed. I've tested: mkfifo pipetest lame -preset 96 pipetest pipetest.mp3 other shell: cat wav >pipetest 2003-12-17 18:45 bouvigne * frontend/parse.c: help 2003-12-17 11:52 bouvigne * libmp3lame/psymodel.c: updated comment regarding spreading function 2003-12-15 17:07 bouvigne * mpglib/layer3.c: fixed 8kHz decoding 2003-12-15 11:48 takehiro * ACM/ddk/: Makefile.am, Makefile.in (takehiro-2002_05_07-experimental): sync with main line 2003-12-14 17:56 takehiro * TODO (takehiro-2002_05_07-experimental): added some new items. - highpass filter for psycho-analysis. - temporal-masking-aware block switching. 2003-12-14 17:52 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): clean up s3_func() (no results difference) remove normalization and bark width consideration. # hehe, it's now obvious to see which frequency makes strong masking :p 2003-12-12 18:22 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): coding style update. check the INFO sub-chunk in LIST chunk. 2003-12-12 18:21 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): fix it treat the chunk after data chunk as part of data chunk. 2003-12-12 17:24 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): trivial style update (including comment style, etc). 2003-12-12 16:52 takehiro * libmp3lame/: psymodel.c, tables.c, util.h (takehiro-2002_05_07-experimental): remove nb_1 from gfc. 2003-12-12 16:15 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix last change (oops, I checked-in the wrong version...) 2003-12-12 16:12 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): fix bit reservoir handling when looooooooow bit rate. 2003-12-12 14:31 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial clean up 2003-12-12 14:31 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): added error check code. 2003-12-12 13:29 takehiro * frontend/main.c, frontend/main.h, frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): clean up variables in gfc and gfp. 2003-12-09 17:22 olcios * frontend/parse.c: Fixed typo. 2003-12-09 17:19 olcios * frontend/parse.c: Fixed an error message. 2003-12-09 16:08 aleidinger * ACM/Makefile.in: regen 2003-12-09 16:01 aleidinger * configure: regen 2003-12-09 15:51 aleidinger * ACM/ddk/Makefile.in: Add the autoconf Makefile. 2003-12-09 15:49 aleidinger * configure.in: Add the ACM/ddk subdirectory. 2003-12-09 15:49 aleidinger * ACM/Makefile.am: Add the ddk subdirectory. 2003-12-09 15:48 aleidinger * ACM/ddk/Makefile.am: Add an automake Makefile. 2003-12-09 15:06 bouvigne * libmp3lame/version.h: Bump alpha 2003-12-09 15:05 bouvigne * frontend/parse.c: do not display --r3mix in help 2003-12-09 15:03 bouvigne * doc/html/history.html: 3.94 release date? 2003-12-09 14:59 bouvigne * doc/html/: basic.html, examples.html, history.html, index.html, modes.html, presets.html, switchs.html: 3.94 documentation 2003-12-08 16:52 bouvigne * libmp3lame/VbrTag.c: Use integer format for ReplayGain peak value 2003-12-06 20:54 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial optimization. 2003-12-06 20:10 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): make best_huffman_divide() as static. make it do not call best_huffman_divide() twice when vbr. 2003-12-06 19:00 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): fix warning of quantize_sfb_3DN() prototype declaration. fix pseudo half step bug on 3DNow!/SSE machines. 2003-12-06 17:17 takehiro * frontend/parse.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): remove experimental switches from context structure. 2003-12-06 13:37 takehiro * libmp3lame/: psymodel.c, quantize.c, quantize_pvt.h (takehiro-2002_05_07-experimental): trivial clean up 2003-12-06 11:10 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): reduce subblock gain value. 2003-12-06 07:01 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): VBR code update. - fixed sf value range limit(not fatal, but possible quality degrade in higher VBR quality mode). - adjust the initiail value of scalefactor search for speed up(arround 1 or 2%).CVS: ---------------------------------------------------------------------- 2003-12-05 12:49 aleidinger * libmp3lame/i386/Makefile.in: add missing " 2003-12-04 12:26 aleidinger * libmp3lame/i386/Makefile.in: nasm -> NASM fix 2003-12-03 16:35 takehiro * testcase.mp3, libmp3lame/quantize.c (takehiro-2002_05_07-experimental): changed short block noise estimation (max noise -> sum noise). 2003-12-03 15:32 takehiro * frontend/rtp.c (takehiro-2002_05_07-experimental): sync with main line. 2003-12-03 03:09 olcios * include/lame.h: comments / doc 2003-12-03 02:18 olcios * frontend/get_audio.c, libmp3lame/lame.c, libmp3lame/mpglib_interface.c: Brought back the possibility to run lame_decode_init() more than once 2003-12-03 01:44 olcios * frontend/get_audio.c, frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/set_get.c: Made it impossible to simultaneously use mp3 input and decoding on the fly. 2003-12-01 17:45 takehiro * configure, Dll/Makefile.in, frontend/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in (takehiro-2002_05_07-experimental): regen 2003-12-01 17:44 takehiro * libmp3lame/i386/Makefile.am (takehiro-2002_05_07-experimental): backport Alex's dirty hack, which is less dirty than mine :) 2003-12-01 17:43 takehiro * ltmain.sh (takehiro-2002_05_07-experimental): replaced the one from libtool 1.5 2003-12-01 15:45 takehiro * frontend/depcomp, libmp3lame/depcomp, misc/depcomp, mpglib/depcomp (takehiro-2002_05_07-experimental): removed unused file (build system uses ../depcomp) 2003-11-29 12:14 aleidinger * ChangeLog: update 2003-11-29 12:10 aleidinger * test/cvscheck.sh: add the automated test script which mt used to run every day 2003-11-29 12:09 aleidinger * configure: regen with autoconf 2.57 2003-11-29 12:06 aleidinger * ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in, Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: regen with automake 1.7 2003-11-29 12:05 aleidinger * configure.in: - Check for some features a little bit earlier. - Fix a AC_DEFINE so the newer tools don't moan. 2003-11-29 12:03 aleidinger * libmp3lame/i386/Makefile.am: HACK HACK HACK, UGLY UGLY HACK! make this work with libtool 1.5 If anybody knows how do this in a more sane way, please teach me how to do it. 2003-11-29 12:01 aleidinger * ltmain.sh: update with libtool 1.5 version 2003-11-29 12:00 aleidinger * aclocal.m4: update with newer autotools 2003-11-29 11:59 aleidinger * config.h.in: add some missing undefs 2003-11-29 11:16 aleidinger * frontend/rtp.c: fix some errors which are new with gcc 3.x 2003-11-29 09:49 aleidinger * frontend/depcomp, libmp3lame/depcomp, mpglib/depcomp: use the ones provided by automake 1.7 2003-11-29 09:45 aleidinger * missing, mkinstalldirs, depcomp, install-sh: use the ones provided by automake 1.7 2003-11-29 09:44 aleidinger * config.guess, config.sub: use the ones provided with libtool 1.5 2003-11-28 18:23 takehiro * frontend/brhist.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/lame.c, libmp3lame/tables.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): clean up bitrate histgram code. 2003-11-28 17:53 takehiro * libmp3lame/: bitstream.c, lame.c, quantize.c, util.h (takehiro-2002_05_07-experimental): remove unused definition (resample_t) rename Bit_stream_struct -> bit_stream_t 2003-11-28 17:30 takehiro * libmp3lame/: VbrTag.c, lame.c, lame_global_flags.h, set_get.c, tables.c, util.h (takehiro-2002_05_07-experimental): move and rename "gfp->exp_nspsytune" => "gfc->nsPsy.tune" 2003-11-28 17:20 takehiro * libmp3lame/: psymodel.c, quantize.c, util.h (takehiro-2002_05_07-experimental): remove "ath_over" from III_psy_ratio 2003-11-28 17:17 takehiro * libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental): make lame_decode1_headersB_clipchoice() as static 2003-11-28 16:48 takehiro * libmp3lame/util.c (takehiro-2002_05_07-experimental): remove unused code 2003-11-28 16:46 takehiro * libmp3lame/: util.c, util.h, i386/cpu_feat.nas (takehiro-2002_05_07-experimental): simplify the CPU feature detection code. 2003-11-28 16:42 takehiro * TODO (takehiro-2002_05_07-experimental): divide TODO item about encoding quality problem into 2 piece. 2003-11-28 16:38 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix comments. 2003-11-28 16:24 takehiro * libmp3lame/: encoder.c, lame.c (takehiro-2002_05_07-experimental): trivial 2003-11-28 16:24 takehiro * libmp3lame/: quantize.c, quantize.h (takehiro-2002_05_07-experimental): fix warning simplify the code. 2003-11-28 16:11 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): sync main branch (lowpass adjustment when mono) and trivial clean up. 2003-11-28 16:04 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): remove unused definition 2003-11-28 16:03 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): do not use reservoir when -q 9 2003-11-28 15:58 takehiro * USAGE (takehiro-2002_05_07-experimental): remove documents about removed options 2003-11-28 15:53 takehiro * frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/quantize.c, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): clean up VBR finish code and remove "-F" option. LAME always use VBR_hard_min now. The option is quite "FAQ"ed and hacky/dirty work arround to conceal the psymodel flaw. 2003-11-28 15:34 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): changed ResvFrameBegin() arguments. 2003-11-28 15:29 takehiro * libmp3lame/: VbrTag.c, encoder.c, quantize.c, quantize.h (takehiro-2002_05_07-experimental): clean up pinfo setting code (for analyzer) 2003-11-28 15:16 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): trivial simplification. 2003-11-28 15:16 takehiro * libmp3lame/util.c (takehiro-2002_05_07-experimental): make gcd() as static. 2003-11-28 15:02 takehiro * TODO (takehiro-2002_05_07-experimental): resampling code bug is fixed. 2003-11-28 15:01 takehiro * libmp3lame/: lame.c, util.c, util.h (takehiro-2002_05_07-experimental): make fill_buffer_resample as static function. fix the bug in resampling (like from 44099 to 44100) and remove work arround code. 2003-11-28 14:27 bouvigne * libmp3lame/set_get.c: Disabled replaygain decode because it crashes when using mp3 input 2003-11-28 12:22 takehiro * libmp3lame/: psymodel.c, tables.c, util.h (takehiro-2002_05_07-experimental): simplify the loudness approx code. 2003-11-27 12:27 takehiro * ACM/ddk/msacmdrv.h (takehiro-2002_05_07-experimental): sync with mainline 2003-11-27 12:20 takehiro * libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, tables.c, takehiro.c (takehiro-2002_05_07-experimental): simplify the function interfaces. remove unused definitions. trivial style update. 2003-11-27 08:24 bouvigne * ACM/: readme.txt, ddk/msacmdrv.h: Allow compilation of ACM codec without Microsoft platform DDK 2003-11-26 13:06 bouvigne * lame_vc6.dsw: Updated ACM dependencies 2003-11-25 17:32 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): trivial 2003-11-25 17:22 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): loop hoisting: loop for writing sideinfo and loop for writing part2/part2_3 is now integrated. 2003-11-25 17:14 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): trivial 2003-11-25 17:13 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix byte/bit confusion. 2003-11-25 16:53 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): do not write magic strings in the post drain part. 2003-11-25 16:48 takehiro * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix, config.h.in, configure, configure.in (takehiro-2002_05_07-experimental): update build-system related files for new asm code. (I hope they runs correctly) 2003-11-25 16:43 takehiro * frontend/gtkanal.c, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix mp3x block-type display 2003-11-25 15:55 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): psymodel.h is not system header file. 2003-11-25 15:52 takehiro * frontend/main.c (takehiro-2002_05_07-experimental): remove priority setting code. we already have a --priority switch on Windows environment, so we do not need it. 2003-11-25 15:43 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): one more... 2003-11-25 15:20 takehiro * libmp3lame/: bitstream.c, bitstream.h, quantize.c, tables.c, util.h (takehiro-2002_05_07-experimental): more simplification arround bit stream write out code. 2003-11-24 18:26 takehiro * libmp3lame/: bitstream.c, tables.c, util.h (takehiro-2002_05_07-experimental): clean up bitstream write out code. - header(side info) output code is now very simplified. - variable length bitstream output code is now simple and fast. 2003-11-24 17:05 bouvigne * libmp3lame/lame.c: Do not compute ReplayGain when not using vbr header 2003-11-24 16:13 takehiro * libmp3lame/: bitstream.c, tables.c, util.h (takehiro-2002_05_07-experimental): simplify the bitstream output code. 2003-11-24 14:42 takehiro * libmp3lame/: quantize.c, i386/quantSSE.nas (takehiro-2002_05_07-experimental): added SSE version of quantize_ISO() 2003-11-24 13:52 bouvigne * libmp3lame/lame.c: Reduced bandwith when encoding in mono 2003-11-24 13:39 bouvigne * libmp3lame/lame.c: Fixed low bitrates lowpass and sampling rate values (I probably broke it recently) 2003-11-23 20:13 takehiro * frontend/gtkanal.c, libmp3lame/encoder.c, libmp3lame/lame-analysis.h (takehiro-2002_05_07-experimental): update mp3x display (arround block switching parameter). 2003-11-23 20:05 takehiro * frontend/parse.c, libmp3lame/VbrTag.c, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/tables.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): remvoe unused features and variables - ms_sparsing() - tune() 2003-11-23 19:47 takehiro * frontend/parse.c, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/util.h (takehiro-2002_05_07-experimental): now it always uses same short block switching threshold for L/R/M channel and S channel. 2003-11-23 19:41 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial clean up 2003-11-23 19:31 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): short block threshold tuning. (of course, need more...) 2003-11-23 11:22 takehiro * libmp3lame/: encoder.c, psymodel.c (takehiro-2002_05_07-experimental): clean up mode extension update code. 2003-11-23 10:45 takehiro * libmp3lame/: bitstream.c, tables.c, util.h (takehiro-2002_05_07-experimental): simplify bitstream writing code. 2003-11-23 10:27 takehiro * libmp3lame/: bitstream.c, psymodel.c (takehiro-2002_05_07-experimental): trivial clean up. 2003-11-23 10:04 takehiro * libmp3lame/encoder.h (takehiro-2002_05_07-experimental): fix comments and comment out the unused definitions. 2003-11-23 10:03 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): trivial clean up 2003-11-23 10:03 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): fix and simplify the usage message. 2003-11-23 09:47 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): clean up block type update code 2003-11-23 09:46 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial clean up 2003-11-23 09:14 takehiro * libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental): fix for MPEG2.5 (for the case band width = 2) 2003-11-23 09:09 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): clean up writing table-id code. 2003-11-23 09:08 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial clean up 2003-11-23 08:36 takehiro * libmp3lame/i386/fft3dn.nas (takehiro-2002_05_07-experimental): remove unused code. 2003-11-22 19:41 takehiro * libmp3lame/: bitstream.c, util.h (takehiro-2002_05_07-experimental): optimize bitstream output code. 2003-11-22 19:14 takehiro * libmp3lame/i386/: fft.nas, ffttbl.nas (takehiro-2002_05_07-experimental): remove unused files 2003-11-22 19:14 takehiro * libmp3lame/i386/: Makefile.am, Makefile.in (takehiro-2002_05_07-experimental): remove unused extra-dist files 2003-11-22 18:58 takehiro * libmp3lame/: bitstream.c, util.h (takehiro-2002_05_07-experimental): optimize writeheader() 2003-11-22 18:39 takehiro * ACM/TODO (takehiro-2002_05_07-experimental): update 2003-11-22 18:39 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, i386/quantSSE.nas (takehiro-2002_05_07-experimental): 3DNow! version of count1 region quantization 2003-11-22 18:12 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix message. 2003-11-22 18:11 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial clean up 2003-11-22 18:09 takehiro * libmp3lame/version.c (takehiro-2002_05_07-experimental): added version string to SSE and E3DNow. 2003-11-22 17:43 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix ABR mode sometimes uses 640kbps (!) 2003-11-22 17:40 takehiro * libmp3lame/: lame.c, tables.c, i386/fft3dn.nas (takehiro-2002_05_07-experimental): E3DNow! version of fht() 2003-11-22 17:39 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial cleanup 2003-11-22 13:30 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): clean up and merge CBR/ABR code. 2003-11-22 13:19 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, i386/quantSSE.nas (takehiro-2002_05_07-experimental): 3DNow! version of quantize_ISO() 2003-11-22 13:03 takehiro * Dll/Example_vc6.dsw (takehiro-2002_05_07-experimental): sync main branch - Corrected the dll example project 2003-11-22 09:03 takehiro * TODO (takehiro-2002_05_07-experimental): updated 2003-11-22 08:45 takehiro * libmp3lame/: quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): fix warning and build problem 2003-11-22 07:57 takehiro * Dll/MP3export.pas (takehiro-2002_05_07-experimental): sync main branch. - fix calling convention 2003-11-22 07:56 takehiro * Dll/BladeMP3EncDLL.def (takehiro-2002_05_07-experimental): added some interface. 2003-11-22 07:55 takehiro * Dll/BladeMP3EncDLL.c (takehiro-2002_05_07-experimental): sync main branch - display issue fix. 2003-11-22 07:51 takehiro * Dll/Makefile.am (takehiro-2002_05_07-experimental): sync main branch. - added files for vc6 and mingw. 2003-11-21 17:07 bouvigne * Dll/BladeMP3EncDLL.c: Display issues 2003-11-21 17:03 takehiro * libmp3lame/: quantize.c, takehiro.c, i386/quantSSE.nas (takehiro-2002_05_07-experimental): 3DNow! version of quantization. and some asm code optimization/clean up. 2003-11-21 16:50 bouvigne * Dll/BladeMP3EncDLL.c: Minor corrections 2003-11-20 16:04 bouvigne * Dll/MP3export.pas: Fixed calling convention 2003-11-20 13:30 bouvigne * Dll/Example_vc6.dsw: Corrected the dll example project 2003-11-20 11:16 bouvigne * frontend/get_audio.c, frontend/main.c, frontend/parse.c, include/lame.h, libmp3lame/set_get.c: Changed some Vorbis messages 2003-11-20 11:08 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c: Removed mode_automs 2003-11-20 10:57 bouvigne * libmp3lame/: fft.c, lame.c, util.c, util.h: Removed CPU_features.i387 2003-11-20 10:46 bouvigne * libmp3lame/presets.c: Aliased r3mix to vbr-mtrh V3 2003-11-19 13:00 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/presets.c: anihilated streaming/radio/portable named presets, leaving only the -Vx 2003-11-18 16:18 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix warning 2003-11-18 16:11 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): new reservoir handling code for ABR. 2003-11-18 15:37 takehiro * testcase.mp3, libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): simplify the sign hadling code. 2003-11-18 15:29 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): simplify the error check code. 2003-11-18 15:21 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): optimize self check code. 2003-11-18 14:03 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): For better/faster encoding, narrowen the frequency region when lower -q. 2003-11-18 13:59 takehiro * TODO (takehiro-2002_05_07-experimental): updated 2003-11-18 13:57 takehiro * libmp3lame/: bitstream.c, quantize.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): fix bit overflow when i-stereo tuning CBR bit allocation (on_pe() function) clean up finish_iteratio_one(). 2003-11-18 13:20 bouvigne * libmp3lame/presets.c: low vbr-mtrh presets 2003-11-18 12:52 takehiro * testcase.mp3 (takehiro-2002_05_07-experimental): regen 2003-11-18 12:51 takehiro * libmp3lame/: lame.c, quantize.c, util.h (takehiro-2002_05_07-experimental): fix CBR_2nd_bitalloc() (it may makes invalid mp3 frame). remapping -q setting. old -q2 is now -q1 enable CBR_2nd_bitalloc() when -q 0,1 and 2 2003-11-18 12:22 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial clean up 2003-11-18 12:18 takehiro * libmp3lame/: psymodel.c, quantize.c (takehiro-2002_05_07-experimental): new CBR bit allocation/reservoir handling code. still need tuning (there remains some killer samples), but usually brings better result. 2003-11-17 02:31 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix substep noise shaping. 2003-11-16 18:07 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix possible bit counting bug when CBR and higher -q option. 2003-11-16 18:05 takehiro * libmp3lame/: lame.c, util.c, util.h (takehiro-2002_05_07-experimental): do not display the CPU have i387. 2003-11-16 17:57 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix typo 2003-11-16 17:02 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix mp3x display. 2003-11-16 16:11 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): fix ID3v2 tag length when --keeptag. 2003-11-16 12:43 takehiro * frontend/: get_audio.c, get_audio.h, main.c (takehiro-2002_05_07-experimental): now --keeptag keeps ID3v2 tag when transcoding. 2003-11-16 11:04 takehiro * libmp3lame/: lame.c, machine.h, psymodel.c, set_get.c, tables.c, util.c, util.h, version.c (takehiro-2002_05_07-experimental): update comment style (// -> /* */) 2003-11-16 11:04 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): trivial optimization. 2003-11-16 10:47 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix one more l3_enc initialization 2003-11-16 10:31 takehiro * libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental): fix segmentation fault especially when higher VBR quality like -V0. 2003-11-16 10:12 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix trivial(but fatal) bug in short block threshold calculation loop... 2003-11-16 10:08 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix count1 bit-counting (we must zered all zero region because we use 4-stride in count1 region). 2003-11-16 09:55 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix i-stereo+VBR fails to encode (internal buffer inconsistency). 2003-11-15 18:15 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): optimize Huffmancode() by dividing it into tableindex > 15 or not. 2003-11-15 18:14 takehiro * testcase.mp3 (takehiro-2002_05_07-experimental): regen 2003-11-15 17:07 takehiro * libmp3lame/util.h (takehiro-2002_05_07-experimental): fix warning 2003-11-15 17:05 takehiro * libmp3lame/: lame.c, quantize.c, quantize_pvt.h, takehiro.c, util.h (takehiro-2002_05_07-experimental): always use quantize_best() except init_globalgain(). and some code clean up. 2003-11-15 11:21 takehiro * configure: regen 2003-11-15 11:14 takehiro * configure.in: fix migw build(as is done in the experimental branch) 2003-11-15 10:50 takehiro * frontend/get_audio.c: fix ambiguous message (Bug ID #830035) 2003-11-14 16:13 bouvigne * libmp3lame/lame.c: use presets by default when using vbr-mtrh 2003-11-14 13:24 bouvigne * libmp3lame/presets.c: vbr-mtrh high vbr presets 2003-11-12 17:12 takehiro * libmp3lame/: lame.c, util.c, util.h (takehiro-2002_05_07-experimental): check and display if the CPU supports Extended 3DNow! (no E3DNow! code available yet.) 2003-11-12 15:47 takehiro * libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental): fix build problem for newer NASM ... 2003-11-12 06:43 takehiro * libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental): fix build problem (on some old nasm) 2003-11-12 06:43 takehiro * libmp3lame/i386/cpu_feat.nas (takehiro-2002_05_07-experimental): fix build problem 2003-11-11 04:27 takehiro * libmp3lame/i386/cpu_feat.nas (takehiro-2002_05_07-experimental): added Extended 3DNow! check code. 2003-11-11 04:26 takehiro * libmp3lame/: lame.c, quantize.c, util.c, util.h, i386/cpu_feat.nas (takehiro-2002_05_07-experimental): sync main branch (SIMD->SSE change) 2003-11-10 15:41 bouvigne * libmp3lame/: fft.c, lame.c, util.c, util.h, i386/cpu_feat.nas: SIMD->SSE 2003-11-10 15:31 bouvigne * libmp3lame/: lame.c, presets.c: Add missing values for vbr_rh -Vx scale 2003-11-10 15:27 takehiro * libmp3lame/i386/fft3dn.nas: fix cygwin build (with nasm) 2003-11-10 15:27 takehiro * libmp3lame/i386/fft3dn.nas (takehiro-2002_05_07-experimental): fix cygwin build with nasm 2003-11-10 14:58 bouvigne * libmp3lame/: lame.c, presets.c: fix lowpass values for low vbr presets 2003-11-10 12:06 bouvigne * libmp3lame/: lame.c, presets.c, set_get.c: Use presets by default when using vbr_rh 2003-11-09 17:40 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix warning 2003-11-09 17:38 takehiro * libmp3lame/: quantize.c, tables.c, tables.h, i386/quantSSE.nas (takehiro-2002_05_07-experimental): 3DNow! version of calc_sfb_noise() (for CBR/VBR/ABR) and simplify the look up table structure. 2003-11-09 15:28 takehiro * libmp3lame/: quantize.c, i386/quantSSE.nas (takehiro-2002_05_07-experimental): 3DNow! version of calc_sfb_noise_fast() (for VBR) 2003-11-09 14:35 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): do not call CBR_2nd_bitalloc() when -q >= 6. sometimes it results in an invalid mp3 file. 2003-11-09 14:34 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): revert some part of 1.110.2.190->1.110.2.191. 2003-11-09 09:43 takehiro * libmp3lame/: quantize.c, i386/quantSSE.nas (takehiro-2002_05_07-experimental): 3DNow! version of calc_noise() 2003-11-09 09:11 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial clean up 2003-11-09 07:54 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): remove fftsse, fftfpu related code. 2003-11-09 06:24 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): always use -q 5 when VBR because VBR mode needs -q 5 (higher -q setting makes no output change and lower -q setting sometimes makes it to encode invalid mp3 file) 2003-11-08 17:51 takehiro * libmp3lame/: takehiro.c, i386/choose_table.nas (takehiro-2002_05_07-experimental): revert part of last change, because it may seg-faults when -q 6,7,8,9 2003-11-08 17:45 takehiro * libmp3lame/: quantize.c, takehiro.c, i386/choose_table.nas (takehiro-2002_05_07-experimental): changed quantization code. Now it quantizes >8191+15 values into 8191+15. 2003-11-08 17:44 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix precision problem. 2003-11-08 16:38 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): VBR code cleanup and fix minor bug - when there's not enough bits, it may decrease bitrate too much. 2003-11-08 07:00 takehiro * libmp3lame/i386/: fftfpu.nas, fftsse.nas (takehiro-2002_05_07-experimental): I cannot make it work and run faster than compiler output. so I removed. 2003-11-07 16:52 takehiro * libmp3lame/: encoder.c, takehiro.c (takehiro-2002_05_07-experimental): trivial code clean up 2003-11-07 16:46 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): optimization - precalc adjusted ATH and use them when mask_add() 2003-11-07 14:54 takehiro * libmp3lame/: quantize.c, i386/quantSSE.nas (takehiro-2002_05_07-experimental): optimize asm code by dirty hack 2003-11-07 14:53 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial optimization(loop hoist) 2003-11-07 14:37 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix VBR mode... 2003-11-06 17:37 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix trivial bug when non-nasm case 2003-11-06 17:18 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix substep shaping. 2003-11-06 17:13 takehiro * libmp3lame/: psymodel.c, quantize.c, i386/quantSSE.nas (takehiro-2002_05_07-experimental): - prevent "double ATH handling" problem. - new xr^(3/4) code for 3DNow! (From the latest gogo) - added multiplication function to sumofsqr_3DN() 2003-11-05 17:13 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): optimize calc_noise() at "0 or 1" region 2003-11-05 14:03 bouvigne * libmp3lame/: presets.c, psymodel.c: Use Vx scale for presets 2003-11-03 23:15 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix subblock_gain is not used(it ignores the switch). added ugly optimization arround calc_sfb_noise() and calc_sfb_noise_fast(). 2003-11-03 22:54 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): clean up substep shaping code bit. 2003-11-03 18:41 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): use 3DNow! more. 2003-11-03 18:16 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): trivial bug fix... 2003-11-03 18:14 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix it always uses substep noise shaping (it ignore the option) when VBR. 2003-11-03 18:09 takehiro * libmp3lame/: quantize.c, i386/quantSSE.nas (takehiro-2002_05_07-experimental): added pow075_3DN (3DNow! version of calculating xr^(3/4)) added "sum x^2" code for 3DNow! and use it. 2003-11-03 17:44 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): considering the Fourier analysis limitation, it should estimate loudness of lower frequency region when ATH adjustment. 2003-11-03 15:00 bouvigne * libmp3lame/: lame.c, presets.c: allow vbr presets to not be enforced (preparative work before defaulting) 2003-11-03 14:04 takehiro * testcase.mp3, libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix infinite loop when short blocks. (oops, trivial bug...) 2003-11-02 12:10 takehiro * libmp3lame/: machine.h, quantize.c, quantize_pvt.h, takehiro.c, util.h, i386/quantSSE.nas (takehiro-2002_05_07-experimental): Precalculate the fabs(xr). moved xr34[] and absxr[](=fabs(xr)) into gfc. better alignment work for the compiler not support "align". 2003-11-01 20:06 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): more comments update and clean up 2003-11-01 19:50 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): optimize substep noise shaping (trancate_smallspectrums()) and count_bits() related code. 2003-11-01 19:30 takehiro * libmp3lame/: quantize.c, util.h (takehiro-2002_05_07-experimental): clean up(fix comments and misleading variable names). 2003-11-01 19:14 takehiro * libmp3lame/: quantize.c, takehiro.c (takehiro-2002_05_07-experimental): more clean up. 2003-11-01 18:47 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): clean up the comments 2003-11-01 18:33 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): more coding style and comment clean up. do not quantize all the band in CBR_2nd_bitalloc(). this increase the speed and fix bug when -q6,7,8 2003-11-01 18:16 takehiro * libmp3lame/: bitstream.c, quantize.c, tables.c, tables.h, takehiro.c (takehiro-2002_05_07-experimental): general code clean up reduce division in calc_noise() 2003-11-01 14:20 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix bug in sfb21 handling code(it mistook dB scale and real scale). 2003-11-01 12:44 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): coding clean up 2003-10-30 15:29 takehiro * libmp3lame/: quantize.c, takehiro.c (takehiro-2002_05_07-experimental): optimize quantization of "must be quantized to 0 or 1" region. 2003-10-30 15:28 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): added new setting, "-q 6" 2003-10-30 14:57 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix small quantization bug in VBR. 2003-10-30 14:17 takehiro * libmp3lame/: encoder.c, quantize.c (takehiro-2002_05_07-experimental): fix low bitrate and intensity stereo. 2003-10-30 13:09 bouvigne * libmp3lame/lame.c: Moved replaygain analysis after resampling. It was causing problems when used with non standard sampling frequencies. 2003-10-27 15:57 takehiro * configure.in, configure (takehiro-2002_05_07-experimental): added to use TAKEHIRO_IEEE754_HACK on AMD64 machines. 2003-10-26 17:58 takehiro * testcase.mp3 (takehiro-2002_05_07-experimental): regen 2003-10-26 16:50 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): update -q mapping and comment. now -q0/-q1 is same as -q2 (-h) 2003-10-26 16:26 takehiro * libmp3lame/: lame.c, util.c, util.h (takehiro-2002_05_07-experimental): more alignment work. 2003-10-26 16:26 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): optimize calc_noise(). as in main branch, it re-uses the previous calc_noise result where its scalefactor value is not changed 2003-10-26 15:22 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): added "SIMD (asm used)" message 2003-10-26 15:22 takehiro * libmp3lame/: quantize.c, machine.h (takehiro-2002_05_07-experimental): more alignment work. 2003-10-26 14:54 takehiro * libmp3lame/: machine.h, util.h (takehiro-2002_05_07-experimental): alignment work 2003-10-26 14:48 takehiro * libmp3lame/: quantize.c, takehiro.c, util.h, i386/Makefile.am, i386/Makefile.in, i386/nasm.h, i386/quantSSE.nas (takehiro-2002_05_07-experimental): SSE version of calculate xr^(3/4), from gogo-no-coda. 2003-10-26 14:46 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): trivial optimization. 2003-10-26 12:44 takehiro * frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/tables.c, libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): update substep noise shaping. - pseudo half step is now default when -q 0 to 4. - in VBR mode, use substep noise shaping if 320kbps is not enough. - changed behaivior of --substep option (see the usage message) 2003-10-26 11:52 takehiro * libmp3lame/: encoder.c, quantize.c (takehiro-2002_05_07-experimental): more generalized optimization by using gfc->xrMaxNum. - we can also use it now with VBR. 2003-10-26 11:27 takehiro * frontend/mp3x.c, include/lame.h (takehiro-2002_05_07-experimental): fix build problem... 2003-10-26 07:43 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): use adjust_global_gain() function when pseudohalf step noise shaping. fix it sometimes exceed the global_gain limit. 2003-10-26 07:38 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix build problem when with DECODE_ON_THE_FLY 2003-10-26 07:14 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix when subblock_gain or scalefactor_scale is used. 2003-10-25 20:53 takehiro * libmp3lame/: quantize.c, takehiro.c (takehiro-2002_05_07-experimental): re-quantizing only on the sfb where "distortion" is found. (faster !) revert "double"->"FLOAT" conversion. - it makes some problems on the machine of which FLOAT is REALLY FLOAT (only 32it precision) 2003-10-25 19:54 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): optimize/debug gi->xrNumMax usage. 2003-10-25 19:45 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): added loop break code by looking the noise in sfb21 because there's no sfb value and we can do nothing with it. 2003-10-25 19:30 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): off by one of max bitrate in VBR. 2003-10-25 19:28 takehiro * libmp3lame/: bitstream.c, bitstream.h, encoder.c, lame.c, set_get.c (takehiro-2002_05_07-experimental): clean up 2003-10-25 19:28 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix VBR/ABR with --nores encode. and clean up reservoir code. 2003-10-25 19:27 takehiro * libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental): fix VbrInit code. 2003-10-25 18:12 takehiro * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix (takehiro-2002_05_07-experimental): fix dependency (remove reservoir.c) 2003-10-25 18:10 takehiro * libmp3lame/: encoder.c, lame.c, lame_global_flags.h, mpglib_interface.c, psymodel.c, quantize.c, quantize.h, set_get.c, util.h (takehiro-2002_05_07-experimental): analysis hook code clean up. 2003-10-25 18:10 takehiro * TODO (takehiro-2002_05_07-experimental): added decoder thread unsafe problem. 2003-10-25 18:02 takehiro * libmp3lame/machine.h (takehiro-2002_05_07-experimental): fix build problem 2003-10-25 15:52 takehiro * configure, configure.in, libmp3lame/machine.h (takehiro-2002_05_07-experimental): remove --enable-all-float option from configure, and make --enable-double-float instead. 2003-10-25 07:31 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): faster calc_noise() by using max number of xr. 2003-10-25 07:15 takehiro * libmp3lame/: encoder.c, quantize.c, tables.c, takehiro.c, util.h (takehiro-2002_05_07-experimental): precise number of max xr for long blocks. (faster CBR/ABR) code clean up. 2003-10-25 06:31 takehiro * TODO (takehiro-2002_05_07-experimental): added mp3x bug. 2003-10-23 12:09 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/presets.c: presets 2003-10-22 16:22 takehiro * libmp3lame/: encoder.c, quantize.c, takehiro.c, util.h (takehiro-2002_05_07-experimental): count bits/quantization optimization. - do not quantize/search all zero region where obviously all zero region. (use previous quantization result to determine the region) 2003-10-22 13:55 takehiro * libmp3lame/machine.h (takehiro-2002_05_07-experimental): remove unused definition 2003-10-22 10:21 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): changed "double" -> "FLOAT" 2003-10-22 10:17 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): fix sometimes preflag does not decrease the bitrate. 2003-10-22 10:16 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial clean up 2003-10-22 08:26 takehiro * libmp3lame/takehiro.c: fix assertion failure reported by Gabriel. 2003-10-22 07:33 takehiro * libmp3lame/bitstream.c: better debug message 2003-10-22 07:11 takehiro * libmp3lame/: libmp3lame.dsp, libmp3lame_vc6.dsp (takehiro-2002_05_07-experimental): update for reservoir code clean up. 2003-10-21 16:31 takehiro * libmp3lame/: bitstream.c, bitstream.h, id3tag.c (takehiro-2002_05_07-experimental): one more clean up 2003-10-21 16:31 takehiro * DEFINES, TODO (takehiro-2002_05_07-experimental): NEW_DRAIN is now defaulted and it solves wmp6.4 problem 2003-10-21 16:22 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): remove duplicated error check make NEW_DRAIN as default code clean up. 2003-10-21 09:05 bouvigne * libmp3lame/: set_get.c, set_get.h, vbrquantize.c: cleanup 2003-10-20 16:10 olcios * doc/html/history.html: Added the word "Radio" to the description of the ReplayGain contribution, as it is actually the "Radio" ReplayGain that is computed. 2003-10-20 15:02 takehiro * libmp3lame/: VbrTag.c, VbrTag.h, encoder.c (takehiro-2002_05_07-experimental): clean up VBRTAG related code. - now the tag is same when --freeformat 128 and when -b 128 - do not make seek table when CBR 2003-10-20 13:19 takehiro * libmp3lame/: Makefile.am, Makefile.in, VbrTag.c, bitstream.c, quantize.c, quantize_pvt.h, reservoir.c, reservoir.h, tables.c, util.h (takehiro-2002_05_07-experimental): large clean up arround reservoir related code 2003-10-20 12:30 bouvigne * doc/html/history.html: history 2003-10-20 11:08 bouvigne * libmp3lame/version.h: bump alpha 2003-10-20 07:20 bouvigne * libmp3lame/quantize_pvt.c: fixed build problem 2003-10-19 23:26 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix comments. 2003-10-19 17:19 takehiro * TODO (takehiro-2002_05_07-experimental): updated 2003-10-19 17:12 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): simplify the short block noise calculation. 2003-10-19 16:58 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix VBR when i-stereo and completely mono. 2003-10-19 14:14 takehiro * testcase.mp3 (takehiro-2002_05_07-experimental): update 2003-10-19 14:05 takehiro * libmp3lame/: machine.h, mpglib_interface.c, newmdct.c, quantize.c, tables.c, util.c (takehiro-2002_05_07-experimental): remove FLOAT8 at all. 2003-10-19 14:04 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): "floating" scalefactor optimization when preflag is enabled. 2003-10-19 13:42 takehiro * libmp3lame/: bitstream.c, quantize.c, tables.c, takehiro.c (takehiro-2002_05_07-experimental): fix MPEG2 Layer3 scalefactor store code. - fix i-stereo mode. - fix preflag usage. 2003-10-19 13:13 takehiro * libmp3lame/util.h (takehiro-2002_05_07-experimental): remove unused member 2003-10-19 12:50 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): Fix subband filtering initialization code. I hope this solves "very the 1st frame" problem. 2003-10-19 12:20 takehiro * libmp3lame/: bitstream.c, takehiro.c (takehiro-2002_05_07-experimental): use preflag when MPEG2 added istereo bitstream output code when MPEG2 (only output code. not support at the bit-allocation). 2003-10-19 11:41 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): oops, I checked in the wrong version ... 2003-10-19 11:39 takehiro * TODO (takehiro-2002_05_07-experimental): update 2003-10-19 11:37 takehiro * libmp3lame/: encoder.c, lame.c, newmdct.c, psymodel.c, psymodel.h (takehiro-2002_05_07-experimental): fix very the 1st frame encoding. at least MPEG2 Layer3 works, but still there's problem... 2003-10-19 06:24 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix warning when not HAVE_GTK 2003-10-19 04:45 takehiro * TODO (takehiro-2002_05_07-experimental): updated and renumbered. 2003-10-19 04:42 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix max sfb value when preflag+IS 2003-10-19 04:41 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): update comment 2003-10-18 18:05 takehiro * libmp3lame/: encoder.c, quantize.c, tables.c, util.c, util.h (takehiro-2002_05_07-experimental): small clean ups and remove outdated comments. 2003-10-18 17:19 takehiro * frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.h, libmp3lame/set_get.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): use always max_noise as the noise estimation and remove the "quantcomp" selection 2003-10-18 16:54 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): clean up and simplify bin_search_StepSize(). 2003-10-18 16:46 takehiro * libmp3lame/: bitstream.c, quantize.c, reservoir.c, reservoir.h (takehiro-2002_05_07-experimental): fix for NEW_DRAIN fix for target bitrate display in mp3x and code clean up. 2003-10-18 16:17 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): small clean up 2003-10-18 16:14 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): widen the scalefactor search range when VBR. and use previous frame information to find the scalefactor. 2003-10-18 13:44 takehiro * libmp3lame/: VbrTag.c, VbrTag.h, bitstream.c, lame.c, psymodel.c, quantize.c, util.c, util.h (takehiro-2002_05_07-experimental): fix warnings 2003-10-18 13:43 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): short block threshold tuning. 2003-10-18 12:38 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix it sometimes drains too much bits into the ancillary. 2003-10-18 10:42 takehiro * TODO (takehiro-2002_05_07-experimental): added quality problem. 2003-10-17 14:39 bouvigne * libmp3lame/: quantize_pvt.c, quantize_pvt.h: One more speedup in calc_noise, but the function is now a little messy 2003-10-17 13:50 bouvigne * configMS.h: updated version number 2003-10-17 11:49 bouvigne * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h: Speedup calc_noise (about 5-10%) by re-using noise values per sfb between successive calls 2003-10-16 15:36 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): tuning short block masking threshold calculation. 2003-10-16 15:12 takehiro * libmp3lame/: bitstream.c, encoder.h, newmdct.c, psymodel.c (takehiro-2002_05_07-experimental): simplify the block type update code. 2003-10-16 15:10 takehiro * libmp3lame/: lame.c, quantize.c, tables.c (takehiro-2002_05_07-experimental): trivial coding clean up. 2003-10-16 13:26 bouvigne * libmp3lame/: VbrTag.c, presets.c: Put preset used in tag even when just using -b or --abr 2003-10-16 12:55 bouvigne * libmp3lame/VbrTag.c: fixed a Lame header bug: -b xxx --preset yyy was putting xxx as minimum bitrate value in the tag instead of the value defined in the preset yyy 2003-10-16 01:32 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): fix warning when not DEBUG mode 2003-10-16 01:30 takehiro * libmp3lame/: encoder.c, lame.c, psymodel.c, tables.c, util.h (takehiro-2002_05_07-experimental): one more cleanup 2003-10-14 17:56 takehiro * libmp3lame/: encoder.c, lame-analysis.h, psymodel.c, util.h (takehiro-2002_05_07-experimental): one more general code clean up. 2003-10-14 17:37 takehiro * testcase.mp3, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/quantize.c, libmp3lame/reservoir.c, libmp3lame/reservoir.h, libmp3lame/tables.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): general clean up. 2003-10-14 16:57 takehiro * libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental): write down "i-stereo used or not" to LAME tag. 2003-10-14 16:56 takehiro * libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental): remove automs code 2003-10-14 16:54 takehiro * testcase.mp3, frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c, libmp3lame/tables.c (takehiro-2002_05_07-experimental): remove lame_(set|get)_automs remove "-m a" option simplify when no psymodel case (but it has bug in reservoir handling.) 2003-10-14 16:46 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): compress "floating" scalefactors 2003-10-14 12:56 takehiro * frontend/brhist.c (takehiro-2002_05_07-experimental): treat "LR-i" as same as "LR" when display LR/MS history bar. 2003-10-14 12:23 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix MS_MD_LR_LR will never be selected ... 2003-10-14 12:21 takehiro * libmp3lame/: lame.c, psymodel.c (takehiro-2002_05_07-experimental): update mode/block type selection (mode_ext) code. - now it uses "START-STOP" block type transition. - istereo selection code is now simplified. - and small general code clean ups. 2003-10-13 17:56 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): clean up istereo related code. 2003-10-13 17:52 takehiro * Makefile.am, Makefile.in (takehiro-2002_05_07-experimental): fix testcase failure when not HAVE_GTK 2003-10-13 17:27 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix mp3x sometime assertion failure. 2003-10-13 17:21 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix it forgot to reset the istereo usage sfb when LR_I -> LR_MS 2003-10-13 15:57 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): widen the sf search range on short block. some code clean up. 2003-10-13 15:56 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): tuning tonality estimation of "middle" frequency area. 2003-10-13 15:25 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): clean up VBR code. 2003-10-13 13:50 takehiro * TODO (takehiro-2002_05_07-experimental): update with alpha 9 2003-10-13 13:48 takehiro * frontend/main.c (takehiro-2002_05_07-experimental): nuke ".raw" from output filename. fix possible buffer overrun. 2003-10-13 13:26 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): use substep noise shaping even when short block. do not substep noise shaping on digital silent channel. 2003-10-13 13:20 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): init code optimization (do not calculate xr^(3/4) beyond cutoff). 2003-10-13 13:19 takehiro * libmp3lame/: lame.c, tables.c (takehiro-2002_05_07-experimental): use same ath adjustment code for VBR/CBR/ABR 2003-10-13 11:05 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix LR-i stereo selection on short blocks. (I forgot to commit this in alpha9) 2003-10-13 11:02 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix comment. 2003-10-13 10:20 takehiro * testcase.mp3, libmp3lame/version.h (takehiro-2002_05_07-experimental): here goes alpha9 2003-10-13 10:19 takehiro * libmp3lame/: encoder.c, lame.c, quantize.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): clean up preflag/istereo code. 2003-10-13 10:17 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): one more fix about i-stereo aging bug. 2003-10-13 09:53 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): fix --allshort and --shortthreshold 2003-10-11 20:17 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): changed variable name, cod_info_w -> gi_w 2003-10-11 20:11 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): use best_scalefac when istereo. 2003-10-11 19:45 takehiro * libmp3lame/: lame.c, tables.c, util.h (takehiro-2002_05_07-experimental): clean up ATH adjustment code. 2003-10-11 19:45 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): do not use athAdjust() 2003-10-11 19:36 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): prepare for "START-STOP" sequence. 2003-10-11 15:11 takehiro * libmp3lame/: encoder.c, psymodel.c, tables.c, util.h (takehiro-2002_05_07-experimental): fix i-stereo aging bug. 2003-10-11 14:11 takehiro * libmp3lame/: encoder.c, psymodel.c, psymodel.h, quantize.c, quantize.h, util.h (takehiro-2002_05_07-experimental): trivial optimization (more and more) 2003-10-11 13:42 takehiro * libmp3lame/: psymodel.c, tables.c (takehiro-2002_05_07-experimental): trivial optimization 2003-10-11 13:39 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial clean up 2003-10-11 13:19 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): use subblock_gain and scalefac_scale when i-stereo and CBR/ABR. 2003-10-11 13:13 takehiro * libmp3lame/: quantize.c, tables.c (takehiro-2002_05_07-experimental): i-stereo with VBR. 2003-10-11 11:21 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): work arround for mono-input problem when istereo. 2003-10-11 11:09 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix cutoff when i-stereo enabled but not using istereo frame. 2003-10-11 11:05 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): make check_istereo() to be aware of the cutoff. 2003-10-11 10:34 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix off by one bug in loop_break() 2003-10-11 10:29 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix off by one bug in PE calculation (and some code clean up). 2003-10-06 05:09 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): istereo selection code optimization 2003-10-06 04:20 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix scalefactor breakage when istereo case 2003-10-05 18:08 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): reduce istereo usage ratio. 2003-10-05 18:04 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): small clean up 2003-10-05 17:59 takehiro * libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental): sync with main branch - Gaby's freeformat vbrtag fix(rev 1.67->1.68). 2003-10-05 17:48 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix LR-i mode selection. 2003-10-05 17:05 takehiro * testcase.mp3, frontend/gtkanal.c, libmp3lame/encoder.c, libmp3lame/quantize.c, libmp3lame/quantize.h (takehiro-2002_05_07-experimental): general mp3x cleanup. 2003-10-05 16:36 takehiro * frontend/gtkanal.c (takehiro-2002_05_07-experimental): remove magic numbers 2003-10-05 14:17 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): pe -> bit-allocation update.(revert old one) 2003-10-05 13:59 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix when almost mono input. 2003-10-05 13:29 takehiro * libmp3lame/: quantize.c, tables.c (takehiro-2002_05_07-experimental): one more --athonly hack. 2003-10-05 13:21 takehiro * libmp3lame/: quantize.c, tables.c (takehiro-2002_05_07-experimental): simplify calc_xmin when "ATH only". 2003-10-05 12:15 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): fix sfb buffer overrun when i-stereo. 2003-10-05 11:54 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): update the algorithm to select the sfb where it uses i-stereo. 2003-10-05 10:37 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix short block cutoff sfb calculation. 2003-10-04 18:27 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): small optimization - noise calculation in "all zero" region. - sfb21 shaping aware loop_break() 2003-10-04 18:26 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): small clean up 2003-10-04 16:57 takehiro * frontend/parse.c, libmp3lame/lame.c, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): VBR quality over 9 (not tuned yet at all). 2003-10-04 16:52 takehiro * libmp3lame/: tables.c, util.h, encoder.c, psymodel.c (takehiro-2002_05_07-experimental): make it default to do noise shaping in sfb21. cutoff-aware PE(perceptual entropy) calculation. 2003-10-02 09:25 takehiro * frontend/parse.c: fix build problem.(I made a mistake when back porting ...) 2003-10-01 16:13 takehiro * mpglib/layer3.c (takehiro-2002_05_07-experimental): fix build problem 2003-09-29 17:47 takehiro * libmp3lame/: psymodel.c, tables.c (takehiro-2002_05_07-experimental): tonality estimation tuning ... still need more. 2003-09-29 14:00 takehiro * configure (takehiro-2002_05_07-experimental): regen 2003-09-29 00:35 takehiro * configure.in (takehiro-2002_05_07-experimental): fix typo 2003-09-28 16:44 takehiro * configMS.h (takehiro-2002_05_07-experimental): fix version 2003-09-28 16:42 takehiro * USAGE (takehiro-2002_05_07-experimental): small update. 2003-09-28 16:32 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): re-enable scfsi usage. 2003-09-28 16:30 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): use scalefactor() macro more. 2003-09-28 16:19 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): tonality estimation fix #1 - safer tonality estimation at lower frequency. - tuned sine wave (arround 20Hz) with the option "-v --substep 1" - we still need tuning sine wave arround 1kHz. 2003-09-27 18:39 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): "smoothing" the istereo/narrow-stereo/reduce-side values for default setting. and code clean up. 2003-09-27 18:11 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): many small clean up. and mp3x update. - display number of scalefactor bands with a distortion. - display total noise. 2003-09-27 17:15 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix display of istereo-ratio and reduce-side factor 2003-09-27 17:14 takehiro * libmp3lame/lame-analysis.h (takehiro-2002_05_07-experimental): remove unused definition 2003-09-27 17:14 takehiro * INSTALL (takehiro-2002_05_07-experimental): updated for LAME4 - remove outdated compile time options including configure option. 2003-09-27 15:50 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix narrow stereo default setting bug. 2003-09-27 13:13 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): It assumes the noise is monotonic function of the scalefactor, but it is not true. To fix it, I added CBR_2nd_bitalloc() function. 2003-09-27 13:05 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): fix "%" display. 2003-09-27 09:58 takehiro * frontend/parse.c, libmp3lame/lame.c (takehiro-2002_05_07-experimental): added --reduce-side option added to display side-channel pe reduction factor and narrowen stereo factor, when --verbose. 2003-09-27 08:24 takehiro * libmp3lame/: lame.c, psymodel.c, quantize.c, set_get.c, set_get.h, util.h (takehiro-2002_05_07-experimental): reduce_ratio option to control MS/LR ratio. need more tuning. 2003-09-27 06:16 takehiro * frontend/parse.c: added priority control on WIN32, backport from experimental branch. 2003-09-26 13:52 takehiro * libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental): remove outdated comment. 2003-09-26 03:50 takehiro * TODO (takehiro-2002_05_07-experimental): updated 2003-09-25 16:27 takehiro * frontend/parse.c, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/util.h (takehiro-2002_05_07-experimental): - added --narrowen-stereo option - use narrowen stereo default when lower than 90kbps. 2003-09-25 15:54 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): added priority control option on MS-Windows. (request #649324 @ sf.net) 2003-09-25 13:21 takehiro * configure (takehiro-2002_05_07-experimental): regen by hand. 2003-09-25 13:21 takehiro * configure.in (takehiro-2002_05_07-experimental): fix typo 2003-09-25 13:15 takehiro * libmp3lame/i386/Makefile.in (takehiro-2002_05_07-experimental): fix automake bug by hand (work arround) 2003-09-24 23:18 takehiro * Makefile.in, aclocal.m4, config.guess, config.sub, configure, depcomp, install-sh, missing, mkinstalldirs, ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, frontend/rtp.c, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in (takehiro-2002_05_07-experimental): regen with aclocl-1.7, automake-1.7, autoconf-2.57 2003-09-24 23:15 takehiro * configure.in (takehiro-2002_05_07-experimental): fixed mingw build. - socket patch from leighsmith, patch ID #809315 @ sf.net socket function is not mandatory when mp3rtp is not built. - bug report from gadibergman, Bug ID #809678 @ sf.net 2003-09-23 18:29 takehiro * DEFINES (takehiro-2002_05_07-experimental): updated 2003-09-23 18:04 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): it sometime goes into infinite loop when imcomplete wave file... 2003-09-23 17:28 takehiro * libmp3lame/: encoder.c, quantize.c (takehiro-2002_05_07-experimental): added "narrow stereo image" function. I will add new "right" switch to enable it, but till then, use -X n (0 2003-08-10 12:48 bouvigne * include/lame.h, libmp3lame/lame.c, libmp3lame/presets.c, libmp3lame/psymodel.h, libmp3lame/set_get.c, libmp3lame/set_get.h: use presets by default for abr/cbr 2003-08-10 10:11 takehiro * libmp3lame/Makefile.in (takehiro-2002_05_07-experimental): regen 2003-08-10 10:09 takehiro * libmp3lame/: libmp3lame.dsp, libmp3lame_vc6.dsp (takehiro-2002_05_07-experimental): new interface to change internal flags 2003-08-10 10:06 takehiro * libmp3lame/Makefile.am (takehiro-2002_05_07-experimental): new interface to change internal flags. 2003-08-10 10:05 takehiro * libmp3lame/lame.c, libmp3lame/set_get.c, frontend/parse.c, include/lame.h, libmp3lame/set_get.h (takehiro-2002_05_07-experimental): sync with main branch and fix comments. - changed API name - hidden "internal" flags when stable release (when it will be...) 2003-08-10 10:03 takehiro * frontend/brhist.c (takehiro-2002_05_07-experimental): fix comment. 2003-08-10 10:03 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix it may use i-stereo at sfb21. 2003-08-10 10:00 takehiro * debian/: control, copyright, lame.docs, lame.files, rules (takehiro-2002_05_07-experimental): sync with main branch, except changelog itself. 2003-08-09 18:55 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): fix for when there's no LIST chunk. 2003-08-09 12:54 takehiro * libmp3lame/util.h (takehiro-2002_05_07-experimental): fix warning one more. 2003-08-09 12:00 takehiro * libmp3lame/util.h (takehiro-2002_05_07-experimental): fix aliasing warning 2003-08-09 11:30 takehiro * libmp3lame/id3tag.c (takehiro-2002_05_07-experimental): added definition for MSVC (as Gabriel did in main branch) 2003-07-16 01:29 rbrito * debian/: changelog, control, copyright, lame.docs, lame.files, rules: Updated debian packaging. 2003-07-13 10:11 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): RIFF->ID3Tag conversion patch from Charlie Lenahan 2003-07-11 16:35 aleidinger * doc/html/id3.html, doc/man/lame.1, frontend/parse.c: Add --ignore-tag-errors, mostly submitted by Adam Luter . 2003-06-29 15:43 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): revert the latest psymodel update... 2003-06-15 16:52 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): trivial coding style update (comment style change, // ... -> /* ... */ ) 2003-06-15 16:48 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): do not output unused information to avoid any confusion. 2003-06-15 15:28 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix almost all the VBR infinite loop problem (I hope) general code simplification 2003-06-14 17:52 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): simplified VBR code. 2003-06-14 17:36 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): simplify the VBR code. fix more infinite loop in VBR, but still .... 2003-06-14 14:34 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix method 2 of substep shaping. added VBR_3rd_bitalloc() to reduce bitrate little bit. 2003-06-14 14:33 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): one more safer tonality estimation in lower frequency, especially for human voice. 2003-06-14 14:32 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): trivial simplification 2003-06-14 09:32 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix compilation problem on MSVC reported by Yaroslav Efimov 2003-06-14 07:40 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix possible VBR infinite loop... but there are still problems. 2003-06-08 18:19 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix VBR code assumes noise<->scalefactor is a monotonic function. some trivial style update 2003-06-08 17:05 takehiro * include/lame.h, frontend/parse.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): remove nspsytune2 2003-06-08 16:58 takehiro * include/lame.h, frontend/parse.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): always use ATH adaptive adjustment 2003-06-08 16:56 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): trivial clean up 2003-06-08 16:40 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): experimental LR-i check code (not enabled yet) 2003-06-04 17:47 takehiro * Dll/BladeMP3EncDLL.c (takehiro-2002_05_07-experimental): sync main branch 2003-06-04 17:42 takehiro * Dll/BladeMP3EncDLL.c: fix quality setting API(patch for BugID 746439 at sf.net, reported by mikokong). 2003-06-01 18:22 aleidinger * libmp3lame/Makefile.in: regen 2003-06-01 18:22 aleidinger * libmp3lame/Makefile.am: add new private header 2003-06-01 17:20 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/libmp3lame_vc6.dsp, libmp3lame/presets.c, libmp3lame/set_get.c, libmp3lame/set_get.h: private header for internal set/get interfaces 2003-06-01 16:12 bouvigne * libmp3lame/id3tag.c: let's use snprintf, with a define for msvc 2003-06-01 12:34 takehiro * libmp3lame/: lame.c, takehiro.c (takehiro-2002_05_07-experimental): trivial simplification 2003-06-01 12:25 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): added --is-ratio switches to set the is-ratio. remove descriptions about -X,-Y and -Z. 2003-06-01 12:24 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): added istereo-ratio to display. 2003-06-01 12:19 takehiro * TODO (takehiro-2002_05_07-experimental): update TODOs and categorize them. 2003-06-01 09:16 takehiro * libmp3lame/: lame.c, quantize.c (takehiro-2002_05_07-experimental): tuning lower bitrate (arround 64kbps). - improve pe -> bit allocation - changed cutoff, short-threshold. 2003-06-01 09:14 bouvigne * libmp3lame/VbrTag.c: fix seek table for freeformat There is still something strange because with -b128 and -b128 --freeformat I do not get the same seek table 2003-06-01 09:06 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): scfsi debug. - it forgot to initialize scfsi flag when it changes "not istereo" frame to "istereo" frame. - when scfsi is not used at all, do not re-calculate the how many bits are needed to store the scalefactors. 2003-05-31 18:28 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): initialize gfc->l3_side.is_start_sfb_l/s in case not using istereo. 2003-05-31 18:19 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): do not do the istereo related processes when dual stereo mode. 2003-05-31 14:05 bouvigne * libmp3lame/id3tag.c: ID3 TAG of "Encoder name", backported from experimental branch. Btw snprintf does not exist under msvc, so I used sprintf. 2003-05-31 13:52 takehiro * libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental): sync with the main branch (fix VBR tag when freeformat by Gabriel) 2003-05-31 13:30 takehiro * libmp3lame/id3tag.c (takehiro-2002_05_07-experimental): ID3 TAG of "Encoder name". This is based on the patch from danchr, at http://www.hydrogenaudio.org/index.php?act=ST&f=15&t=9858& 2003-05-31 13:16 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): do not use istereo when "analog-monaural". 2003-05-25 17:00 takehiro * libmp3lame/: encoder.c, psymodel.c, tables.c, util.h (takehiro-2002_05_07-experimental): fix i-stereo frame timing delay. do not use i-stereo when completely mono. 2003-05-25 15:34 bouvigne * libmp3lame/VbrTag.c: corrected the bitrate index of LAME tag in case of freeformat, but the seek table is still wrong 2003-05-25 13:21 takehiro * Makefile.in, debian/Makefile.in (takehiro-2002_05_07-experimental): regen 2003-05-25 13:14 takehiro * Makefile.am, debian/Makefile.am (takehiro-2002_05_07-experimental): moved dist-hook, as is in the head branch. 2003-05-25 13:09 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix initialization of "istereo used band" when istereo is not used at all. 2003-05-25 13:04 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix istereo stereo image bug when mono. 2003-05-25 12:28 takehiro * include/lame.h, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/tables.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): psymodel for i-stereo. determine which sfb to use i-stereo by checking similarity of the masking/energy ratios. 2003-05-25 07:31 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): optimize CBR/VBR mode pe<->bit allocation trivial simplification arround VBR. 2003-05-25 03:25 takehiro * libmp3lame/: encoder.c, psymodel.c (takehiro-2002_05_07-experimental): i-stereo improvement. - auto switching LR-i <=> MS-i - i-stereo aware pe calculation 2003-05-25 01:19 takehiro * frontend/brhist.c (takehiro-2002_05_07-experimental): added i-stereo frame count display. 2003-05-25 00:59 takehiro * TODO (takehiro-2002_05_07-experimental): slightly updated about i-stereo. 2003-05-20 12:19 aleidinger * debian/Makefile.in, configure: regen 2003-05-20 12:17 aleidinger * aclocal.m4: remove gtk12-config 2003-05-20 12:14 aleidinger * Makefile.am, debian/Makefile.am: move the dist-hook into the directory where the action happens 2003-05-20 12:13 aleidinger * configure.in: some enhancements for compiler problems and detection of the right size of some types 2003-05-19 04:20 takehiro * configure (takehiro-2002_05_07-experimental): regen 2003-05-19 04:19 takehiro * Makefile.in, aclocal.m4, config.guess, config.sub, ltmain.sh, ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in (takehiro-2002_05_07-experimental): regen with libtool-1.4.2/automake-1.5 to fix nasm enabled build 2003-05-19 04:17 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): fix compilation problem on "old" compilers 2003-05-19 04:09 takehiro * .cvsignore (takehiro-2002_05_07-experimental): added stamp-h?, remove stamp-h1 2003-05-18 17:20 takehiro * libmp3lame/: bitstream.c, encoder.c, lame.c, lame_global_flags.h, psymodel.c, quantize.c, tables.c, takehiro.c, util.h, version.h (takehiro-2002_05_07-experimental): initial support of intensity stereo for lower bitrate it will be enabled when 64-112kbps by default. now bump up the alpha7. 2003-05-18 16:13 takehiro * libmp3lame/version.c (takehiro-2002_05_07-experimental): when NASM is not enabled, do not print message about "MMX" or "3dNow!" 2003-05-18 15:05 takehiro * Makefile.am: added chmod +x debian/rules when make dist. 2003-05-18 15:03 takehiro * Makefile.am, Makefile.in, misc/Makefile.am, misc/Makefile.in (takehiro-2002_05_07-experimental): moved lame.bat added "chmod +x debian/rules" when "make dist" to resolve BugID #578129 2003-05-18 14:15 takehiro * Dll/BladeMP3EncDLL.h: patch from sf.net, Dll compile with gcc. 2003-05-18 07:04 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix for the environment which "long" is 64bit. 2003-05-18 03:45 takehiro * frontend/parse.c, libmp3lame/lame.c (takehiro-2002_05_07-experimental): simplify the opening message 2003-05-18 02:35 takehiro * frontend/: main.h, parse.c (takehiro-2002_05_07-experimental): trivial change and fix warnings 2003-05-18 02:34 takehiro * config.guess (takehiro-2002_05_07-experimental): oops, I overwrote the older file. revert. 2003-05-18 02:31 takehiro * config.sub (takehiro-2002_05_07-experimental): oops, I overwrite the older file. 2003-05-18 02:27 takehiro * stamp-h.in (takehiro-2002_05_07-experimental): removed 2003-05-18 02:21 takehiro * USAGE (takehiro-2002_05_07-experimental): remove -d and --voice changed recommended setting 2003-05-17 18:49 takehiro * frontend/: main.c, mp3x.c, parse.c (takehiro-2002_05_07-experimental): simplify the startup messages fix typo in warning mesage 2003-05-17 18:35 takehiro * frontend/parse.c, include/lame.h, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): remove all the presets 2003-05-17 17:55 takehiro * acconfig.h, ltconfig (takehiro-2002_05_07-experimental): removed 2003-05-17 17:51 takehiro * configure (takehiro-2002_05_07-experimental): regen 2003-05-17 17:50 takehiro * Makefile.in, aclocal.m4, config.guess, config.h.in, config.sub, configure.in, ltmain.sh, ACM/Makefile.in, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, ACM/ADbg/Makefile.in, ACM/tinyxml/Makefile.in, mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, libmp3lame/i386/Makefile.in (takehiro-2002_05_07-experimental): regen with autoconf-2.54, automake-1.6, libtool-1.4 2003-05-17 17:22 takehiro * Dll/BladeMP3EncDLL.h (takehiro-2002_05_07-experimental): BladeMP3EncDLL.h patch for GCC from sf.net 2003-05-15 17:04 takehiro * frontend/lametime.c (takehiro-2002_05_07-experimental): Fix for SunOS 4, reported by Ti Kan. 2003-05-15 17:02 takehiro * frontend/main.c (takehiro-2002_05_07-experimental): fix for sunos 4.x, reported by Ti Kan. 2003-05-15 16:57 takehiro * configure.in, frontend/brhist.c (takehiro-2002_05_07-experimental): fix for BSDI, which does not have term.h (reported by Ti Kan) 2003-05-15 16:55 takehiro * lame.bat, misc/lame.bat (takehiro-2002_05_07-experimental): moved lame.bat into misc directory 2003-05-15 15:09 takehiro * libmp3lame/: psymodel.c, psymodel.h, tables.c (takehiro-2002_05_07-experimental): trivial clean up. 2003-05-15 15:08 takehiro * include/lame.h, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): remove set_preset_* functions public. 2003-05-15 15:07 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): new pseudo sfb21 ath handling code (of course, experimental) 2003-05-15 14:58 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): Partial fix of VBR code assuming the qunatizing noise always increase when the scalefactor increase. This makes reduce bitrate arround 40kbps with bloat_test.wav. This fix is not perfect, because it still assumes the qunatizing noise always decrease when the scalefactor decrease. 2003-05-15 12:48 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): update default short block threshold 2003-05-15 12:04 takehiro * libmp3lame/: psymodel.c, psymodel.h (takehiro-2002_05_07-experimental): tuning MSFIX value with creaking.wav simplified and ATH aware msfix() routine. 2003-05-11 15:03 bouvigne * libmp3lame/presets.c: updated low bitrate presets. Considering quality, we have: ns1 comp1 > ns1 comp3 >ns2 comp3 >ns2 comp1 2003-05-11 13:15 bouvigne * libmp3lame/lame.c, frontend/parse.c, include/lame.h, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c: --sfscale, inhibited -Z 2003-05-11 11:33 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, lame.c (takehiro-2002_05_07-experimental): simplified calc_noise() and better_quant(). update comments. tuning ABR/CBR 64/80/192/224 kbps. 2003-05-11 10:18 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): added comments on vbr code (from main branch). trivial simplification in find_scalefac() prepare for fixing VBR code assumes "quantize noise always decrease when scalefactor decrease". 2003-05-11 09:49 bouvigne * libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/set_get.c, frontend/parse.c, include/lame.h, libmp3lame/util.h: --sbgain 2003-05-10 17:56 takehiro * testcase.mp3, frontend/parse.c, libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix for -k option (reported by Robert. thanx) 2003-05-09 14:06 aleidinger * frontend/: main.c, lametime.c: Fix on SunOs 4, Submitted by: Ti Kan 2003-05-09 13:44 aleidinger * frontend/brhist.c: fix on BSD/OS 3.x, Submitted by: Ti Kan 2003-05-09 13:14 bouvigne * libmp3lame/quantize.c: re-enabling the psfb12 analog silence detection. This time, the coeffs should be correct. However, the coding gain is now quite small 2003-05-08 12:58 bouvigne * libmp3lame/quantize.c: I am disabling the code for psfb12 analog silence detection, as it produces some kind of dropouts. It probably means that there is a bug somewhere inside. 2003-05-04 15:36 bouvigne * libmp3lame/version.h: bump alpha 2003-05-04 15:35 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/presets.c: working on presets 2003-05-03 14:34 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c: ability to set vbr smooth (for vbr-mtrh) 2003-05-02 17:38 bouvigne * frontend/parse.c: internal command line options only available in debug or in alpha. This way we should not be worried again by users using non docummented options: they will not be available for them 2003-05-02 16:18 bouvigne * libmp3lame/vbrquantize.c: comments based on some mails exchanged with Robert 2003-05-01 15:23 bouvigne * libmp3lame/lame.c: maskingadjust/maskingadjust_short available for vbr-mtrh 2003-04-27 15:18 bouvigne * libmp3lame/: encoder.h, l3side.h, lame.c, quantize.c, quantize_pvt.c, util.h: Analog silence detection in partitionned sfb21 or sfb12 for short blocks 2003-04-20 17:32 bouvigne * libmp3lame/presets.c: changed short block quantization comparison to method 0 for abr/cbr on medium bitrates (because of spahm, fatboy and the likes) , as suggested by Takehiro. 2003-04-20 17:03 bouvigne * libmp3lame/version.h: bump alpha 2003-04-20 16:56 bouvigne * libmp3lame/quantize.c: trivial coding change in psfb21_analogsilence 2003-04-20 16:25 takehiro * libmp3lame/version.h (takehiro-2002_05_07-experimental): bump up alpha version 2003-04-20 16:25 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): safer tonality estimation for lower frequency, for better human voice encoding. prevent frequent much MS/LR switching. 2003-04-20 16:22 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): tuning ATH scaling. 2003-04-20 15:57 bouvigne * include/lame.h, frontend/parse.c, libmp3lame/presets.c: presets (testing) 2003-04-20 13:28 bouvigne * libmp3lame/: lame.c, util.c, util.h: simplified prototype of FindNearestBitrate 2003-04-20 12:58 bouvigne * libmp3lame/presets.c: preset insane is now aliased to preset 320 2003-04-20 12:53 bouvigne * include/lame.h, frontend/parse.c, libmp3lame/presets.c: removed some old experimental presets 2003-04-20 12:33 bouvigne * libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/presets.c, frontend/parse.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/util.h, libmp3lame/vbrquantize.c: removed presetTune struct 2003-04-19 16:34 bouvigne * libmp3lame/presets.c: fixed medium bitrates cbr/abr presets 2003-04-19 10:19 bouvigne * TODO: updated the TODO file 2003-04-12 13:47 bouvigne * doc/html/: contributors.html, history.html: history 2003-04-12 10:20 bouvigne * libmp3lame/lame.c, include/lame.h, frontend/parse.c: enable fast replaygain analysis by default define DECODE_ON_THE_FLY if compiled with mpglib 2003-04-07 10:14 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): fix build problem 2003-04-07 00:57 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): trivial simplification 2003-04-06 12:03 takehiro * libmp3lame/: lame.c, set_get.c (takehiro-2002_05_07-experimental): fix higher bitrate CBR/ABR preset first attempt of tuning VBR preset fix athaa_sensitivity display and code (there was some confusion arround dB/power) fix warning of some compare. 2003-04-06 12:00 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix masking handling code for pre-echo prevention works too much aggressively. 2003-04-06 11:59 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): tuning ATH value of MDCT region. 2003-04-05 17:56 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): added ATHlower to display when verbose mode. 2003-04-05 17:20 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): improve short block "pre-surge" masking control. and simplify the code. 2003-04-05 17:19 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): fix 1st frame psycho analysis. 2003-04-05 16:03 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): update lower bitrate ABR/CBR preset. remove outdated comments 2003-03-31 16:32 takehiro * libmp3lame/: psymodel.c, tables.c, util.h (takehiro-2002_05_07-experimental): - remove long block pre-echo handling code (we don't need it when nspsytune). - fix the lowpass filter index to determine L/R channnel long/short block switching. - lower the lowpass filter index to determine long/short block. 2003-03-30 15:11 bouvigne * include/lame.h, frontend/parse.c, libmp3lame/presets.c: presets portable/portable1 2003-03-24 21:21 bouvigne * libmp3lame/version.h: bump alpha 2003-03-24 21:19 bouvigne * include/lame.h, frontend/parse.c, libmp3lame/presets.c: presets 2003-03-24 20:32 bouvigne * libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/util.h, include/lame.h, frontend/parse.c: maskingadjust/maskingadjustshort for vbr-rh 2003-03-18 15:56 takehiro * libmp3lame/: VbrTag.c, encoder.c, util.c (takehiro-2002_05_07-experimental): trivial coding change 2003-03-16 18:02 takehiro * libmp3lame/util.h (takehiro-2002_05_07-experimental): update comments and clean up. 2003-03-16 17:53 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): new bs.totbit overflow handling strategy 2003-03-16 17:53 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): remove quantize cmpare method 3 and 10. update comments of over_noise and tot_noise. 2003-03-16 17:51 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): trivial coding style update 2003-03-08 13:56 takehiro * libmp3lame/: util.c, lame.c (takehiro-2002_05_07-experimental): - fix to work --quantcomp/--shortthreshold(it was ignored and LAME uses always the default) - bit clean up resample. 2003-03-08 10:28 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): simplify the inc_subblock_gain() by using table. 2003-03-04 18:00 takehiro * libmp3lame/: bitstream.c, encoder.c, tables.c, tables.h, takehiro.c, util.h (takehiro-2002_05_07-experimental): large clean up arround bit stream code. much simple, faster and small. fix and optimize MPEG2/2.5 scalefactor value recoding code there's still some problem using table 1 and sometime makes invalid bitstream... 2003-03-03 18:54 takehiro * libmp3lame/: bitstream.c, tables.c, tables.h, takehiro.c (takehiro-2002_05_07-experimental): MPEG2/2.5 scalefactor bit recording optimization. - now it try to use table 1 - much simplified code. 2003-03-03 18:01 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): fix gr_info initilization when MPEG2/2.5, short blocks. 2003-03-03 17:59 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): fix best_huffman_divide() sometime fails the assertion. do not use "extra" preflag when MPEG2/2.5 (it fails to record scalefactors) simplify the scale_bitcount_lsf() 2003-03-03 17:13 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): large clean up and simplification.(result is not changed) 2003-03-03 17:08 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): general clean up and simplification. 2003-03-03 17:04 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial optimization (use shift instead of division) 2003-03-03 10:02 takehiro * libmp3lame/: util.h, tables.c, psymodel.c (takehiro-2002_05_07-experimental): first attempt of block switching for not 44.1kHz. - use "variable" lowpass index for "constant" lowpass frequency. 2003-03-03 04:14 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): tuning long/short threshold for arround 128kbps. clean up scaling related code. 2003-03-03 04:12 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial optimization 2003-03-03 02:48 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): revert substep=2 tuning. 2003-03-02 18:08 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): comment style update. some code simplification 2003-03-02 17:56 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial style change 2003-03-02 17:53 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): all "cod_info" are changed "gi" precisely change the scalefactor when substep = 2 simplify the pinfo calculation(for mp3x) 2003-03-02 17:50 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): all "cod_info" is changed to "gi" optimized best_huffman_divide() little. update comments. 2003-03-02 16:40 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): comment update 2003-03-02 16:40 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): tuning trancation threshold used in pseudo half step method. more simplication and comment updation. 2003-03-02 16:03 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): update comments and simplification. teration_finish_one() is moved from quantize.c to takehiro.c for better conjunction. 2003-03-02 16:01 takehiro * libmp3lame/: tables.c, machine.h, tables.h (takehiro-2002_05_07-experimental): remove IIPOW20() related macro/arrays, all of which are not used. 2003-03-02 15:08 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): more clean up and simplification. 2003-03-02 15:06 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): fix warning. 2003-03-02 15:05 takehiro * libmp3lame/util.h (takehiro-2002_05_07-experimental): fix prototype. 2003-03-02 14:53 takehiro * libmp3lame/: lame.c, quantize.c, quantize_pvt.h, takehiro.c, util.h (takehiro-2002_05_07-experimental): large simplification mainly arround scale_bitcount() 2003-03-02 11:39 takehiro * libmp3lame/: reservoir.c, reservoir.h (takehiro-2002_05_07-experimental): changed ResvAdjust() as macro. 2003-03-02 11:35 takehiro * libmp3lame/: VbrTag.c, id3tag.h, util.h (takehiro-2002_05_07-experimental): simplify the tag related header files. 2003-03-02 11:20 takehiro * libmp3lame/: tables.c, takehiro.c, version.c (takehiro-2002_05_07-experimental): build problem fix when NASM is not enabled 2003-03-02 11:19 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): one more initialization simplification. 2003-03-02 11:13 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): simplify the default setting choosing method. - use optimum_samplefreq() to determine the output sampling rate, as suggested by Gabriel. - use MMX_choose_table always if it uses NASM. 2003-02-27 17:57 bouvigne * libmp3lame/libmp3lame_vc6.dsp: fix MSVC build (replay gain) 2003-02-27 17:46 bouvigne * libmp3lame/: encoder.h, l3side.h, lame.c, quantize.c, quantize_pvt.c, quantize_pvt.h, util.c, util.h: analog silence detection in partitionned sfb21 2003-02-27 03:55 takehiro * libmp3lame/: lame.c, quantize.c (takehiro-2002_05_07-experimental): some substep=2 optimization. - only do substep-shaping in the last quantization step. 2003-02-27 03:45 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix amp_scalefac_bands loop exit condition. 2003-02-27 03:38 takehiro * libmp3lame/: psymodel.c, util.h, tables.c, takehiro.c (takehiro-2002_05_07-experimental): optimized little on the case not NASM enabled. 2003-02-24 03:21 takehiro * include/lame.h, libmp3lame/lame.c, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): more ABR/CBR default mode setting (use ABR/CBR preset) 2003-02-23 18:32 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): sync with the mainline (average compression ratio of VBR mode). 2003-02-23 18:30 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): fix quantize_xrpow_ISO() as same as in quantize_xrpow() 2003-02-23 18:22 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): fix short block window ID initialization. 2003-02-23 17:16 takehiro * libmp3lame/: set_get.c, lame.c (takehiro-2002_05_07-experimental): always uses abr/cbr preset, when abr/cbr coding. The cutoff frequency is changed as is in the main branch. 2003-02-23 16:30 olcios * libmp3lame/lame.c: fixed bug with --resample and --replaygain (input data analysis) 2003-02-23 16:27 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): simplify amp_scalefac_bands() 2003-02-23 16:14 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): simplify inc_subblock_gain() 2003-02-23 16:07 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): fix sfb21 does not quantize if some case. 2003-02-23 10:29 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): general clean up and optimization. - amplify band selection cleanup - skip amplify-method 1 when the max_noise is already lesser than 1.0 - clean up substep shaping in VBR mode 2003-02-22 19:06 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): new optimized noise shaping strategy. start with "sparse" noise_shaping_amp method and retry with the finer method, when we continuously failed. This makes CBR/ABR coding quite faster. comment style update.(// -> /* */) 2003-02-22 19:03 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): clean up init_gr_info 2003-02-22 17:20 takehiro * config.guess, config.sub (takehiro-2002_05_07-experimental): sync with the mainline. - update config files (by CISC) 2003-02-22 17:01 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix VBR code for new quantize strategy. 2003-02-22 02:21 olcios * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix, USAGE, configMS.h, frontend/parse.c, include/lame.h, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/gain_analysis.c, libmp3lame/gain_analysis.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c, libmp3lame/util.h: ReplayGain analysis of a single file (RadioGain) 2003-02-21 15:54 cisc * config.guess, config.sub: Update to latest config files to support more hosts/targets. 2003-02-21 04:53 takehiro * libmp3lame/: machine.h, quantize.c, tables.c, tables.h, takehiro.c (takehiro-2002_05_07-experimental): new quantization strategy. - the code handling quantization factor moved to quantize_xrpow() and quantize_xrpow_ISO(). This is preparing for "quantizing only the scalefactor band whose q-factor is changed" and so on. - now xrpow[] is constant. 2003-02-21 04:50 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): clean up initialization 2003-02-21 01:36 takehiro * libmp3lame/: mpglib_interface.c, util.h (takehiro-2002_05_07-experimental): sync mainline. - changed comment style (// -> /* */) by Robert. - Extending mpglib by the option to return unclipped floating-point values of samples by olcios. 2003-02-20 23:13 takehiro * libmp3lame/: takehiro.c, quantize_pvt.h (takehiro-2002_05_07-experimental): optimized quantization - remove QUANTFAC() macro. - check the max value in quantization routine (loop hoisting) 2003-02-20 22:43 takehiro * mpglib/: common.c, decode_i386.c, decode_i386.h, huffman.h, interface.c, interface.h, l2tables.h, layer1.c, layer2.c, layer2.h, layer3.c, layer3.h (takehiro-2002_05_07-experimental): sync mainline. - changed comment style (// -> /* */) by Robert. - Extending mpglib by the option to return unclipped floating-point values of samples by olcios. 2003-02-19 19:46 olcios * libmp3lame/mpglib_interface.c, libmp3lame/util.h, mpglib/decode_i386.c, mpglib/decode_i386.h, mpglib/interface.c, mpglib/interface.h, mpglib/layer3.c, mpglib/layer3.h: Extending mpglib by the option to return unclipped floating-point values of samples. 2003-02-19 16:40 takehiro * libmp3lame/: quantize.c, set_get.c (takehiro-2002_05_07-experimental): ATH related tuning for ABR/CBR preset. ABR bit-allocation tuning on short blocks 2003-02-19 12:14 takehiro * libmp3lame/presets.c: fix comment style. ( // -> /* */ ) 2003-02-19 12:10 takehiro * libmp3lame/set_get.c (takehiro-2002_05_07-experimental): cleanup and ABR 128-160kbps shortthreshold change. 2003-02-19 10:05 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix comments 2003-02-19 09:48 takehiro * libmp3lame/: encoder.c, tables.c, util.h (takehiro-2002_05_07-experimental): remove PE FIR filter. It does not work now. 2003-02-18 14:49 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): on short blocks, use subblock gain first, instead of scalefac_scale 2003-02-18 14:46 takehiro * libmp3lame/: psymodel.c, quantize.c (takehiro-2002_05_07-experimental): update PE calculation and pe based bit allocation(CBR,ABR) do not spend too much on short blocks. 2003-02-18 14:41 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): remove SNR parameter (attack position aware masking calculation code will replace this). 2003-02-18 01:11 olcios * Makefile.DJGPP: Workaround for a problem with make clean, regarding long filenames on some systems. 2003-02-17 01:02 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix threshold at [SBMAX_s-1] of short blocks 2003-02-16 19:07 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): one and one more brand-new S(L-R) channel short block switching strategy 2003-02-16 18:53 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial clean up in bitpressure_strategy() 2003-02-16 18:53 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix overflow in pulse-like signal detection. 2003-02-16 18:46 bouvigne * libmp3lame/presets.c: cbr/abr presets (still not finished?) 2003-02-16 18:40 takehiro * libmp3lame/: psymodel.c, tables.c (takehiro-2002_05_07-experimental): ATH value scaling clean up and one more revert short block strategy... 2003-02-16 18:07 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): clean up arround initialization of short blocks. 2003-02-16 18:06 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): trivial clean up in inc_scalefac_scale() 2003-02-16 18:05 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): better verbose mode printing 2003-02-16 13:23 takehiro * libmp3lame/version.h (takehiro-2002_05_07-experimental): bump up alpha5 2003-02-16 13:22 takehiro * testcase.mp3 (takehiro-2002_05_07-experimental): update testcase 2003-02-16 13:20 takehiro * frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/tables.c (takehiro-2002_05_07-experimental): ATH related code clean up (always use ATH type 4). 2003-02-16 13:15 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): better noise estimation 2003-02-16 13:14 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): optimized calc_xmin() 2003-02-16 08:38 takehiro * libmp3lame/psymodel.c: PE calculation improvement (backported from experimental branch). Better pe calculation for nspsytune. This brings - better MS/LR switching - better reservoir handling (brings better ABR/CBR result) I hope the trouble on "SeriousTrouble.wav" is partially fixed (not perfect ?). 2003-02-16 08:25 takehiro * libmp3lame/quantize_pvt.h: fix build problem (calc_xmin() prototype fix) 2003-02-16 08:22 takehiro * libmp3lame/quantize.c: fix one more subblock_gain handling code. 2003-02-15 14:07 bouvigne * libmp3lame/quantize.c: init max_nonzero_coeff to 575 instead of 0 2003-02-14 17:41 bouvigne * libmp3lame/: l3side.h, quantize.c, quantize_pvt.c, takehiro.c: do not calc noise in upper 0 part 2003-02-10 03:26 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix long->short masking threshold conversion (still experimental). revert S(L-R) channel blocktype switching strategy. 1st attempt of short block pre-echo prevention code(lessen masking before the surge on shortblocks, for preecho prevention). 2003-02-10 03:21 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): verbose mode:added if it uses subblock gain or not. 2003-02-09 18:01 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): one more tuning short block noise calculation - max_noise handling fix. changed quantcomp_s and quamtcomp - use quantcomp_s only for short blocks. (do not use for start/end) 2003-02-09 17:43 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): reduce memory copy in best_huffman_divide() 2003-02-09 16:46 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): oops, fix short block noise calculation... 2003-02-09 16:41 takehiro * frontend/gtkanal.c, libmp3lame/lame-analysis.h, libmp3lame/psymodel.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): changed mp3x "surge intensity" display. fix psymodel mis-enables the short blocks when MS stereo. changed short blcok setting strategy on the S(L-R) channel. Although this brings better LR/MS handling for fatboy.wav et.al., this is not true idea but work arround. we should get better ns_msfix(). simplify the surge detection in psymodel.c added comments on psymodel.c for mp3x display and the window position. 2003-02-09 16:36 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): trivial simplification 2003-02-09 16:35 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): new calc noise for short blocks. it calculates the sum of noise in 3 subblocks at same frequency region. I hope this makes --quantcomp hack obsolete. 2003-02-09 15:19 takehiro * include/lame.h (takehiro-2002_05_07-experimental): sync main: comments update by Mark. 2003-02-09 12:36 bouvigne * libmp3lame/quantize_pvt.c: revert speedup 2003-02-09 01:25 markt * include/lame.h: added a comment about reading the file API 2003-02-08 17:46 bouvigne * libmp3lame/: presets.c, version.h: presets 2003-02-08 13:53 bouvigne * libmp3lame/quantize_pvt.c: small speedup 2003-02-08 09:51 takehiro * frontend/main.c: trivial simplification 2003-02-08 07:22 takehiro * include/lame.h (takehiro-2002_05_07-experimental): sync main line: comments about lame_init() 2003-02-07 18:17 bouvigne * DEFINES: KLEMM_44 2003-02-06 20:04 markt * include/lame.h: updated comments about lame_init() from Kendrick Hamilton 2003-02-06 06:29 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix analog silence detection 2003-02-05 09:27 takehiro * testcase.mp3 (takehiro-2002_05_07-experimental): regen 2003-02-05 09:26 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): fix subband filtering (always mono...) 2003-02-04 18:27 takehiro * frontend/main.c (takehiro-2002_05_07-experimental): fix --keeptag option 2003-02-04 17:16 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): oops, trivial mistake... 2003-02-04 17:11 takehiro * libmp3lame/set_get.c (takehiro-2002_05_07-experimental): some tuning arround attack threshold. not so far from good... 2003-02-04 17:10 takehiro * libmp3lame/: psymodel.c, psymodel.h (takehiro-2002_05_07-experimental): update comment and remove unused lines. 2003-02-04 17:01 takehiro * testcase.mp3, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/tables.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): use subband filter sample to determine block type. it still remains parameter tuning, but it works. 2003-02-04 16:11 takehiro * libmp3lame/: encoder.c, newmdct.c, newmdct.h, psymodel.c, psymodel.h, tables.c, tables.h, util.h (takehiro-2002_05_07-experimental): prepare for using subband filtered samples to determine block switching. This will archive faster, and better block switching. And using this, we can get more precise short block threshold calculation, I hope. 2003-02-04 16:00 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix comment and trivial optimization. 2003-02-04 15:59 takehiro * configure.in (takehiro-2002_05_07-experimental): regen 2003-02-04 15:59 takehiro * configure (takehiro-2002_05_07-experimental): to avoid confusion, make version 4.00 2003-02-04 15:01 takehiro * frontend/: brhist.c, console.c, gtkanal.c, main.c, parse.c, rtp.c, timestatus.c (takehiro-2002_05_07-experimental): sync with main - comment fix // -> /* */ - nogap related updates 2003-02-04 13:18 takehiro * libmp3lame/lame.c, libmp3lame/util.h, include/lame.h (takehiro-2002_05_07-experimental): sync main. - remove coding_t - update comment 2003-02-03 18:41 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): remove unused code 2003-02-03 18:40 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): sync with the head. 2003-02-03 18:29 takehiro * frontend/: get_audio.c, main.h, parse.c (takehiro-2002_05_07-experimental): added --keeptag option and clean up tag copy code. currently it works only with ID3v1. 2003-02-02 18:51 bouvigne * libmp3lame/version.h: bump alpha 2003-02-02 18:50 bouvigne * libmp3lame/lame.c, libmp3lame/lame_global_flags.h, include/lame.h, libmp3lame/presets.c, libmp3lame/set_get.c, frontend/parse.c: preset medium 2003-02-02 17:30 takehiro * frontend/main.c (takehiro-2002_05_07-experimental): keep id3tag when reencoding mp3(experimental). 1. it sometimes mis-recognize the tag. (but this is the same behavior of madplay) 2. we should add some option to enable/disable this function. after 2 is solved, I will backport it to the head branch. 2003-02-02 17:15 takehiro * frontend/: get_audio.c, gtkanal.c (takehiro-2002_05_07-experimental): trivial comment/style update 2003-02-02 17:10 bouvigne * libmp3lame/: lame.c, util.c, util.h: removed KLEMM_44 2003-02-02 15:50 bouvigne * libmp3lame/: lame.c, util.h: removed useless structure (coding_t) 2003-02-02 14:45 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/presets.c: presets: standard should be fine, working on medium 2003-02-02 10:15 bouvigne * libmp3lame/psymodel.c: comments regarding TMN and NMT (thank you Takehiro) 2003-02-01 21:59 takehiro * libmp3lame/: encoder.c, lame.c, newmdct.c, util.h (takehiro-2002_05_07-experimental): prepare for subband filter output to determine long/short block switching. - subband filtering in next frame. - encode delay setting 2003-02-01 20:06 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): precise error message about nspsytune2 2003-02-01 11:49 takehiro * libmp3lame/newmdct.c (takehiro-2002_05_07-experimental): clean up and optimization. 2003-01-30 12:13 takehiro * frontend/get_audio.c: bit better mp3 input file sync. but we need one more for Chris.mp3.... 2003-01-30 08:48 markt * libmp3lame/: encoder.c, lame.c: Formula for the amount of data that had to be in the buffer before it could be encoded was incorrect. Old formula (for the polyphase filterbank) was: old formula: 286+576*(1+gfc->mode_gr) = 2014 (MPEG1) Correct formula is: 512+framesize -32 = 1632 Best way to see this is to go through window_subband() in newmdct.c It access samples x[32*i] through x[510+32*i] for i=0..17. So our old condition was too conservative. However, the FFT still requires 1904 samples, so the net change is just to lower the requirement from 2014 to 1904. 2003-01-28 03:12 takehiro * libmp3lame/lame-analysis.h (takehiro-2002_05_07-experimental): fix build problem on not HAVE_GTK environment 2003-01-28 00:29 markt * libmp3lame/lame.c: short blocks are coupled, even in regular stereo mode. This is to fix bugs reported in several different hardware decoders. see comments in lame.c 2003-01-27 12:22 takehiro * libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental): added comments ... 2003-01-27 11:39 takehiro * libmp3lame/VbrTag.c: fix warning(added return value) 2003-01-26 17:37 takehiro * frontend/get_audio.c: added ID3tag v2 skipping function. 2003-01-26 12:37 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): tuned long block PE calculation parameter. 2003-01-26 12:09 bouvigne * libmp3lame/version.h: bumped alpha 2003-01-26 12:08 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/presets.c: presets (under testing) 2003-01-26 12:02 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): tuned short block PE calculation parameter. 2003-01-26 11:31 bouvigne * libmp3lame/lame.c: verbose 2003-01-26 10:04 takehiro * libmp3lame/: takehiro.c, quantize_pvt.h (takehiro-2002_05_07-experimental): fix wrong "const" declaration. 2003-01-25 11:02 bouvigne * libmp3lame/: lame.c, quantize.c: changed -q mapping 2003-01-24 19:26 bouvigne * doc/html/history.html: history 2003-01-22 17:15 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): fix best_huffman_divide MPEG2 short block treatment. This is the same bug in count_bits(). 2003-01-22 15:38 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): remove inner loop iteration limit (age) and some simple optimization. 2003-01-21 02:45 takehiro * frontend/: parse.c (takehiro-2002_05_07-experimental), parse.c: added \n in --preset help 2003-01-20 18:09 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/presets.c: presets (under testing) 2003-01-19 15:55 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/presets.c: presets (under testing) 2003-01-19 09:13 takehiro * libmp3lame/: encoder.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): fix fatal bit-counting bug in MPEG2/2.5 short block. 2003-01-19 06:30 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): oops, type mismatch... 2003-01-18 14:44 takehiro * include/lame.h (takehiro-2002_05_07-experimental): added new API, lame_set_use_subblockgain() to set if it uses subblock gain or not. 2003-01-18 14:42 takehiro * frontend/parse.c, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): added "--sfscale" and "--sbgain" options. This is replacement of old ambiguous "-Z" option. 2003-01-13 16:34 takehiro * libmp3lame/set_get.c (takehiro-2002_05_07-experimental): use --preset insane when --preset 320 2003-01-13 13:19 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): 10th quantcomp method, based on 3rd method, but uses over_noise instead of tot_noise. 2003-01-13 13:11 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix fatal bug which happens when the last partition is wider than the last scalefactor band. 2003-01-13 11:46 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): fix "off by one" in short block masking calculation. 2003-01-13 11:45 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): use automatic resample even when ABR. 2003-01-13 11:34 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): changed DEBUGF -> printf (to fix debug build). vorbis removing related fix. 2003-01-13 08:53 takehiro * libmp3lame/set_get.c (takehiro-2002_05_07-experimental): oops... fix auto short block switching threshold adjustment. 2003-01-13 08:43 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): oops... fix --quantcomp option. 2003-01-13 00:49 glessard * frontend/: get_audio.c, main.c, main.h, parse.c: NOGAP-related changes. - added '-T' option to force VBR/INFO tag inclusion. - moved a VBR/INFO tag inclusion decision to parse.c, eliminating the use of a global variable across modules. - fixed reading of multiple little-endian AIFF-C files in get_audio.c. For those files, 'swapbytes' was getting toggled for each file opened in the sequence, so only every other output file was correct. 2003-01-12 15:18 takehiro * frontend/parse.c, include/lame.h, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): added --quantcomp option. 2003-01-12 12:37 takehiro * libmp3lame/: VbrTag.c, lame_global_flags.h, util.c (takehiro-2002_05_07-experimental): sync with the head arround VbrTag. 2003-01-12 12:35 takehiro * libmp3lame/set_get.c (takehiro-2002_05_07-experimental): ABR/CBR preset sync with the head branch. 2003-01-12 12:33 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): trivial cleanup 2003-01-11 18:40 bouvigne * libmp3lame/presets.c: low bitrates presets 2003-01-11 17:56 markt * libmp3lame/: VbrTag.c, lame_global_flags.h, util.c: reorganized VBR tag initialization code so that it could be reset/initialized several times (for use when encoding in nogap mode) 2003-01-11 17:42 markt * libmp3lame/lame_global_flags.h: removed comment within comment delimiter 2003-01-11 17:41 markt * include/lame.h, libmp3lame/VbrTag.c, libmp3lame/lame_global_flags.h: cleaned up some comments about VBR tags being written to the mp3 file after internal data structures are free (this has not been true for a long time) na 2003-01-11 15:43 bouvigne * libmp3lame/presets.c: low bitrates presets 2003-01-11 13:05 takehiro * libmp3lame/: encoder.c, quantize.c, quantize.h (takehiro-2002_05_07-experimental): remove an unused argument of VBR_iteration() 2003-01-11 12:55 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix mono ABR/VBR encoding 2003-01-11 12:46 takehiro * libmp3lame/lame.c: fix ath curve initialization. 2003-01-11 12:25 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix config print code 2003-01-11 11:10 takehiro * frontend/rtp.c (takehiro-2002_05_07-experimental): sync with the head branch - Include alloca.h if neccessary. (by Alex) 2003-01-11 11:09 takehiro * frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c, libmp3lame/tables.c (takehiro-2002_05_07-experimental): sync with the head branch - GB's Ability to change ath4 shape independantly from vbr_q 2003-01-11 11:08 takehiro * libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental): sync with the head branch (GB's change, "Add the Info frame to the number of frames reported by the Info/vbr tag") 2003-01-11 11:07 takehiro * USAGE (takehiro-2002_05_07-experimental): update bit. 2003-01-11 11:06 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): use "safe" way of short block long->short threshold conversion better ns_msfix by using the fatc that noise in sfb couldn't exceed its energy. do not use ns_msfix when we used msfix. do not long block msfix when the block IS short. 2003-01-11 04:16 markt * frontend/main.c, libmp3lame/VbrTag.c: in nogap mode, with VBR tags, we were calling init_bitstream() (which resets VBR tag data) before writing the VBR tag data. This is now fixed, but there is still a bug when initializing the VBR data for the 2nd (or more) encoding in the nogap series. 2003-01-10 21:22 markt * frontend/parse.c: forgot a \n in the --longhelp documentation 2003-01-10 20:18 markt * USAGE: note that --voice option is obsolete 2003-01-10 20:12 markt * frontend/: main.c, main.h, parse.c: added the "--nogaptags" option. this will allow VBR tags even for gapless encoding. The default behavoir is to disable tags for gapless encoding. 2003-01-10 20:07 markt * frontend/parse.c, libmp3lame/VbrTag.c: Updated the TOC calculation in the VBR tag to also count the size of the VBR tag itself. This is to make the VBR tag consistent with the recent change in the VBR frame count (changed so that it also counts the VBR tag as a frame) 2003-01-10 19:06 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): fix usage message arround ns(-bass|-alto|-treble|-sfb21|msfix). 2003-01-10 18:58 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): trivial cleanup (when JOINT_STEREO and no-psymodel, it is always MS stereo) 2003-01-10 18:57 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix some initilization when ABR. (It seems ATH-adjust type 3 does not works fine with ABR mode ...) 2003-01-05 16:49 takehiro * libmp3lame/version.c (takehiro-2002_05_07-experimental): fix compiling error(oops, trivial mistake...) 2003-01-05 16:36 takehiro * libmp3lame/: lame.c, psymodel.c, quantize.c, tables.c, util.h (takehiro-2002_05_07-experimental): - use ns-(bass|alto|treble|sfb21) in psymodel. And now ATH values are not affected by these values. - sfb21 aware pe(perceptual entropy) calculation. I hope it brings better LR/MS switching, but CBR/ABR is now not good as it was because of this. I'm afraid it needs overhaul.... - analog silence detection code is moved to pecalc_[ls] functions. 2003-01-05 14:56 takehiro * libmp3lame/version.c (takehiro-2002_05_07-experimental): removed unused code 2003-01-05 08:15 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): one more fix for inc_subblock_gain(). and some clean up. 2003-01-05 08:14 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): pe calculation of over 16kHz region. 2003-01-05 07:22 takehiro * libmp3lame/: lame-analysis.h, quantize.h (takehiro-2002_05_07-experimental): move set_frame_pinfo() definition to fix mp3x built 2003-01-05 07:21 takehiro * frontend/gtkanal.c (takehiro-2002_05_07-experimental): remove unused code to fix mp3x built 2003-01-05 04:28 takehiro * DEFINES (takehiro-2002_05_07-experimental): completely updated (from Alex's comment). 2003-01-05 04:11 takehiro * libmp3lame/: bitstream.c, encoder.c, quantize.c, reservoir.c, reservoir.h (takehiro-2002_05_07-experimental): - general clean up mainly arround reservoir. - use faster and not exact quantizing method for the 1st step of VBR. (It estimates scalefactor step roughly and not needed exactness) 2003-01-05 03:36 takehiro * libmp3lame/machine.h (takehiro-2002_05_07-experimental): remove u_char definition (sync head branch) 2003-01-02 18:42 bouvigne * libmp3lame/psymodel.c: In psymodel_init set blocktype_old to NORM_TYPE because the VBR header is long blocks. This might be the problem encountered in some WMP 6.4 2003-01-02 18:37 bouvigne * libmp3lame/VbrTag.c: Add the Info frame to the number of frames reported by the Info/vbr tag 2003-01-02 18:30 bouvigne * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h, vbrquantize.c: reduced 63 warnings to 55 under visual c++. Those were mainly differences between function prototypes in declarations and implementations. 2003-01-02 18:27 bouvigne * libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c, libmp3lame/util.c, libmp3lame/util.h, frontend/parse.c, include/lame.h: Ability to change ath4 shape independantly from vbr_q 2003-01-01 16:14 aleidinger * libmp3lame/machine.h: Removed u_char typedefs, u_char is not used in the tree (according to grep -r u_char). 2003-01-01 16:12 aleidinger * frontend/rtp.c: Include alloca.h if neccessary. Noticed by: Tomi Vainio 2002-12-31 14:00 takehiro * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/libmp3lame.dsp, libmp3lame/libmp3lame_vc6.dsp (takehiro-2002_05_07-experimental): vbrquantize.[ch] and quantize_pvt.c is merged into quantize.c 2002-12-31 13:58 takehiro * libmp3lame/: bitstream.c, encoder.c, lame.c, lame_global_flags.h, reservoir.c, tables.c, util.c, util.h, version.h (takehiro-2002_05_07-experimental): general cleanup gfp->VBR_mean_bitrate_kbps and gfp->brate is merged. init_bit_stream_w is moved to lame.c from bitstream.c FindNearestBitrate(), map2MP3Frequency(), SmpFrqIndex() are moved to lame.c from util.c fix VBR lowest/highest bitrate in mono-mode now alpha 4 2002-12-31 13:56 takehiro * libmp3lame/: quantize.c, vbrquantize.c, vbrquantize.h, quantize.h, quantize_pvt.c, quantize_pvt.h (takehiro-2002_05_07-experimental): removed analog silence related code in calc_xmin(). ABR/CBR code integration. caller of init_outer_loop() and calc_xmin() is moved to outer_loop() off by one fix of global_gain (from the mainline), in outer_loop() new vbr code. but still needs more fix. remove unused code in VBR_prepare() vbrquantize.[ch] and quantize_pvt.c is merged into quantize.c one more inc_subblock_gain() fix. 2002-12-31 13:53 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): some cleanup arround pointer. analog silence detection in psymodel.c. skip short block FFT calculation of joint stereo, if it is not needed. 2002-12-29 16:48 takehiro * frontend/main.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/reservoir.c, libmp3lame/set_get.c, libmp3lame/tables.c (takehiro-2002_05_07-experimental): cleanups - all vbr modes are into one. - more initilization code organization experimental tuning of short block switching threshold in ABR presets. 2002-12-29 16:44 takehiro * testcase.mp3 (takehiro-2002_05_07-experimental): update mainly due to long->short threshold convertion 2002-12-29 09:09 takehiro * include/lame.h (takehiro-2002_05_07-experimental): follow new APIs 2002-12-29 08:57 takehiro * libmp3lame/: VbrTag.c, bitstream.c, encoder.c, lame.c, lame_global_flags.h, machine.h, psymodel.c, psymodel.h, tables.c, tables.h, util.c, util.h, version.h (takehiro-2002_05_07-experimental): general cleanups - removed KLEMM_44 (I plan to replace the resampling code with ssrc) - VBR/CBR/ABR related initialization cleanup - moved initialization related code in lame.c/util.c -> tables.c - most of "preset" settings are defaulted. experimenal tuning - substep method and use_scalefac_scale setting are removed from -q option mapping 2002-12-29 08:51 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): - simplify/removed not needed VBR code. *** There is still problem which it assumes the quantization noise is *** monotone function of the scalefactor(quantization factor). 2002-12-29 08:49 takehiro * libmp3lame/: lame-analysis.h, quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): - use athAdjust() always (in quantize.c) - removed unused quantcomp_method 2002-12-29 08:43 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): * follow API changes. * clean up options. added options --shortthreshold removed options --r3mix, --phone, --voice, --radio, --tape, --cd, --studio, --cwlimit, --nspsytune, --vbr-old, --vbr-new, --vbr-mrth --short changed options --allshort, --noshort (implemented by shortthreshold API) 2002-12-29 08:40 takehiro * libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/libmp3lame_vc6.dsp, libmp3lame/presets.c, libmp3lame/set_get.c, Makefile.DJGPP, Makefile.MSVC, Makefile.unix (takehiro-2002_05_07-experimental): presets.c is merged into set_get.c API change - CHANGED: expX -> "quantocomp_method" - CHANGED: expZ -> "use_large_scalefac" - REMOVED: cwlimit related APIs - REMOVED: short blocks on/off/forced APIs - NEW: short blocks switching threshold API 2002-12-27 04:42 takehiro * libmp3lame/psymodel.c: use ATH value as short block masking lower limit. 2002-12-27 04:21 takehiro * frontend/parse.c, include/lame.h, libmp3lame/set_get.c, libmp3lame/version.h: new option --shortthreshold and bump up version number(alpha 8) and new psymodel version(0.90) for ATHadjust aware psymodel 2002-12-27 04:17 takehiro * libmp3lame/psymodel.c: fix assertion failure (oops, my mistake in ATH handling change) 2002-12-26 05:43 takehiro * libmp3lame/: lame.c, psymodel.c, psymodel.h: cleanup psymodel initialization preparing for --shortthreshold option. 2002-12-25 12:13 takehiro * libmp3lame/: psymodel.c, quantize.c, set_get.c, util.h, vbrquantize.c: ATH handling fix and simplification. - use ATH adjust in ns_msfix(), mask_add(), and masking lower limit calculation. - all ATH adjust related thresholding(ns_msfix, quantcompare and scalefac_scale) is removed. 2002-12-21 07:12 takehiro * libmp3lame/: psymodel.c, quantize.c, quantize_pvt.c, tables.c (takehiro-2002_05_07-experimental): masking_lower related fix for shortblock ATH handling and clean up. 2002-12-21 07:10 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): trivial style change 2002-12-21 05:52 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial optimization (when joint stereo, it is always STEREO and channels_out = 2) 2002-12-21 05:51 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix it uses LR threshold for MS when -m f 2002-12-21 05:45 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): zero prevention (adding 1e-37) is not needed. 2002-12-21 04:55 takehiro * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix (takehiro-2002_05_07-experimental): fix for removing vorbis support 2002-12-21 04:53 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): short block ATH scaling fix. 2002-12-18 16:29 takehiro * libmp3lame/libmp3lame_vc6.dsp: removed tools.h 2002-12-18 16:27 takehiro * libmp3lame/: Makefile.am, Makefile.in, debugscalefac.c, tools.c, tools.h: remove unused files and regen Makefile 2002-12-16 19:02 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix inc_subblock_gain() to properly handle sfb12 (16kHz over region) MDCT coefs. 2002-12-16 18:46 takehiro * libmp3lame/quantize.c: oops, I checked in the wrong version... 2002-12-16 18:45 takehiro * libmp3lame/quantize.c: fix inc_subblock_gain() to properly handle sfb12 (16kHz over region) MDCT coefs. 2002-12-16 18:14 takehiro * libmp3lame/: psymodel.c, tables.c, util.h (takehiro-2002_05_07-experimental): initial attempt to long->short masking threshold conversion fix FFT routine selection code. adjust masking threshold scaling for VBR. fix ATH handling for long block masking threshold. 2002-12-16 18:10 takehiro * libmp3lame/: encoder.c, lame-analysis.h (takehiro-2002_05_07-experimental): mp3x displays MS/LR masking pe difference 2002-12-15 17:46 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): cleanup related removing vbr-old 2002-12-15 17:39 takehiro * libmp3lame/set_get.c (takehiro-2002_05_07-experimental): cleanup related removing vbr-old 2002-12-15 17:37 takehiro * libmp3lame/lame_global_flags.h (takehiro-2002_05_07-experimental): remove an unused variable 2002-12-15 17:36 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix short block scaling for ATH handling 2002-12-15 16:25 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix fatal short block ATH handling... 2002-12-15 12:56 bouvigne * libmp3lame/lame.c, frontend/parse.c: warning about alpha versions 2002-12-15 11:59 takehiro * ACM/ACMStream.cpp: fix access violation when LAME failed to initilize. I hope this fixes BUG ID 646894 (at sf.net). 2002-12-15 11:11 takehiro * libmp3lame/lame.c: fix warning (reported at sf.net by krick.) 2002-12-15 11:10 takehiro * libmp3lame/: util.h, takehiro.c: fix warning (reported at sf.net by krick. 2002-12-15 10:07 takehiro * libmp3lame/: presets.c, quantize.c (takehiro-2002_05_07-experimental): remove vbr-old and its presets 2002-12-15 09:47 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): adjust masking threshold for new mask_add() strategy. 2002-12-15 09:11 takehiro * libmp3lame/lame.c: fix -q0 convined with --substep x option. 2002-12-15 08:56 takehiro * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix: fix for vorbis support remove (I hope) 2002-12-14 19:19 robert * ChangeLog, Makefile.MSVC, lame.bat, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/util.c, misc/lame4dos.bat, misc/mlame: removed my email address 2002-12-14 18:56 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix for ATH handling and short block VBR threshold. 2002-12-14 17:38 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): more fix for msfix and its comment. 2002-12-14 11:08 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix better ns_msfix (and better MS/LR switching). 2002-12-14 08:01 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix msfix for symmetric L/R treatment. 2002-12-13 17:48 takehiro * libmp3lame/quantize.c: off by one fix for global_gain. 2002-12-13 17:42 takehiro * libmp3lame/: encoder.h, psymodel.c, quantize.c, set_get.c, tables.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental): ATH adjustment related code cleanup (for mostly preset). and possible fix for "global_gain > 255" (backport from mainline). 2002-12-13 16:58 takehiro * configure, frontend/main.h, libmp3lame/Makefile.in: remove vorbis support and regen. 2002-12-13 16:54 takehiro * configure.in, config.h.in, frontend/get_audio.c, frontend/main.c, frontend/parse.c, libmp3lame/Makefile.am, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c, libmp3lame/vorbis_interface.c: remove vorbis support. 2002-12-13 14:34 takehiro * libmp3lame/lame.c: fix for 64bit environment, reported by Tomi Vainio 2002-12-09 19:00 bouvigne * libmp3lame/: quantize.c, version.h: fixed the quant_comp problem (probably introduced by me) so bump the alpha version number 2002-12-08 17:40 takehiro * libmp3lame/version.h: now 3.94 alpha 6 - changed default block switching threshold - fixed mpglib crash. 2002-12-08 17:35 takehiro * libmp3lame/psymodel.c: changed long/short block switching threshold. 2002-12-08 17:23 takehiro * testcase.mp3: new testcase for the new default cutoff frequency. 2002-12-08 17:07 takehiro * mpglib/interface.c: null pointer check patch from Peter Pawlowski , to prevent the random crash. 2002-12-08 17:02 takehiro * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.am, Makefile.in, Makefile.unix, configMS.h, configure, configure.in, testcase.mp3, frontend/brhist.c, frontend/brhist.h, frontend/console.c, frontend/console.h, frontend/get_audio.c, frontend/get_audio.h, frontend/gpkplotting.h, frontend/gtkanal.c, frontend/gtkanal.h, frontend/lametime.c, frontend/lametime.h, frontend/main.c, frontend/main.h, frontend/parse.c, frontend/parse.h, frontend/portableio.h, frontend/rtp.c, frontend/rtp.h, frontend/timestatus.c, frontend/timestatus.h, include/lame.h, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c, libmp3lame/fft.h, libmp3lame/gain_analysis.c, libmp3lame/gain_analysis.h, libmp3lame/id3tag.h, libmp3lame/l3side.h, libmp3lame/lame-analysis.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/libmp3lame.dsp, libmp3lame/machine.h, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/newmdct.h, libmp3lame/presets.c, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/quantize.c, libmp3lame/quantize.h, libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h, libmp3lame/reservoir.c, libmp3lame/reservoir.h, libmp3lame/set_get.c, libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c, libmp3lame/vbrquantize.h, libmp3lame/version.c, libmp3lame/version.h, libmp3lame/vorbis_interface.c, libmp3lame/i386/Makefile.am, libmp3lame/i386/Makefile.in, mpglib/common.c, mpglib/common.h, mpglib/dct64_i386.h, mpglib/decode_i386.h, mpglib/huffman.h, mpglib/interface.c, mpglib/interface.h, mpglib/l2tables.h, mpglib/layer1.c, mpglib/layer1.h, mpglib/layer2.c, mpglib/layer2.h, mpglib/layer3.c, mpglib/layer3.h, mpglib/mpg123.h, mpglib/mpglib.h, mpglib/tabinit.h: overwrite by takehiro_stable branch. 2002-12-08 16:59 takehiro * mac/.cvsignore: added 2002-12-02 20:26 bouvigne * libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/presets.c, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/util.h, libmp3lame/vbrquantize.c, include/lame.h, frontend/parse.c (takehiro-stable-2002_10_15): quant_comp and quant_comp_short 2002-12-01 17:47 takehiro * libmp3lame/version.h (takehiro-stable-2002_10_15): now alpha4 - fix -q0 and -q1 - -X and -Z option update I think we should "-X1,0" as default for ABR/CBR/VBR-old, including all presets. (except fast presets) please test and tell your result. 2002-12-01 17:43 takehiro * frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize.c (takehiro-stable-2002_10_15): added "-Z -1" to enable scalefactor scale only(disable subblock gain) 2002-12-01 16:32 aleidinger * ChangeLog: update for 3.93.1 2002-12-01 16:18 aleidinger * configure: regen 2002-12-01 16:15 aleidinger * configure.in: change version to 3.93.1 2002-12-01 16:12 aleidinger * configure: regen 2002-12-01 16:10 aleidinger * doc/html/history.html: sync with webpages 2002-12-01 16:06 aleidinger * configure.in: Check for socket() in libsocket if it isn't in libc so rtp can get compiled on Solaris. Noticed by: "Niki W. Waibel" While I'm here, bail out if some other functions aren't there. 2002-12-01 15:42 takehiro * libmp3lame/lame.c (takehiro-stable-2002_10_15): fix -q0 and -q1. This makes -q0 very very slow. 2002-12-01 15:36 takehiro * frontend/parse.c, include/lame.h, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/vbrquantize.c (takehiro-stable-2002_10_15): now you can specify the method how to compare the quantization for long/short block independently by -X option.(-X n,m) 2002-12-01 13:18 takehiro * libmp3lame/set_get.c (takehiro-stable-2002_10_15): fix comment 2002-11-30 18:18 bouvigne * libmp3lame/version.h: version 2002-11-29 17:07 bouvigne * Dll/BladeMP3EncDLL.def: dll exports 2002-11-28 21:05 bouvigne * doc/html/: history.html, index.html: docs 2002-11-28 18:06 bouvigne * libmp3lame/version.h: go back to 3.93 2002-11-28 18:04 bouvigne * libmp3lame/lame.c: revert back q0 to q1 state (due to reports about quality problems) 2002-11-26 15:45 takehiro * libmp3lame/version.h (takehiro-stable-2002_10_15): alpha4 solves the fatal error in outer_loop(). it should not select the data whose global_gain is greater than 255. 2002-11-25 18:00 bouvigne * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h: sync presets with the executable front-end and libmp3lame 2002-11-25 01:36 takehiro * libmp3lame/: Makefile.am, Makefile.in (takehiro-stable-2002_10_15): fix build problem 2002-11-24 18:37 takehiro * libmp3lame/quantize.c (takehiro-stable-2002_10_15): Fix not to select the data whose global_gain is greater than 255. and inner_loop() manual inlining. This fix is based on the R.A.F.'s bug report at HA. Thanx R.A.F. 2002-11-23 18:54 bouvigne * libmp3lame/psymodel.c: quick fix of nspsytune 2002-11-17 16:39 takehiro * libmp3lame/.indent.pro (takehiro-stable-2002_10_15): I forgot to sync this with the head branch. 2002-11-17 16:34 takehiro * Makefile.in, configure, Dll/Makefile.in, libmp3lame/Makefile.in (takehiro-stable-2002_10_15): regen (by hand :p) 2002-11-17 16:33 takehiro * ChangeLog, ChangeLog.header, Makefile.am, configure.in, Dll/Makefile.am, libmp3lame/Makefile.am (takehiro-stable-2002_10_15): sync with head branch (releasing 3.93 related things). 2002-11-17 15:59 takehiro * doc/html/history.html (takehiro-stable-2002_10_15): copy from webpage/history.html 2002-11-17 11:11 aleidinger * configure.in, libmp3lame/version.h: We are now at 3.94alpha... 2002-11-17 10:41 aleidinger * doc/html/history.html: Copy history from webpage. 2002-11-17 10:29 aleidinger * ChangeLog: ChangeLog for 3.93. 2002-11-17 10:25 aleidinger * Dll/Makefile.in, Makefile.in: regen 2002-11-17 10:24 aleidinger * Makefile.am: Add lame.dsw. 2002-11-17 10:23 aleidinger * Dll/Makefile.am: Oops... add missing backslash. 2002-11-17 10:18 aleidinger * Dll/Makefile.in, libmp3lame/Makefile.in: regen 2002-11-17 10:16 aleidinger * libmp3lame/Makefile.am: Add gain_analysis.[ch] to the distributed files. 2002-11-17 10:11 aleidinger * Dll/Makefile.am: Add some missing files. 2002-11-17 10:09 aleidinger * configure: gtk12-config -> gtk-config 2002-11-17 10:05 aleidinger * testcase.mp3: "Official" testcase.mp3 for this release. 2002-11-17 09:51 aleidinger * ChangeLog.header: Add some information about branches. 2002-11-17 09:46 aleidinger * libmp3lame/version.h: We are at 3.93-RELEASE now... 2002-11-17 09:45 aleidinger * doc/man/lame.1, frontend/parse.c: Warn about fast presets. 2002-11-16 13:07 takehiro * configure (takehiro-2002_05_07-experimental): remove vorbis related things 2002-11-16 12:44 takehiro * configure.in (takehiro-2002_05_07-experimental): removed vorbis related thing 2002-11-16 10:07 bouvigne * doc/html/presets.html: warning about fast presets 2002-11-13 20:56 bouvigne * libmp3lame/: lame.c, presets.c, util.c, util.h (takehiro-stable-2002_10_15): change of the default lowpass values (will break testcases) 2002-11-13 20:24 bouvigne * libmp3lame/: lame.c, presets.c: rollback of lowpass change before release 2002-11-10 12:41 takehiro * libmp3lame/: encoder.c, psymodel.c, quantize.c (takehiro-2002_05_07-experimental): prepare for intensity-stereo. 2002-11-10 12:40 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): some trivial optimizations and make some functions static. 2002-11-10 12:39 takehiro * libmp3lame/machine.h (takehiro-2002_05_07-experimental): trivial macro fix 2002-11-10 12:38 takehiro * libmp3lame/newmdct.c (takehiro-2002_05_07-experimental): optimize subband filter (lowpass/highpass). 2002-11-10 12:36 takehiro * libmp3lame/i386/: choose_table.nas, fft3dn.nas (takehiro-2002_05_07-experimental): align -> loopalign better labeling 2002-11-10 08:24 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): - more db2pow() macro use - remove traditional code(which do nothing) 2002-11-10 08:23 takehiro * libmp3lame/psymodel.h (takehiro-2002_05_07-experimental): fix warning 2002-11-10 07:55 takehiro * frontend/main.c, frontend/parse.c, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c, libmp3lame/util.h, libmp3lame/vorbis_interface.c (takehiro-2002_05_07-experimental): remove vorbis support, which is too much outdated. 2002-11-10 07:53 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): trivial optimization 2002-11-09 18:45 takehiro * libmp3lame/: psymodel.c, tables.c (takehiro-2002_05_07-experimental): - optimize ATH handling in mask_add() by changing ATH.cb[] scaling. - more faster long block masking threshold calculation. 2002-11-09 18:43 takehiro * libmp3lame/: encoder.c, takehiro.c (takehiro-2002_05_07-experimental): cleanup START/STOP type bit calculation 2002-11-09 18:42 takehiro * libmp3lame/i386/: choose_table.nas, nasm.h (takehiro-2002_05_07-experimental): some sync with GOGO. 2002-11-09 12:34 takehiro * libmp3lame/: encoder.c, machine.h, quantize.c, set_get.c, tables.c (takehiro-2002_05_07-experimental): clean up decibel -> power conversion 2002-11-09 12:33 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): clean up FFT related code. more acculate condition check whether we need short block masking calculation. FIR filter loop unrolling 2002-11-07 18:47 bouvigne * libmp3lame/: lame.c, presets.c, util.c, util.h: change of the default lowpass values (will break testcases) 2002-11-04 16:59 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): optimize long block masking ratio calculation (partition -> scalefactor band transformation) 2002-11-04 16:49 takehiro * testcase.mp3, libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix short block masking calcultion(patition to scalefactor band transformation) and trivial cleanups, as is always :) 2002-11-04 16:00 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix mp3x FFT display. 2002-11-04 15:56 takehiro * testcase.mp3, libmp3lame/encoder.c, libmp3lame/psymodel.c, libmp3lame/reservoir.c, libmp3lame/version.h (takehiro-2002_05_07-experimental): now here goes alpha 2. - some trivial optimizaions and cleanups on psymodel. - cleanup mp3x arround 2002-11-04 13:53 takehiro * libmp3lame/: VbrTag.h, encoder.c, lame-analysis.h, machine.h, psymodel.c, psymodel.h, quantize.c, quantize.h, quantize_pvt.c, quantize_pvt.h, set_get.c, tables.c, takehiro.c, util.h (takehiro-2002_05_07-experimental): large cleanup mainly arround psymodel (continue) - removed all temporary masking related code, because now I found all the temporal masking code is completely messed up. - do not calculate short block masking ratio when it is not needed. - mp3x FFT energy display fix. - better perceptual entropy calculation, by using ATH. - some include file clean up. - some trivial code cleanup arround quantize/bit counting. 2002-11-04 13:49 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix -q 4 setting. 2002-11-04 13:48 takehiro * frontend/gtkanal.c (takehiro-2002_05_07-experimental): fix FFT energy display. 2002-11-03 17:56 takehiro * testcase.mp3 (takehiro-2002_05_07-experimental): regen with new psymodel, which increases encode delay. 2002-11-03 17:30 takehiro * libmp3lame/: Makefile.am, Makefile.in, encoder.c, encoder.h, l3side.h, lame-analysis.h, lame.c, lame_global_flags.h, newmdct.c, psymodel.c, psymodel.h, quantize.c, quantize_pvt.h, set_get.c, tables.c, takehiro.c, util.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental): large cleanup, mainly on PSYMODEL calculation. - it calculates masking ratio/pe/tot_energy/block_type/frame_type next FRAME, not next GRANULE. it increases the encoding delay, but code is very simple. - "allow different block_type in each channel (L/R)" could be archived even when joint stereo. - l3side.h is merged into util.h - MPEG2/2.5, mp3x's display may corrupt (not tested much). 2002-11-03 17:23 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): trivial 2002-11-03 17:22 takehiro * frontend/: gpkplotting.c, gpkplotting.h, gtkanal.c (takehiro-2002_05_07-experimental): fix for mp3x MDCT original value display 2002-11-03 17:00 takehiro * libmp3lame/set_get.c (takehiro-2002_05_07-experimental): fix abr preset 2002-11-03 16:55 takehiro * libmp3lame/util.c (takehiro-2002_05_07-experimental): fix for not --enable-all-float 2002-11-02 17:47 takehiro * libmp3lame/: lame.c, util.h (takehiro-2002_05_07-experimental): trivial cleanup 2002-11-02 17:30 takehiro * libmp3lame/: encoder.c, lame.c, presets.c, psymodel.c, quantize.c, quantize_pvt.h, set_get.c, tables.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental): cleanup arround preset. - merged adaptive ATH and msfix parameter into "normal" setting. - simplified how to compare the quantization/scalefactor. 2002-11-02 17:26 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): remove unused prototype. 2002-11-02 15:50 takehiro * libmp3lame/: encoder.c, set_get.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental): remove meaningless variables in preset modes. 2002-11-02 12:26 takehiro * libmp3lame/: VbrTag.c, lame.c, presets.c, quantize.c, tables.c, util.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental): - -q option remapping. new very old(-3.92) old(3.93) 9 8,9 8,9 8 7 7 7 5,6 5,6 5,6 2,3,4 3,4 4 2 + --substep 5 3 + --substep 5 3 2 + --substep 7 3 + --substep 7 2 cannot emulate 2 + --substep 7 1 cannot emulate 1 + --substep 7 0 cannot emulate 0 + --substep 7 - fast_log2() optimization and cleanup. 2002-11-02 12:18 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): ATH adjustment aware masking calculation in mask_add() and ms_fix(). 2002-10-31 14:56 takehiro * libmp3lame/tables.c (takehiro-2002_05_07-experimental): trivial cleanup 2002-10-31 14:27 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): some precision fix(maybe) 2002-10-31 14:26 takehiro * doc/html/presets.html (takehiro-2002_05_07-experimental): sync with mainline and added some DM presets. 2002-10-28 11:25 takehiro * libmp3lame/: encoder.c, psymodel.h, psymodel.c (takehiro-2002_05_07-experimental): now psymodel never return error. 2002-10-28 11:15 takehiro * testcase.mp3, libmp3lame/bitstream.c, libmp3lame/encoder.c, libmp3lame/l3side.h, libmp3lame/lame.c, libmp3lame/machine.h, libmp3lame/newmdct.c, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/quantize.c, libmp3lame/quantize.h, libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h, libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/takehiro.c, libmp3lame/util.h, libmp3lame/vbrquantize.c, libmp3lame/vbrquantize.h (takehiro-2002_05_07-experimental): changed FLOAT8 -> FLOAT (except one subband filter coefs, which is defined as "double" in spec). 2002-10-28 11:12 takehiro * mpglib/layer3.c (takehiro-2002_05_07-experimental): fix mpglib crash bug, from Mathew Hendry. 2002-10-28 11:09 takehiro * frontend/portableio.h (takehiro-2002_05_07-experimental): remove cvs log. 2002-10-28 10:43 takehiro * libmp3lame/: encoder.c, psymodel.c, psymodel.h, tables.c, util.h (takehiro-2002_05_07-experimental): remove unused variables 2002-10-28 10:01 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix long/short typo. 2002-10-28 10:00 takehiro * include/lame.h (takehiro-2002_05_07-experimental): added new preset definition 2002-10-27 14:37 aleidinger * configure: regen 2002-10-27 14:36 aleidinger * configure.in: Forced commit: last commit was - remove -funroll-loops as suggested in the nearby comment Noticed by: takehiro 2002-10-27 14:32 aleidinger * configure.in: remove options as suggested in the nearby comment; Noticed by: takehiro 2002-10-27 13:38 takehiro * libmp3lame/: encoder.c, lame.c, lame_global_flags.h, machine.h, newmdct.c, newmdct.h, presets.c, psymodel.c, psymodel.h, quantize.c, set_get.c, tables.c, util.h (takehiro-2002_05_07-experimental): large update. - sync mainline, * side channel sparsing * new presets, dm-radio and so on. * blocktype histgram * fix arround FLOAT_MAX * tuning substep noise shaping start frequency - large code simplification * cod_info initialization code is moved to encoder.c * faster psymodel calculation. 2002-10-27 13:33 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): sync mainline - fix arround sfb21 and smoothing method 2 2002-10-27 13:32 takehiro * libmp3lame/version.h (takehiro-2002_05_07-experimental): To avoid confusing, named it as lame4.0 2002-10-27 13:30 takehiro * frontend/: get_audio.c, get_audio.h, main.c, main.h, mp3rtp.c, mp3x.c, parse.c, parse.h, timestatus.h (takehiro-2002_05_07-experimental): sync mainline - fix arround PATHNAMELEN - new presets - fix warnings - fix --silent option - new option "side channel sparsing" 2002-10-27 13:29 takehiro * frontend/brhist.c (takehiro-2002_05_07-experimental): - sync mainline (block type histgram, build fix for cygwin) 2002-10-27 13:26 takehiro * configure (takehiro-2002_05_07-experimental): regen 2002-10-27 13:26 takehiro * configure.in, doc/html/Makefile.am, doc/html/Makefile.in, doc/html/contributors.html, doc/html/index.html, doc/man/lame.1 (takehiro-2002_05_07-experimental): sync mainline 2002-10-27 12:19 robert * frontend/portableio.h (takehiro-stable-2002_10_15): do we need logging of cvs commits in source files? small fixes in comments due to cvs log entries 2002-10-27 08:17 takehiro * libmp3lame/version.h (takehiro-stable-2002_10_15): bump up version number. alpha3 contains - tuning substep noise shpaing (by me, Takehiro) - added side channel sparsing (by Robert) 2002-10-26 20:41 robert * configMS.h, frontend/amiga_mpega.c, frontend/brhist.c, frontend/brhist.h, frontend/console.c, frontend/console.h, frontend/get_audio.c, frontend/get_audio.h, frontend/gpkplotting.c, frontend/gpkplotting.h, frontend/gtkanal.c, frontend/gtkanal.h, frontend/lametime.c, frontend/lametime.h, frontend/main.c, frontend/main.h, frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c, frontend/parse.h, frontend/portableio.c, frontend/portableio.h, frontend/rtp.c, frontend/rtp.h, frontend/timestatus.c, frontend/timestatus.h, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/debugscalefac.c, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c, libmp3lame/fft.h, libmp3lame/gain_analysis.c, libmp3lame/gain_analysis.h, libmp3lame/id3tag.c, libmp3lame/id3tag.h, libmp3lame/l3side.h, libmp3lame/lame-analysis.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/machine.h, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/newmdct.h, libmp3lame/presets.c, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/quantize.c, libmp3lame/quantize.h, libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h, libmp3lame/reservoir.c, libmp3lame/reservoir.h, libmp3lame/set_get.c, libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c, libmp3lame/vbrquantize.h, libmp3lame/version.c, libmp3lame/version.h, libmp3lame/vorbis_interface.c, mpglib/common.c, mpglib/common.h, mpglib/dct64_i386.c, mpglib/dct64_i386.h, mpglib/decode_i386.c, mpglib/decode_i386.h, mpglib/huffman.h, mpglib/interface.c, mpglib/interface.h, mpglib/l2tables.h, mpglib/layer1.c, mpglib/layer1.h, mpglib/layer2.c, mpglib/layer2.h, mpglib/layer3.c, mpglib/layer3.h, mpglib/mpg123.h, mpglib/mpglib.h, mpglib/tabinit.c, mpglib/tabinit.h (takehiro-stable-2002_10_15): changed C++ comments into C style comments for configMS.h include/*.h frontend/*.[ch] mpglib/*.[ch] libmp3lame/*.[ch] 2002-10-26 18:53 takehiro * libmp3lame/Makefile.in (takehiro-2002_05_07-experimental): regen 2002-10-26 18:52 takehiro * libmp3lame/: Makefile.am, debugscalefac.c (takehiro-2002_05_07-experimental): remove unused debugscalefac.c 2002-10-26 18:51 takehiro * libmp3lame/Makefile.in (takehiro-2002_05_07-experimental): fix build problem 2002-10-26 16:48 takehiro * libmp3lame/presets.c (takehiro-stable-2002_10_15): added interchannel masking to dm-radio-fast preset, too. 2002-10-26 16:47 takehiro * libmp3lame/presets.c (takehiro-stable-2002_10_15): lower bitrate adjustment and added inter-channel masking for dm-radio preset. 2002-10-26 16:32 takehiro * libmp3lame/quantize.c (takehiro-stable-2002_10_15): tuned substep-noise-shaping start frequency of short block (--substep 5). 2002-10-26 12:31 takehiro * libmp3lame/quantize.c (takehiro-stable-2002_10_15): fix for not C99 C compiler 2002-10-26 12:29 takehiro * configure (takehiro-stable-2002_10_15): regen 2002-10-26 12:29 takehiro * configure.in (takehiro-stable-2002_10_15): sync with mainline and added fix for "-funroll-loops" bug on gcc3.0.* 2002-10-26 12:20 takehiro * frontend/parse.c (takehiro-stable-2002_10_15): sync mainline... --silent + input from stdin fix. 2002-10-24 00:04 robert * libmp3lame/: vbrquantize.c (takehiro-stable-2002_10_15), vbrquantize.c: bug fix in vbr-new possible division by zero 2002-10-23 23:43 robert * frontend/parse.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/util.h (takehiro-stable-2002_10_15): added mid/side channel sparsing --ms-sparsing n | n=0 disable / n=1 mode 1 / n=2 mode 2 --ms-sparse_low x | default 9 dB --ms-sparse_high x | default 3 dB 2002-10-21 01:27 markt * frontend/parse.c: truely silent when input is stdin patch committed 2002-10-20 15:38 takehiro * libmp3lame/psymodel.c (takehiro-stable-2002_10_15): fix possible float exception 2002-10-20 15:36 takehiro * libmp3lame/version.h (takehiro-stable-2002_10_15): bump up the alpha2 2002-10-20 15:35 takehiro * libmp3lame/psymodel.c (takehiro-stable-2002_10_15): fix minor boundary check and remove unused variable. 2002-10-20 13:42 takehiro * doc/: html/Makefile.am, html/Makefile.in, html/contributors.html, html/index.html, html/presets.html, man/lame.1 (takehiro-stable-2002_10_15): sync with mainline 2002-10-20 13:31 takehiro * libmp3lame/quantize.c (takehiro-stable-2002_10_15): work arround of --substep for Tom's Diner. 2002-10-20 13:09 takehiro * libmp3lame/psymodel.c (takehiro-stable-2002_10_15): faster mask_add() 2002-10-20 12:31 takehiro * libmp3lame/: psymodel.c, quantize_pvt.c, util.h (takehiro-stable-2002_10_15): more optimized usage of FAST_LOG(). 2002-10-20 11:39 takehiro * frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/set_get.c (takehiro-stable-2002_10_15): removed mixed block related switches, which is "not" as stable as releasing. fix block type decision code when LR/MS change occurs. 2002-10-20 08:41 takehiro * libmp3lame/machine.h (takehiro-stable-2002_10_15): float max should be arround 1e38 or so. 2002-10-20 08:39 takehiro * include/lame.h, libmp3lame/set_get.c (takehiro-stable-2002_10_15): re-introduce the padding related functions/definitions for backward compatibility. 2002-10-20 08:38 takehiro * frontend/: get_audio.c, get_audio.h, main.c, main.h, mp3rtp.c, mp3x.c, parse.c, parse.h, timestatus.h (takehiro-stable-2002_10_15): sync mainline. - PATHLEN related fix. - reduce warning. 2002-10-20 08:37 takehiro * frontend/brhist.c (takehiro-stable-2002_10_15): fix for cygwin build. 2002-10-20 07:34 takehiro * libmp3lame/psymodel.c (takehiro-stable-2002_10_15): improve attack detection and added release detection for L/S switching. 2002-10-20 07:27 takehiro * libmp3lame/psymodel.c (takehiro-stable-2002_10_15): fix warning. 2002-10-20 07:21 takehiro * frontend/parse.c, include/lame.h, libmp3lame/presets.c (takehiro-stable-2002_10_15): added some presetes for syncing DM series. fix --preset medium to use -q3, not -q2. 2002-10-20 07:18 takehiro * libmp3lame/vbrquantize.c (takehiro-stable-2002_10_15): sync mainline. XXL is defaulted. 2002-10-19 02:11 robert * frontend/brhist.c: little bit prettier printing of block types stats 2002-10-19 02:10 robert * frontend/brhist.c (takehiro-stable-2002_10_15): little bit prettier printing of block type stats 2002-10-18 23:54 robert * frontend/brhist.c, frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/util.h (takehiro-stable-2002_10_15): merger from main branch: simple statistics of block types used (seeing with --brief / --verbose) 2002-10-18 22:54 robert * frontend/brhist.c, frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h: added some simple statistics about block types used: added lame_block_type_hist() and lame_bitrate_block_type_hist() to API using new switch --brief will show one line of percentage types used using switch --verbose will show in more detail used block types 2002-10-17 17:05 bouvigne * frontend/parse.c: removed some unused functions 2002-10-17 13:03 aleidinger * include/lame.h: correct comment about *_bWriteVbrTag() 2002-10-16 21:13 robert * libmp3lame/vbrquantize.c: fixing compiler warnings (unused code removed), some clean up 2002-10-16 18:01 bouvigne * frontend/get_audio.c, frontend/get_audio.h, frontend/parse.c, frontend/parse.h, frontend/timestatus.h, include/lame.h, libmp3lame/set_get.c, libmp3lame/takehiro.c: minor code cleanups in order to reduce warnings 2002-10-15 22:45 robert * frontend/main.h, libmp3lame/machine.h (takehiro-stable-2002_10_15): fixing Win32 issues 2002-10-15 22:02 robert * libmp3lame/: encoder.c, version.h (takehiro-stable-2002_10_15): Takehiro I hope you don't mind, but I bump the version to 94 alpha 1 to avoid confusions if binaries are shown up at HA 2002-10-15 21:29 robert * libmp3lame/vbrquantize.c (takehiro-stable-2002_10_15): fix for --vbr-new -Y crash we have to calc xr34 for the whole range, for sfb21 too 2002-10-15 19:16 robert * Makefile.unix, libmp3lame/psymodel.c, libmp3lame/util.h: reenentrant fix for loudness approx. 2002-10-15 17:07 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): fix short block with -X 0(vbr smooth method 1), especially for --r3mix. 2002-10-15 16:35 takehiro * libmp3lame/vbrquantize.c (takehiro-stable-2002_10_15): fix short block with -X 0(vbr smooth method 1), especially for --r3mix. 2002-10-15 15:39 takehiro * frontend/main.h, libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix for no-GTK, and on windows (same as what I've done mainline). 2002-10-15 15:37 takehiro * frontend/main.h (takehiro-stable-2002_10_15): ooops, I missed "n". 2002-10-15 15:35 takehiro * libmp3lame/lame.c (takehiro-stable-2002_10_15): fix for no-GTK environment. 2002-10-15 15:30 takehiro * libmp3lame/machine.h (takehiro-2002_05_07-experimental): fix arround FLT_MAX/FLOAT_MAX (I hope) 2002-10-15 15:24 aleidinger * configure.in: different way of specifying the gcc version in the sparc section, the did not worked because autoconf does some nasty things with [ and ] 2002-10-15 11:30 aleidinger * doc/man/lame.1: catch up with HTML docs 2002-10-15 09:54 aleidinger * doc/html/Makefile.in: regen 2002-10-15 09:54 aleidinger * doc/html/Makefile.am: add presets.html 2002-10-15 09:53 aleidinger * doc/html/presets.html: typo fix 2002-10-15 09:50 aleidinger * configure: regen 2002-10-15 09:49 aleidinger * configure.in: Use sparc optimization on gcc 3.[123456]. Submitted by: "Spud McDuck" 2002-10-15 09:33 aleidinger * frontend/: brhist.c, main.c, main.h, mp3rtp.c, mp3x.c, parse.c: PATH_MAX is in POSIX.1 (does not include the trailing NUL, so add +1), not MAXPATHLEN 2002-10-14 20:06 bouvigne * doc/html/: contributors.html, index.html, presets.html: html docs 2002-10-14 16:28 takehiro * testcase.mp3 (takehiro-stable-2002_10_15): update testcase. 2002-10-14 16:25 takehiro * libmp3lame/: psymodel.c, util.h (takehiro-stable-2002_10_15): reenentrant fix for loudness approx. 2002-10-14 16:06 takehiro * Makefile.B32, Makefile.DJGPP, libmp3lame/libmp3lame.dsp (takehiro-stable-2002_10_15): build environment related file update. I could not test them, but I hope it works. 2002-10-14 15:53 takehiro * frontend/parse.c (takehiro-2002_05_07-experimental): obsoleted --cwlimit option. 2002-10-14 15:53 takehiro * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix (takehiro-2002_05_07-experimental): update Makefiles sync with Makefile.am 2002-10-13 20:35 takehiro * libmp3lame/: Makefile.am, Makefile.in, encoder.c, fft.c, fft.h, lame.c, lame_global_flags.h, libmp3lame.dsp, libmp3lame_vc6.dsp, psymodel.c, psymodel.h, quantize.c, quantize_pvt.c, quantize_pvt.h, set_get.c, tables.c, tables.h, takehiro.c, util.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental): bunch of cleanup for next generation LAME :) - goodbye gpsycho. only nspsy is supported. - functions related the initilization are moved to tables.c - some functions in quantize_pvt.c are moved to quantize.c - functions in fft.c moved to psymodel.c and fft.[ch] are removed - fix ATH-adjust to reentrant. 2002-10-13 17:30 takehiro * libmp3lame/: VbrTag.c, lame.c, lame_global_flags.h, set_get.c (takehiro-2002_05_07-experimental): sync the head. record preset parameter in LAME tag. 2002-10-13 15:52 takehiro * frontend/main.h (takehiro-2002_05_07-experimental): sync with the head branch. 2002-10-13 15:48 takehiro * libmp3lame/: lame.c, psymodel.c, quantize_pvt.c, set_get.c, util.h (takehiro-2002_05_07-experimental): - tuned impulse like signal detection of threshold calculation. - block switching tuning, for impulse like signal by using maximum of filtered signal, not by sum of its energy. - MP3X: print block switching factor(attack_intensity) instead of mx, for nspsytune mode. - small optimization for ns_firfilter - prepare for faster nspsy. calculate the blocktype first, and after it, only calculate the threshold for that blocktype. - clean up nspsy variables (remove unused variables). - calc_noise optimization for nspsy. 2002-10-13 11:36 robert * Makefile.MSVC, Makefile.unix (takehiro-2002_05_07-experimental): removed scalar.obj from targets 2002-10-13 08:10 takehiro * libmp3lame/: encoder.c, lame.c (takehiro-2002_05_07-experimental): oops, I mis-check in th one older version ;( 2002-10-13 07:58 takehiro * libmp3lame/: encoder.c, lame.c, quantize.c, quantize_pvt.c, quantize_pvt.h, tables.h (takehiro-2002_05_07-experimental): trivial changes. - cleanup initilization code. - better conjunctions of functions. 2002-10-09 17:27 takehiro * libmp3lame/encoder.c, libmp3lame/lame.c, frontend/parse.c, include/lame.h, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): large cleanup arround padding - padding mode is always set by suitable one. - gfp->padding_type and the functions to set/get it are removed. unused function optimum_samplefreq() is removed. 2002-10-09 17:24 takehiro * libmp3lame/i386/: Makefile.am, Makefile.in, scalar.nas (takehiro-2002_05_07-experimental): remove scalar.nas 2002-10-09 17:22 takehiro * configure (takehiro-2002_05_07-experimental): regen 2002-10-09 17:22 takehiro * configure.in (takehiro-2002_05_07-experimental): fix extopt for gcc 3.1/3.2 2002-10-08 19:30 bouvigne * libmp3lame/: VbrTag.c, lame.c, lame_global_flags.h, set_get.c: preset info stored into Info tag 2002-10-08 17:43 bouvigne * frontend/main.h: win32 build fix 2002-10-08 13:59 takehiro * libmp3lame/Makefile.in (takehiro-2002_05_07-experimental): regen 2002-10-08 13:59 takehiro * libmp3lame/: Makefile.am, tools.c, tools.h, util.c (takehiro-2002_05_07-experimental): removed unused tools.[hc] 2002-10-08 13:38 takehiro * configure (takehiro-2002_05_07-experimental): regen once more :( 2002-10-08 13:35 takehiro * configure (takehiro-2002_05_07-experimental): regen 2002-10-08 13:34 takehiro * ltconfig, acinclude.m4, configure.in (takehiro-2002_05_07-experimental): sync the head branch. fix gcc options for gcc3.1 after and 3.0.x 2002-10-08 13:30 takehiro * libmp3lame/Makefile.in (takehiro-2002_05_07-experimental): regen 2002-10-08 13:19 takehiro * frontend/: main.c, main.h, mp3rtp.c, mp3x.c, parse.c (takehiro-2002_05_07-experimental): sync the head branch. - MAXPATHLEN related fix. - sizeof(short) related fix. 2002-10-08 13:18 takehiro * libmp3lame/lameerror.h, include/lame.h, libmp3lame/Makefile.am (takehiro-2002_05_07-experimental): moved error code definitions into lame.h 2002-10-08 12:58 takehiro * frontend/main.c: sync my branch: fix warning of ReportLameTagProgress() definition 2002-10-08 12:51 takehiro * libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental): remove unneeded include 2002-10-08 12:50 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): fix NO_PAD 2002-10-08 09:09 aleidinger * configure: regen 2002-10-08 08:59 aleidinger * ChangeLog: update with uptodate data 2002-10-08 08:57 aleidinger * ChangeLog.header: add info how to show the branches in the ChangeLog 2002-10-08 08:53 aleidinger * libmp3lame/version.h: bump alpha version 2002-10-08 08:51 aleidinger * configure.in: replace the -pipe hack for mips-sgi-irix with a test for GNU ld (sorry, I forgot who submitted it) 2002-10-08 08:50 aleidinger * acinclude.m4: actually commit the generated file with the alignment fix for 64 bit architectures 2002-10-08 08:50 aleidinger * ltconfig: improved "deplibs_check_method" for freebsd-elf 2002-10-08 08:44 aleidinger * frontend/: main.c, main.h, mp3rtp.c, mp3x.c, parse.c: - spell MAX_NAME_LEN the POSIX way (MAXPATHLEN) and make sure we have a fallback if it doesn't get defined (please test this on Windows) - fix for sizeof(short int) != sizeof(int) in mp3rtp.c Patches based upon bugreport from Greg Lehey and fixes in the FreeBSD ports collection from Mikhail Teterin . 2002-10-07 16:47 takehiro * libmp3lame/: encoder.c, lame.c, psymodel.c (takehiro-2002_05_07-experimental): fix warnings 2002-10-07 16:46 takehiro * frontend/main.c (takehiro-2002_05_07-experimental): fix warning 2002-10-07 14:24 takehiro * libmp3lame/: lame.c, psymodel.c, set_get.c, util.h (takehiro-2002_05_07-experimental): more nspsytune optimization. - use FAST_LOG10 instead of log. this may change the result little bit, but I think that is rare case and no problem about the quality. - presetTune.athadjust_msfix is moved to nsPsy.athadjust_msfix - nsPsy.safejoint is removed. 2002-10-07 13:41 takehiro * libmp3lame/: psymodel.c, util.h (takehiro-2002_05_07-experimental): more cleanup of perceptual entropy calculation. - it calculates only one of the long/short block pe, after the block type is detemined. 2002-10-07 13:38 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): fix warning 2002-10-07 12:49 takehiro * libmp3lame/: psymodel.c, quantize_pvt.c, set_get.c, util.h (takehiro-2002_05_07-experimental): trivial code optimizations, no result changes. - gfp->ATHlower is now stored the number multiplied by -0.1. - nspsytune optimization * precalculate the 1.0/numlines_l[] * cleanup perceptual entropy storing method and loop hoisting. * unrolling tonality calculation loop. 2002-10-07 09:13 takehiro * frontend/brhist.c (takehiro-2002_05_07-experimental): oops, fix build when BRHIST is enabled. 2002-10-07 09:11 takehiro * frontend/brhist.c, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/util.h (takehiro-2002_05_07-experimental): clean up bitrate histgram. And do not compile the brhist-related code when "./configure --without-brhist" 2002-10-07 09:09 takehiro * frontend/get_audio.c (takehiro-2002_05_07-experimental): fix warning 2002-10-07 08:57 takehiro * libmp3lame/: encoder.c, fft.c, presets.c, psymodel.c, set_get.c, util.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental): small code cleanups. all of them does not change the result. - better conjunctions. * updateStats() is moved from util.c to encoder.c * select_kth_int() is moved from util.c to vbrquantize.c - fft window function table is moved from gfc to static variable in fft.c. once apon a time, the window function is differed from nspsy/gpsy, so the table should be stored separetedly for each encoding entity. but now, it is unified and we can unify the table function. - presetTune.attackthre and presetTune.attackthre_s are moved to nsPsy. 2002-10-06 18:14 takehiro * libmp3lame/: psymodel.c, quantize.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental): preset clean up. - use the current block_type itself to determine the quantization result comparing method. - remove presetTune.quantcomp_current. - changed presetTune.attackthresh and presetTune.attackthresh_s type (int -> FLOAT). I think the 1st one is BUG of preset, affected all preset modes. It determines how to compare the quantized spectrums by the blocktype of 1st granule of the next frames, last channel (R or S), for all the channel and all the granule. 2002-10-06 18:06 takehiro * libmp3lame/set_get.c (takehiro-2002_05_07-experimental): due to the nspsy long/short switching mode fix, attack threshold should be tuned again.I used awe32, fatboy, DEATH2, and other "normal" samples to determine the threshold. now awe32 is not killer sample of --preset standard, I think. # but the bitrate is increased, of course. and it seems vangelis1.wav needs some more tuning, but I am so sleeeeeeepy. 2002-10-06 16:46 takehiro * libmp3lame/: encoder.c, psymodel.c (takehiro-2002_05_07-experimental): - make adjust_ATH() static and cleanup (include Gabriel's clean up in the head branch) - padding code clean up - block type code cleanup - ATH related initialization code is moved to psymodel.c 2002-10-06 16:43 takehiro * libmp3lame/util.c (takehiro-2002_05_07-experimental): sync with the head branch (Gabriel's code cleanup... remove "historical" code) 2002-10-06 16:40 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): sync with head.(code cleanup by Gabriel) 2002-09-30 16:58 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): moved substep shaping position. bit slower but better quality for higher bitrate (especially for the case 320kbps is not enough). 2002-09-30 16:57 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): fix substep 2, 3, 6, and 7. (working area allocation) 2002-09-30 16:49 bouvigne * libmp3lame/: encoder.c, quantize.c, util.c: some code cleanups 2002-09-30 16:28 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix mdct filter coefs, for -k option(thanx reporting, Robert). 2002-09-29 15:38 takehiro * frontend/brhist.c (takehiro-2002_05_07-experimental): fix cygwin build 2002-09-29 06:02 takehiro * libmp3lame/reservoir.c (takehiro-2002_05_07-experimental): sync with the head branch. - bit reservoir handling of freeformat. 2002-09-28 16:12 takehiro * libmp3lame/: util.h, vbrquantize.c (takehiro-2002_05_07-experimental): small optimizations for --vbr-new - gfc->VBR->scratch is moved to the local variable. - remove quality mapping(directly switch statement) - code clean up. 2002-09-28 13:27 takehiro * libmp3lame/: quantize.c, vbrquantize.c (takehiro-2002_05_07-experimental): - sync --vbr-new with the head branch. - better substep shaping for --vbr-new. - the meaning of best huffman coding with --vbr-new is bit different from that of head tree. 2002-09-28 10:36 takehiro * frontend/get_audio.c, frontend/parse.c, include/lame.h (takehiro-2002_05_07-experimental): fix warnings. 2002-09-28 10:36 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): make select_kth() static function. 2002-09-28 10:26 takehiro * Makefile.DJGPP, Makefile.MSVC, Makefile.am, Makefile.in, README.DJGPP, configure, configure.in, testcase.mp3, ACM/ACMStream.cpp, ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/tinyxml/Makefile.in, Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.def, Dll/BladeMP3EncDLL.h, Dll/Example.cpp, Dll/Example_vc6.dsp, Dll/Example_vc6.dsw, Dll/LameDLLInterface.htm, Dll/LameDll_vc6.dsp, Dll/Makefile.in, debian/Makefile.in, debian/changelog, debian/rules, doc/Makefile.in, doc/html/Makefile.in, doc/html/contributors.html, doc/html/history.html, doc/html/index.html, doc/html/switchs.html, doc/man/Makefile.in, doc/man/lame.1, dshow/Encoder.cpp, dshow/Makefile.in, frontend/get_audio.c, frontend/parse.c, include/Makefile.in, include/lame.h, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/presets.c, libmp3lame/set_get.c, libmp3lame/util.h, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in (takehiro-2002_05_07-experimental): large sync with the head branch. almost all the code is now synced with the head. 2002-09-28 09:30 takehiro * libmp3lame/VbrTag.c: remove some #include (these header files are included from VbrTag.h.) 2002-09-28 09:23 takehiro * libmp3lame/: encoder.c, lame.c, psymodel.c (takehiro-2002_05_07-experimental): fix all known problems on my tree (I hope). - fix mishandling of long/short block type when storing pe[]. - fix psymodel initialization (array index initialization), which fixes floating exception in psymodel.c. - one more preecho prevention code fix. - sync with my psymodel patch in the head branch and small improvement. - implement better block type restriction (when MS, both channels should be same block type, but when LR, it is not needed). - faster FIR filter for pe[] adjustment in encoder.c. 2002-09-28 09:16 takehiro * libmp3lame/bitstream.c (takehiro-2002_05_07-experimental): zeroed all ancillary area, when the debug mode. 2002-09-23 07:00 bouvigne * include/lame.h: presets (sorry, this part was missing) 2002-09-22 16:53 bouvigne * frontend/parse.c, libmp3lame/presets.c: presets 2002-09-21 00:31 markt * libmp3lame/quantize_pvt.c: fixed bug which was causing the calc_noise assert failure. 2002-09-19 20:39 robert * libmp3lame/: encoder.c, lame.c, quantize.c, util.h (takehiro-2002_05_07-experimental): merger from mainline: undo of broken VBR min fill patch padding code clean up 2002-09-16 16:28 takehiro * configure, configure.in: we don't want to run the X :) 2002-09-16 07:43 takehiro * frontend/: brhist.c, console.c (takehiro-2002_05_07-experimental): sync with head branch. - Mark's compilation fix. - Alex's warning fix on 64bit environment. 2002-09-16 07:25 takehiro * aclocal.m4 (takehiro-2002_05_07-experimental): sync with the head branch. - prevent unaligned access on some 64 bit arches, by Alexander (and Ti.) 2002-09-15 17:47 bouvigne * libmp3lame/: reservoir.c, set_get.c: Relax of freeformat reservoir after discussion with Robert 2002-09-13 20:04 markt * frontend/brhist.c: This code: #if defined(HAVE_TERMCAP_H) # include #elif defined(HAVE_NCURSES_TERMCAP_H) # include #endif changed to: #if defined(HAVE_NCURSES_TERMCAP_H) # include #elif defined(HAVE_TERMCAP_H) # include #endif because on my system, both TERMCAP and NCURSES_TERMCAP were defined by configure, but term.h and termcap.h have conflicts, whileterm.h and ncurses/termcap.h works fine. 2002-09-09 21:43 robert * frontend/parse.c, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/psymodel.c: lame.c, encoder.c: fix padding oddities psymodel.c: fix nspsy code for all/no short blocks parse.c: -d now obsolete 2002-09-08 06:36 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): one more sync with head branch (ms energy ratio). 2002-09-07 12:39 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): sync with the head branch psymodel fix. 2002-09-06 11:11 aleidinger * configure: regen 2002-09-06 10:53 aleidinger * configure.in: - no opts if non empty cflags and no expopt - accumulate-outgoing-args is x86 only Noticed by: Atro Tossavainen - IRIX-gcc doesn't like '-pipe' Noticed by: Atro Tossavainen 2002-09-06 09:24 aleidinger * frontend/: brhist.c, console.c: try to include the right headers for the tgetstr prototype; should fix problems on 64bit arches Noticed by: Atro Tossavainen Ti Kan Tested by: Ti Kan 2002-09-06 09:22 aleidinger * aclocal.m4: prevent unaligned access on some 64 bit arches Noticed by: Ti Kan Tested by: Ti Kan 2002-09-05 16:53 bouvigne * libmp3lame/: reservoir.c, set_get.c: free format fix 2002-09-03 11:34 aleidinger * frontend/parse.c: 1 argument too much for fprintf 2002-09-03 11:18 aleidinger * doc/man/lame.1: add --noasm 2002-09-02 12:02 takehiro * doc/html/history.html: added my psymodel change, and so on. 2002-09-02 11:56 takehiro * testcase.mp3: regen with the latest LAME after psymodel was fixed. This is produced by the LAME with ./configure --enable-nasm --enable-debug --enable-mp3x, compiled gcc 3.1.1, on linux2.4.19, glibc2.2.2, Duron 1GHz(3DNow! is enabled). 2002-09-02 11:51 takehiro * libmp3lame/lame.c: fix for Tru64 UNIX build, reported by Ti Kan. 2002-09-01 16:08 bouvigne * doc/html/contributors.html, doc/html/history.html, doc/html/index.html, doc/html/switchs.html, frontend/parse.c: docs 2002-09-01 16:03 takehiro * libmp3lame/psymodel.c: fix small psymodel bugs since long time ago(some of them are since 3.70 era...) - highpass filter of MS energy calculation to neglect the DC. - always do the Robert's short block pre-echo prevention and fix its initialization (the fix is only for nspsy). - fix energy and threshold of DC and the highest freq. element are halven. - fix nspsytune FIR filter length 2002-08-30 20:52 robert * Makefile.MSVC: MSVC: fix "-GX" typo ICL: allow special compiles for PII and PIII 2002-08-27 22:43 rbrito * debian/: changelog, rules: Update Debian packaging. More changes to come. 2002-08-26 20:38 robert * libmp3lame/: lame.c, quantize.c, util.h: undo of VBR bitres min fill patch 2002-08-25 20:17 bouvigne * frontend/parse.c: merge of alt presets 2002-08-25 15:09 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): do substep noise shaping in ABR mode, including bitrate compensation. 2002-08-25 15:08 takehiro * libmp3lame/util.c (takehiro-2002_05_07-experimental): trivial coding optimization of fast_log2 2002-08-25 15:08 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): revert some FAST_LOG usage. It sometime happens SIGFPE(overflow). 2002-08-25 10:54 takehiro * libmp3lame/: quantize.c, reservoir.c (takehiro-2002_05_07-experimental): Tuning the bit reservoir filling rate when substep noise shaping method 1, and do not substep noise shaping if the bit reservoir is almost full. 2002-08-24 19:20 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): minor fix for global_gain limitation. 2002-08-24 17:28 takehiro * libmp3lame/: VbrTag.c, lame.c (takehiro-2002_05_07-experimental): sync main tree. - portability fix for sunos 4.x by Alexander Leidinger. 2002-08-24 17:25 takehiro * libmp3lame/set_get.c (takehiro-2002_05_07-experimental): quick fix of warning. 2002-08-24 17:23 takehiro * libmp3lame/: quantize.c, set_get.c (takehiro-2002_05_07-experimental): do not do the substep noise shaping when the block type is SHORT, because it seems short block threshold calculation is very buggy (both of ns/gpsycho). new option: --substep 4,5,6,7 force substep shaping even on the SHORT block. 2002-08-24 17:12 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): use FAST_LOG() more. minimize the ns_hpfsmpl[] array. better ns_hpfsmpl[] calculation. 2002-08-24 17:10 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): use of FAST_LOG() more for faster encoding 2002-08-24 17:09 takehiro * libmp3lame/presets.c (takehiro-2002_05_07-experimental): I forgot to change the default quality setting of abr mode, when I remap the quality <-> actual setting. 2002-08-24 16:08 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): revert some GTK change to fix the mp3x spectrum display of short block. 2002-08-20 16:59 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): fix mp3x spectrum display 2002-08-20 16:51 takehiro * libmp3lame/: psymodel.c, util.h (takehiro-2002_05_07-experimental): fix mp3x pe[] display. 2002-08-20 16:28 takehiro * libmp3lame/encoder.c: fix mp3x spectrum display 2002-08-20 16:09 takehiro * libmp3lame/lame.c (takehiro-2002_05_07-experimental): fix SIGFPE (divided by 0) of filter init. 2002-08-20 13:03 takehiro * libmp3lame/: lame.c, newmdct.c, util.h (takehiro-2002_05_07-experimental): cleanup polyphase filtering. - highpass/lowpass coefs. are integrated into one array. - reordered gfc members to get better cache performance. - remove gfc->is_mpeg1 2002-08-20 12:59 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): remove gfc->is_mpeg1 2002-08-20 12:58 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): cleanup arround cw_lower_index 2002-08-20 12:58 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): remove some debug code. remove gfc->is_mpeg1 2002-08-20 12:45 takehiro * libmp3lame/: bitstream.c, tables.c, tables.h (takehiro-2002_05_07-experimental): moved scfsi_band[] into tables.c 2002-08-19 15:09 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): better preflag use by using "all zero" band. this breaks testcase little bit(make test). 2002-08-19 04:57 takehiro * libmp3lame/: psymodel.c, util.h (takehiro-2002_05_07-experimental): psymodel.c cleanup (2) - remove some constants (bu_?, npart_?_orig, SNR_s, w1_?, w2_?) from gfc. - do always short block preecho prevention. this makes some breaks for testcase(make test). - do always normalize the s3_ss by SNR_s[] for faster calculation for gpsycho. - optimize tonality computation for gpsycho. - FFT/energy computation code of [g|ns]psy are integrated. - GTK code cleanup - make a new constants bm_?, band middle position table in gfc. - cleranup table initialization code. 2002-08-19 04:47 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): trivial cleanup arround joint stereo/GTK code 2002-08-17 16:41 takehiro * libmp3lame/: psymodel.c, util.h (takehiro-2002_05_07-experimental): more psymodel cleanup. - GTK compilation fix - fix mistake of wsamp_l and wsamp_L - little block_type_set() cleanup - gfc->energy[] and energy_s[] are removed. 2002-08-17 16:37 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): trivial 2002-08-17 07:09 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): divide psymodel.c into manageable pieces (1) and some optimization/simplification. 2002-08-14 04:02 takehiro * libmp3lame/encoder.c (takehiro-2002_05_07-experimental): small fixes. - variable type change of PE calculation. - make it allow the mixed block limitation of MP3 - cleanup the block type code. 2002-08-14 03:59 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): ci to avoid losing works. - short block detection cleanup and bug fix, for nspsytune (1st attempt) - preliminal mixed block detection code. 2002-08-14 03:57 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): optimize calc_xmin() and changed ATH normalization for it. 2002-08-08 09:03 aleidinger * Makefile.in: regen 2002-08-08 09:00 aleidinger * Makefile.am: Add lame.spec to the distribution tarball, as suggested in bug #580586 2002-08-08 08:48 aleidinger * README.DJGPP, Makefile.DJGPP: Fix from Peder Hedlund, see bug #590981. 2002-08-05 18:04 afaber * Dll/BladeMP3EncDLL.c: Fixed crashing problem when the INFO TAG was written while it should not 2002-08-02 20:53 afaber * Dll/BladeMP3EncDLL.c: Some code clarifications (remarks from Martin Ruckert) 2002-08-02 20:52 afaber * Dll/LameDLLInterface.htm: Small textual changes (remarks from Martin Ruckert) 2002-07-30 20:24 aleidinger * frontend/get_audio.c, libmp3lame/VbrTag.c, libmp3lame/lame.c: Portability fixes for SunOS 4.x. 2002-07-30 08:28 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): merge short/long block code (preparing mixed block support) 2002-07-28 09:56 takehiro * Makefile.am, Makefile.in, aclocal.m4, config.h.in, configure, configure.in, libmp3lame/VbrTag.h (takehiro-2002_05_07-experimental): more sync. arround configure stuff. 2002-07-28 09:52 takehiro * mac/.cvsignore (takehiro-2002_05_07-experimental): ignore Makefile et al. 2002-07-28 09:24 takehiro * frontend/get_audio.c, include/lame.h, libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental): syncing. - fix mpeg decoding memory leak. - lame.h comment fix. 2002-07-28 09:18 takehiro * include/lame.h: fix unclosed comment fix typo 2002-07-28 09:08 takehiro * libmp3lame/: presets.c, set_get.c (takehiro-2002_05_07-experimental): more sync with main tree about preset API. 2002-07-28 09:07 takehiro * include/lame.h (takehiro-2002_05_07-experimental): fix warning 2002-07-28 09:06 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): simplify the code. disabled substep method 2 and 3 for vbr-new (forced to change method 1) 2002-07-28 06:59 rbrito * debian/changelog: Updating debian/changelog's reported version. 2002-07-27 10:35 afaber * Dll/: Example.cpp, Example_vc6.dsp, Example_vc6.dsw: Added example VC6 project files, updated Example.cpp file 2002-07-27 07:41 takehiro * API, DEFINES, INSTALL, Makefile.am, Makefile.unix, lame.spec.in, ltmain.sh (takehiro-2002_05_07-experimental): sync with main tree. no effects the quality. 2002-07-27 07:39 takehiro * frontend/: Makefile.in, timestatus.c (takehiro-2002_05_07-experimental): sync with main tree. time status rollback and newly regened Makefile.in 2002-07-27 07:03 takehiro * include/lame.h (takehiro-2002_05_07-experimental): sync with main tree. changed comment style, // to /* */ 2002-07-27 06:59 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): fix cygwin/vc compilation problem. some speed improvement for --substep. 2002-07-27 06:54 takehiro * libmp3lame/presets.c (takehiro-2002_05_07-experimental): sync with main tree. 2002-07-26 22:27 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.def, BladeMP3EncDLL.h: changes to support encoding of multiple streams 2002-07-26 18:56 markt * frontend/get_audio.c, include/lame.h, libmp3lame/mpglib_interface.c: memory leak in multiple decodes fixed. 2002-07-26 08:18 takehiro * mac/: LAME Carbon Debug.pch, LAME Carbon Final.pch, LAME Classic Debug.pch, LAME Classic Final.pch, LAME_Carbon_Debug.pch, LAME_Carbon_Final.pch, LAME_Classic_Debug.pch, LAME_Classic_Final.pch, Makefile.am (takehiro-2002_05_07-experimental): sync with main tree. (changed file name) 2002-07-21 22:11 takehiro * libmp3lame/: Makefile.am, quantize.c (takehiro-2002_05_07-experimental): fix and cleanup of "pseudo substep" method 1 and 3. revert Robert's change of VBR bitresevoir handling code. 2002-07-21 15:15 aleidinger * include/lame.h: ANSIfy comments. Requested by Ti Kan for xmcd 2002-07-21 12:17 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, set_get.c, takehiro.c (takehiro-2002_05_07-experimental): implement pseudo substep noise shaping method 1 and 3. - it reduces about 3% of bitrate without losing any quality (theoretically), for vbr mode. - fix "off by one" bug of IPOW[] - fix comment and substep method range check in set_get.c WARNING:there's some bug in the combination of --vbr-new and --substep. 2002-07-21 12:11 takehiro * libmp3lame/: lame.c, util.c (takehiro-2002_05_07-experimental): sync with main tree: scaling bug fix. 2002-07-21 12:10 takehiro * mac/: Makefile.am, Makefile.in (takehiro-2002_05_07-experimental): sync with main tree: added Makefile.* 2002-07-21 12:09 takehiro * libmp3lame/util.h (takehiro-2002_05_07-experimental): sync with main tree: use FASTLOG as defaulted. 2002-07-19 17:20 afaber * Dll/LameDll_vc6.dsp: added ,HAVE_NASM,MMX_choose_table defines to project file, since beGetBersion did not report that the DLL was compiled with MMX enabled 2002-07-15 21:22 markt * libmp3lame/: util.c, util.h: enabled domd's fast_log code 2002-07-15 00:52 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): one more fix for pe[] calculation of nspsytune. 2002-07-14 10:41 takehiro * frontend/gtkanal.c (takehiro-2002_05_07-experimental): fix mp3x "bit assumption(of frame)" display imcompatibility of main tree. 2002-07-14 10:36 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): fix mp3x "bit assumption" display imcompatibility of main tree. 2002-07-14 10:19 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): fix enbug of pe[] calculation for nspsytune. prepare for nspsytune cleanup. 2002-07-13 08:10 aleidinger * configure, libmp3lame/Makefile.in: regen 2002-07-13 08:09 aleidinger * configure.in: Some fixes in the compiler options, removed superfluous BeOS section. 2002-07-13 08:08 aleidinger * libmp3lame/Makefile.am: Fixes for BeOS (and perhaps other arches) to allow the build of a shared lib. Submitted by: Andrew Bachmann 2002-07-05 15:17 afaber * Dll/LameDLLInterface.htm: fixe a couple of typos' 2002-07-03 22:28 afaber * Dll/BladeMP3EncDLL.c: fixed minor problems with the ALT-PRESET CBR/ABR modes 2002-07-03 21:14 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h: avoid crash in beWriteVbrTag when gfp is not allocated, fixed return value of beWriteVbrTag in *.h file 2002-06-29 12:29 aleidinger * libmp3lame/: lame.c, util.c: Patch from Simon Blandford : ---snip--- The problem: When in MONO mode, LAME merges the two channels before the left/right scaling. The left scale acts on the remaining signal and the right scale is ignored. The solution: The scaling operation is simply moved before the channel merge operation. Also, all these operations are moved before the re-sample operation otherwise the signal would have be re-sampled on two channels even in MONO mode which would be a waste of CPU time. ---snip--- 2002-06-23 16:07 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): fix mp3x display of threshold level (blue/green bar in FFT window). use FAST_LOG10 in klemm's penalties() function. trivial fix of max_noise initialization (do not effect anything but for the consistency of comment). 2002-06-23 16:04 takehiro * libmp3lame/Makefile.in (takehiro-2002_05_07-experimental): regen 2002-06-23 14:40 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): fix max_noise initilization and trivial coding style change 2002-06-23 12:56 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): fix mp3x display of max_noise, tot_noise, over_noise 2002-06-23 12:56 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): trivial 2002-06-23 08:30 takehiro * libmp3lame/: lame.c, psymodel.c, quantize_pvt.c, util.c, util.h (takehiro-2002_05_07-experimental): more faster pe[] calculation on nspsy. sync with main tree: - domd's faster LOG and psymodel_ns optimization 2002-06-23 06:19 takehiro * include/lame.h, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): sync with main tree. - fixed return type of lame_get_interChRation() 2002-06-23 05:53 takehiro * libmp3lame/: Makefile.am, Makefile.in, libmp3lame_vc6.dsp, pcm.c, pcm.h (takehiro-2002_05_07-experimental): sync with main tree. - remove pcm.[ch] 2002-06-17 17:19 domd * DEFINES: added USE_FAST_LOG define 2002-06-16 20:16 domd * libmp3lame/psymodel.c: optimizations on mask_add and L3psycho_anal_ns 2002-06-16 20:14 domd * libmp3lame/quantize_pvt.c: optimization : use of FAST_LOG10 macro in calc_noise 2002-06-16 20:13 domd * libmp3lame/: lame.c, util.c, util.h: added the FAST_LOG10 and FAST_LOG macros 2002-06-15 17:56 markt * Dll/BladeMP3EncDLL.c: added missing ")" 2002-06-12 18:41 markt * dshow/Encoder.cpp: directshow, like ACM, cannot support INFO tag. INFO tag disabled in dshow code. 2002-06-12 18:36 markt * ACM/ACMStream.cpp: added note about INFO tag not possible when using ACM codec, since ACM has no mechanism to rewind output stream when encoding is finished. 2002-06-12 18:27 markt * API, Dll/BladeMP3EncDLL.c, Dll/Example.cpp, Dll/LameDLLInterface.htm: updated documentation (API and DLL) to clarify that INFO tag must be written unless explicitly disabled. 2002-06-11 09:21 aleidinger * configure: gtk-config fix (oops... sorry) 2002-06-09 16:01 takehiro * include/lame.h, libmp3lame/set_get.c: fix return type of lame_get_interChRatio() 2002-06-04 19:16 bouvigne * libmp3lame/psymodel.c: merged little part of Dom's speed optimization 2002-06-04 15:04 aleidinger * configure: regen 2002-06-04 15:03 aleidinger * configure.in: -maccumulate-outgoing-args is x86 only Reported by: "Spud McDuck" 2002-06-02 19:09 aleidinger * configure: regen 2002-06-02 19:08 aleidinger * config.h.in, configure.in: damn autoconf, hopefully this version works as intended 2002-06-02 17:02 aleidinger * configure: regen 2002-06-02 17:00 aleidinger * configure.in: use "else if ... fi" instead of "elif ..." 2002-06-02 17:00 aleidinger * libmp3lame/Makefile.in: regen (removal of pcm.[ch]) 2002-06-02 14:50 robert * libmp3lame/: Makefile.in, libmp3lame_vc6.dsp: moved unused code pcm.[ch] into the Attic interested parties will find it there 2002-06-02 14:45 robert * libmp3lame/: Makefile.am, pcm.c, pcm.h: moved unused code pcm.[ch] into the Attic interested parties will find it there 2002-06-02 14:20 aleidinger * configure: regen + perl -pi -e 's:--no-verify::' configure Does anyone know how to do this with autoconf directly? 2002-06-02 14:17 aleidinger * aclocal.m4: undo last commit, wrong file and wrong commit message 2002-06-02 14:16 aleidinger * acconfig.h: not needed anymore 2002-06-02 14:15 aleidinger * Makefile.in: regen after removal of aclocal.m4 2002-06-02 14:13 aleidinger * config.h.in: regen 2002-06-02 14:13 aleidinger * configure.in: - redo {,u}int{8,16,32,64}_t stuff with new autoconf 2.53 macros - fix code which sets experimental options Thanks to: Akos Maroy - fix GCC_version for 3.1 Thanks to: Akos Maroy - further autoconf 2.53 updates - minor fixes 2002-06-02 14:10 aleidinger * aclocal.m4: is not needed anymore 2002-06-02 12:21 aleidinger * aclocal.m4: update to autoconf 2.53 2002-06-02 12:17 aleidinger * libmp3lame/: VbrTag.c, VbrTag.h, pcm.c, pcm.h, util.h: add some includes 2002-05-28 08:28 aleidinger * configure: regen 2002-05-28 08:24 aleidinger * ACM/Makefile.in, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, misc/Makefile.in, mpglib/Makefile.in, ACM/ADbg/Makefile.in, ACM/tinyxml/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, libmp3lame/i386/Makefile.in: regen 2002-05-28 08:07 aleidinger * configure.in: - update to autoconf 2.53 - add ultrasparc detection and compiler switches in case of gcc 3.1 2002-05-28 08:04 aleidinger * Makefile.in: regen 2002-05-28 08:04 aleidinger * Makefile.am: add mac subdir 2002-05-28 08:03 aleidinger * mac/Makefile.in: generated Makefile.in 2002-05-28 07:52 aleidinger * mac/Makefile.am: add automake clue 2002-05-28 07:48 aleidinger * mac/: LAME Carbon Debug.pch, LAME Carbon Final.pch, LAME Classic Debug.pch, LAME Classic Final.pch, LAME_Carbon_Debug.pch, LAME_Carbon_Final.pch, LAME_Classic_Debug.pch, LAME_Classic_Final.pch: rename files because of automake (space to underscore conversation) 2002-05-26 15:52 takehiro * libmp3lame/: lame.c, quantize.c, takehiro.c, util.h (takehiro-2002_05_07-experimental): sync with main tree, except arround vbrquantize.c. - it calls best_huffman_divide() twice. - *_block_sf() are out of sync. 2002-05-25 23:30 markt * libmp3lame/lame.c: fixed a mono encoding bug found by Justin Schoeman For single channel input, the 2nd channel was still required to exit and have as much data as the 1st channel becaus of memcpy's (even though this data was never used) 2002-05-24 17:28 markt * Dll/BladeMP3EncDLL.c, libmp3lame/lame.c: removed all references to "sample_t" from the DLL. someone put in a call to lame_encode_buffer_sample_t (not a public interface to libmp3lame) when they should have used lame_encode_buffer_float(), since they were assuming 'sample_t' was a float. 2002-05-20 22:21 robert * libmp3lame/: lame.c, quantize.c, util.h: VBR bitreservoir minimum filling depending on back pointer from largest frame allowed 2002-05-20 18:22 robert * Makefile.unix, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/vbrquantize.c: Makefile.unix: -malign-double enabled, helps memcpy lame.c: new experimental -X{5,9} settings for --vbr-new quantize.c: build up bit reservoir for VBR, allows to limit max frame size with -Bxxx without a too large quality impact vbrquantize.c: fixing sfb21 issues: -Y did not show the wanted effect xxx_block_xr34: replaced copy loop by memcpy, not faster but makes things more obvious some very minor speed ups 2002-05-19 22:11 markt * frontend/timestatus.c: initialize ellapsed time counter to 0. 2002-05-19 22:03 robert * libmp3lame/: quantize.c, vbrquantize.c: avoid calling best_huffman_divide twice for vbr-new 2002-05-19 16:43 takehiro * frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame_global_flags.h, libmp3lame/presets.c, libmp3lame/set_get.c (takehiro-2002_05_07-experimental): experimental mixed block support. "--mixedblock" option to use it. currently, it uses mixed blocks on all short/start/end blocks. this is very bad idea. we need a proper psymodel. till we make it, this option is used only for the testing purpose. 2002-05-19 16:38 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): trivial optimization arround nspsytune 2002-05-19 15:13 takehiro * libmp3lame/psymodel.c (takehiro-2002_05_07-experimental): merged little part of Dom's speed optimization. 2002-05-18 17:39 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): preparing for mixed block of bitpressure_strategy() 2002-05-18 17:33 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): remove magic numbers and prepare for mixed block. 2002-05-18 16:54 takehiro * libmp3lame/: machine.h, newmdct.c, vbrquantize.c (takehiro-2002_05_07-experimental): fully cosmetic... changed INLINE -> inline 2002-05-18 16:53 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): prepare for the substep noise shaping method 1 and 3. 2002-05-18 16:15 takehiro * libmp3lame/: quantize.c, takehiro.c (takehiro-2002_05_07-experimental): trivial optimizations 2002-05-18 16:08 takehiro * libmp3lame/: machine.h, quantize_pvt.c, quantize_pvt.h (takehiro-2002_05_07-experimental): clean up table initialization and bit size optimization. - remove magic number "128". (and changed 116) - we don't need to prepare the both of adj43[] and adj43asm[]. prepare only one of them, if we use asm code or not. 2002-05-18 16:00 takehiro * libmp3lame/: bitstream.c, takehiro.c (takehiro-2002_05_07-experimental): use scfsi more. if all quantized value is 0, we can use scalefactor with not only 0 but also any number and in such a situation, we can use the scfsi. 2002-05-18 15:09 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): don't compile some code if analyzer is not needed. 2002-05-18 15:07 takehiro * libmp3lame/: machine.h, quantize_pvt.c, quantize_pvt.h, vbrquantize.c (takehiro-2002_05_07-experimental): optimization arround vbr_new with the new data structure. - merged short_block_xr34() and long_block_xr34() into block_xr34() and clean up - changed IIPOW20[] and remove some condition code. 2002-05-18 13:59 takehiro * libmp3lame/: quantize.c, set_get.c, util.h (takehiro-2002_05_07-experimental): arroud substep noise shaping. - prepare for "method 3". - start with "pseudo half shaped" state, if we use the method 2 or 3. 2002-05-18 13:50 takehiro * libmp3lame/: quantize.c, quantize_pvt.c, set_get.c (takehiro-2002_05_07-experimental): simple calc_noise() optimization (remove one log()) fix quatn_compare() when alt-preset. 2002-05-18 12:11 takehiro * libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental): oops, fix calc_noise() bugfix :) 2002-05-18 12:10 takehiro * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h (takehiro-2002_05_07-experimental): trivial optimization by loop unrolling 2002-05-18 11:38 takehiro * libmp3lame/: machine.h, quantize.c, quantize_pvt.c, quantize_pvt.h (takehiro-2002_05_07-experimental): quick fix for "calc_noise_bug" reported by Mark. 2002-05-18 11:09 takehiro * libmp3lame/: lame.c, presets.c, set_get.c (takehiro-2002_05_07-experimental): changed alt-preset-* and comments to follow the change of quality setting. 2002-05-18 11:07 takehiro * libmp3lame/: machine.h, quantize.c (takehiro-2002_05_07-experimental): fix floating exception when global_gain > 255u. it frequently happens when best_huffman == 2 2002-05-18 10:25 takehiro * libmp3lame/: lame-analysis.h, lame.c, quantize.c, util.h (takehiro-2002_05_07-experimental): sync with main tree. - uped READ_AHEAD from 10 to 40 for the frame analyzer (By Mark) - removed warning when using -Y (By Robert) - removed unused bitpressure strategie 2 (VBR) (By Robert) 2002-05-14 21:32 robert * libmp3lame/: lame.c, quantize.c, util.h, vbrquantize.c, vbrquantize.h: removed warning when using -Y removed unused bitpressure strategie 2 (VBR) 2002-05-14 21:02 robert * libmp3lame/.indent.pro: changing max line length from 80 to 100 chars 2002-05-14 16:23 markt * frontend/timestatus.c: added comment about clock rollover check 2002-05-14 16:19 markt * frontend/: lametime.c, timestatus.c: put in rollover check in frontend cpu/wall clock timing routines. didn't we used to have this? user reported (on a 35min encode) that the output of clock() (of type clock_t) was rolling over and becoming negative. On his system, clock_t is a signed 32 bit int. 2002-05-12 18:47 markt * INSTALL: removed info about vorbis encoding from INSTALL 2002-05-12 18:01 markt * ltmain.sh: applied patch to ltmain.sh from sourceforge.net bug report. it passes LDFLAGS on to the linker? *** ltmain.sh.org Sun Oct 22 14:06:32 2000 --- ltmain.sh Sun Apr 28 11:56:54 2002 *************** *** 818,824 **** convenience= old_convenience= deplibs= ! linkopts= if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var --- 818,824 ---- convenience= old_convenience= deplibs= ! linkopts="$LDFLAGS" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var 2002-05-12 17:20 markt * include/lame.h, libmp3lame/lame-analysis.h: added documentation to lame.h for lame_decode* functions uped READ_AHEAD from 10 to 40 for the frame analyzer 2002-05-12 13:52 takehiro * libmp3lame/: bitstream.c, l3side.h, quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c, util.h, vbrquantize.c, vbrquantize.h (takehiro-2002_05_07-experimental): big data structure update (2) - this is very alpha. check is not done yet, but I should have sleep tonight :p - "make test" runs fine. but mp3x, vbr-new needs more test. abr mode aborts floating exception. - almost all the structured data, like l3_xmin, scalefac, distort, ... are now simple FLOAT8/integer array. - calc_noise() and so on is very simple code and very fast, because we can handle the long/short block by same code, - new member "window" and "width" are added to gr_info. 2002-05-12 09:30 takehiro * libmp3lame/quantize.c: fix inc_scalefac_scale() ignoring preflag. 2002-05-12 08:29 takehiro * Makefile.in (takehiro-2002_05_07-experimental): regen(forgot to check in) 2002-05-12 08:02 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): trivial cleanup 2002-05-12 08:02 takehiro * libmp3lame/reservoir.c (takehiro-2002_05_07-experimental): because #define NORES is not working as it was, I remove it. 2002-05-12 07:48 takehiro * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h (takehiro-2002_05_07-experimental): fix mp3x scalefactor display when scfsi used and cleanup on set_pinfo(). fix warning arround calc_klemm_noise(). 2002-05-12 07:30 takehiro * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h (takehiro-2002_05_07-experimental): noise calculation cleanup. - delayed calculation of klemm_noise and it is shared to store in max_noise. - max_noise, tot_noise and over_noise are now "B" order, not "dB". 2002-05-11 18:49 markt * lame.spec.in: new lame.spec.in file from Yosi. 2002-05-11 18:29 markt * libmp3lame/: quantize.c, quantize_pvt.c: applied Takehiro's bug fix for single channel bit reservoir usage for pre-echo control. 2002-05-11 18:28 takehiro * Makefile.am, libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/reservoir.c, libmp3lame/takehiro.c, libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): not testing much, but I think now best_huffman_divide==2 works. - default quality setting is changed to 3, and "make test" is done with that. - quality setting 0,1, and 2 with CBR/ABR/VBR-old mode uses best_huffman_divide==2. - best_scalefac_store() is not called in inner loop. - "lame -q 2 foo.wav foo.mp3" runs about half or more slower speed than that of "lame -q 3 ..." 2002-05-11 17:26 takehiro * libmp3lame/: quantize_pvt.c, quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental): combination of small patches mainly to get more tight coupling/inlining optimization. - in quantize_pvt.c, some functions are now static. - some "char" type table is now "int" - quantize_xrpow*() are moved from quantize_pvt.c to takehiro.c, and they are static function. - slen1_tab[] and slen2_tab[] are moved to takehiro.c 2002-05-11 16:42 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): oops, checked in the older one. fix CBR bit allocation. 2002-05-11 16:28 takehiro * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h, reservoir.c, reservoir.h (takehiro-2002_05_07-experimental): fix --vbr-old for newer resovoir handling code. now it produces bit-by-bit identical from the main branch with my "limited test". 2002-05-11 14:39 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): sync with main tree - Robert's modification, 'more time consuming strategy to handle the case when more bits used than available' 2002-05-11 14:12 takehiro * libmp3lame/: quantize.c, vbrquantize.c (takehiro-2002_05_07-experimental): fix vbr-new arround bin_search_stepsize(). it ignores part2_length to calculate cod_info->part2_3_length. consider part2_length inside of bin_search_stepsize(), not caller side. 2002-05-11 13:49 takehiro * libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental): fix for vbr-new to work with new bin_search_stepsize() 2002-05-09 23:25 robert * libmp3lame/vbrquantize.c: vbr-new: more time consuming strategy to handle the case when more bits used than available 2002-05-08 22:28 takehiro * libmp3lame/quantize_pvt.h (takehiro-2002_05_07-experimental): oops I missed the merging. 2002-05-08 22:27 takehiro * libmp3lame/: lame.c, quantize.c, quantize_pvt.h, util.h (takehiro-2002_05_07-experimental): bin_stepsearch() hack. separete stepsize for each channel that we will use next frame little bit faster. 2002-05-08 21:30 takehiro * libmp3lame/takehiro.c (takehiro-2002_05_07-experimental): fix warning 2002-05-08 21:07 takehiro * libmp3lame/: quantize.c, quantize_pvt.c, vbrquantize.c (takehiro-2002_05_07-experimental): sync with robert's latest patch on mainline. - allow best huffman divide to be used in vbr-new - moved ms_convert() 2002-05-08 21:00 takehiro * libmp3lame/quantize.c (takehiro-2002_05_07-experimental): monoraul bitallocation patch. thanx Robert to revert. and sorry for the trouble. I made my own branch and check the code on this. if I get the "bit-by-bit identical" output, I will merge the branch. I will follow the main line changes as possible. till then, bye for now. see you later, at the merging time. 2002-05-07 23:08 robert * libmp3lame/: quantize_pvt.h, vbrquantize.c: allow best huffman divide to be used in vbr-new 2002-05-07 21:24 robert * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h: moved the tiny function ms_convert from quantize_pvt.c to quantize.c--the only client for it--giving a little speed increase 2002-05-07 21:11 robert * libmp3lame/: quantize.c, quantize_pvt.h, vbrquantize.c: better decoupling of vbrquantize.c and quantice.c 2002-05-07 20:21 robert * libmp3lame/: bitstream.h, quantize_pvt.h, reservoir.h, util.h: sorry Takehiro, we are back to the last known working version from Sunday 13:35 UTC now 2002-05-07 20:15 robert * libmp3lame/: bitstream.c, encoder.c, quantize.c, quantize_pvt.c, reservoir.c, takehiro.c, util.c, vbrquantize.c: sorry Takehiro, we are back to the last known working version from Sunday 13:35 UTC now 2002-05-06 16:03 takehiro * libmp3lame/quantize.c: fix for new reservoir handling code with my ABR patch. we don't need the totbits, because the reservoir size is reduced in ResvAdjust() in gr/ch loop and reservoir handler uses it. 2002-05-06 15:49 takehiro * ACM/: .cvsignore, ADbg/.cvsignore, tinyxml/.cvsignore: added cvsignore to ignore Makefile, etc. 2002-05-06 15:30 takehiro * include/lame.h, libmp3lame/bitstream.c, libmp3lame/encoder.c, libmp3lame/quantize.c, libmp3lame/reservoir.c: cleanup. remove a compiling problem and some warnings. 2002-05-05 18:34 takehiro * libmp3lame/quantize.c: one more outer_loop() fix for VBR. 2002-05-05 18:18 takehiro * libmp3lame/quantize.c: outer_loop() fix for vbr_rh and vbr_mtrh 2002-05-05 17:37 takehiro * libmp3lame/quantize_pvt.c: update comment 2002-05-05 17:17 takehiro * libmp3lame/: bitstream.c, bitstream.h, encoder.c, quantize.c, reservoir.c, util.c, util.h: cleanup arround getframebits(). 2002-05-05 16:50 takehiro * libmp3lame/: quantize.c, reservoir.c: fix NORES_TEST. and works not only for CBR (don't tell me that's useful :p) 2002-05-05 16:40 takehiro * libmp3lame/: quantize.c, reservoir.c, reservoir.h: oops, I mis-checked in the old files. this is real one. 2002-05-05 16:29 takehiro * libmp3lame/: quantize_pvt.c, reservoir.c, reservoir.h: clean up arround reservoir. 2002-05-05 15:47 takehiro * libmp3lame/: quantize.c, reservoir.c, reservoir.h: trivial cleanup of arround resvoir. 2002-05-05 15:34 takehiro * libmp3lame/quantize.c: cleanup arround inc_scalefac_scale() with new cod_info strcture. 2002-05-05 14:35 takehiro * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h: cleanup arround calc_noise() with new cod_info strcture. 2002-05-05 13:59 takehiro * libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c, vbrquantize.c: more cleanup of new cod_info structure, arround count_bits() 2002-05-05 13:48 takehiro * libmp3lame/: quantize.c, quantize_pvt.h: inner_loop() is now static function. 2002-05-05 13:43 takehiro * libmp3lame/: quantize.c, vbrquantize.c: changed outer_loop() algorithm. it needs lesser copy and runs faster. - try with new scalefactor combination on work area, and if we get the better result, copy it to the returning area. - make bin_search_StepSize() return the global_gain which assures targ_bits > found_bits. 2002-05-05 13:33 robert * libmp3lame/: quantize.c, vbrquantize.c, vbrquantize.h: some clean-up in parameter passings due to recent change in cod_info structure 2002-05-05 13:01 robert * libmp3lame/: encoder.c, quantize.c, quantize.h, vbrquantize.c, vbrquantize.h: removed again some unused code I thought that was removed some long time ago 2002-05-05 11:58 takehiro * libmp3lame/: bitstream.c, encoder.c, l3side.h, quantize.c: bit cleanup. removed window_switching_flag in l3side. 2002-05-05 11:53 takehiro * libmp3lame/: quantize.c, quantize.h, vbrquantize.c: To fix it does not call the "freorder" and to support for mixed block, the vbrquantize.c uses init_outer_loop()/init_xrpow() in quantize.c to initializatoin. this may fix the MPEG2 problem (but not tested). 2002-05-04 22:49 markt * configure, testcase.mp3: updated testcase.mp3 2002-05-04 15:48 takehiro * libmp3lame/: encoder.c, quantize.c, util.c, util.h: clean up and speed up (optimize for new data structure). - devided init_outer_loop() into init_outer_loop() and init_xrpow(). This makes it easy to use GOGO-no-coda's xrpow calculation routine. # thanx Robert, your fix makes me aware my mistake in VBR mode. - restoring duplicated data of VBR loop are removed. more mixed_block prepare. freorder() in util.c and its caller in encoder.c are moved into init_outer_loop() in quantize_pvt.c 2002-05-04 15:36 takehiro * libmp3lame/quantize.c: trivial optimization 2002-05-04 14:54 takehiro * libmp3lame/: bitstream.c, quantize.c, quantize_pvt.c, vbrquantize.c: the signess process of l3_enc[] are moved from quantize*.c to bistream.c. bit faster, much simpler. 2002-05-04 13:58 takehiro * libmp3lame/quantize_pvt.c: removed unused variables. 2002-05-04 13:55 takehiro * libmp3lame/: quantize.c, quantize_pvt.c: removed log calculation of klemm_noise in main loop 2002-05-04 09:30 afaber * ChangeLog, Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.h: Added quality setting to lame_enc.dll interface 2002-04-30 22:20 robert * libmp3lame/version.h: 3.93 alpha 1 -> 3.93 alpha 2 2002-04-30 22:00 robert * libmp3lame/: quantize.c, quantize_pvt.c: fixing latest floating point exceptions I got for some days within the calc noise routine 2002-04-28 08:15 takehiro * libmp3lame/quantize_pvt.c: Mark, because max_noise is initialized with 1E-20 and refreshes Max(max_noise, sfb_noise), so it will never lesser than 1e-20. 2002-04-27 21:15 takehiro * libmp3lame/takehiro.c: bit faster best_huffman_divide(). - use the pointer to the structure, not structure itself. 2002-04-27 20:58 takehiro * configure, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/encoder.c, libmp3lame/l3side.h, libmp3lame/newmdct.c, libmp3lame/newmdct.h, libmp3lame/quantize.c, libmp3lame/quantize.h, libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h, libmp3lame/takehiro.c, libmp3lame/vbrquantize.c, libmp3lame/vbrquantize.h: large data structure update (1) - mdct values (xr), encoded values (l3_enc), and scalefactors (scalefac) are in the gr_info structure. - it runs faster. - reduce stack size but require large III_side_info_t and lame_global_flags. 2002-04-27 20:41 takehiro * libmp3lame/machine.h: fix --enable-all-float. when it enabled, FLOAT8_MAX should be FLT_MAX about 1e37, not 1e99. 2002-04-27 18:24 takehiro * libmp3lame/bitstream.c: trivial 2002-04-24 11:10 aleidinger * Makefile.unix: add a mingw comment from Hubert Hanghofer 2002-04-22 17:51 markt * libmp3lame/quantize_pvt.c: Takehiro, when you changed this code: res->max_noise = 10.*log10(Max(1e-20,max_noise )); res->klemm_noise = 10.*log10(Max(1e-20,klemm_noise)); to: res->max_noise = 10.*log10(max_noise); res->klemm_noise = 10.*log10(klemm_noise); I started getting FPE (I always compile with --enable-debug which aborts on FPE). I went ahead and changed it back- it should have little effect. 2002-04-21 20:31 afaber * Dll/BladeMP3EncDLL.c: Added additional debug flags 2002-04-21 18:10 takehiro * libmp3lame/l3side.h: remove unused definition 2002-04-21 18:05 takehiro * libmp3lame/lame.c: fix typo 2002-04-21 17:33 takehiro * libmp3lame/lame.c: trivial(reduce magic number) 2002-04-21 17:03 afaber * Dll/BladeMP3EncDLL.c: Avoid the VBR Tag space was written when VBR method was disabled (caused empty frame in fornt of MPEG stream for certain CBR settings) 2002-04-21 16:56 takehiro * frontend/parse.c, include/lame.h, libmp3lame/bitstream.c, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/takehiro.c, libmp3lame/util.h: new option, --substep, pseudo substep noise shaping now works. - new set_get function, lame_set_substep(), lame_get_substep() - final fix of "do substep" region of selected scalefactor. - noise_shaping_amp == 3 is removed and the method of how to use substep is selecte by the new member "substep" in structure "lame_internal_flags". 2002-04-21 13:57 takehiro * libmp3lame/bitstream.c: trivial optimization: gfp/gfc cleanup 2002-04-20 22:31 robert * Makefile.unix: [no log message] 2002-04-20 20:40 takehiro * libmp3lame/: bitstream.c, encoder.c, l3side.h, newmdct.c, quantize.c, quantize_pvt.c, takehiro.c, vbrquantize.c: simplify the structure. l3_side->gr[gr].ch[ch].tt is now known as l3_side->tt[gr][ch]. 2002-04-20 20:31 takehiro * libmp3lame/l3side.h: fix misleading indent 2002-04-20 20:28 takehiro * libmp3lame/takehiro.c: prepare for mixed block support: count_bits() and best_scalefac_store(). fix bug of noise_shaping_amp==3 on a long block. 2002-04-20 20:17 takehiro * libmp3lame/quantize.c: more mixed_block preparation: inc_scalefac_scale(), amp_scalefac_bands() 2002-04-20 20:16 takehiro * libmp3lame/quantize_pvt.c: for better mixed_blcok support, make calc_xmin() use cod_info->sfb_lmax, etc. 2002-04-20 19:54 takehiro * libmp3lame/quantize.c: fix mixed mode (long block max sfb) 2002-04-20 19:50 takehiro * libmp3lame/: l3side.h, quantize.c, quantize_pvt.c: more generalized mixed_block support and considering in MPEG2/2.5 - added new members to cod_info. psy_lmax and psy_smax. 2002-04-20 19:39 takehiro * libmp3lame/quantize.c: we don't need two elements of l3_xmin. 2002-04-20 19:34 takehiro * libmp3lame/quantize_pvt.c: - calc_xmin() supports mixed_block noise calculation. - mixed_block parameter(long block end point and short block start point) fix for calc_noise() 2002-04-20 18:51 takehiro * libmp3lame/quantize_pvt.c: calc_noise() supports mixed_block noise calculation. 2002-04-20 18:40 takehiro * libmp3lame/quantize_pvt.c: remove out-of-date comments 2002-04-20 18:37 takehiro * libmp3lame/: machine.h, quantize_pvt.c: first step of clean up calc_noise() for preparing mixed block support. - removed unused variables - make the two loops (long and short) same structure. 2002-04-20 11:49 robux4 * ACM/lameACM.dsp: Added the preset to compile the project (not used... yet) 2002-04-19 14:51 bouvigne * Dll/BladeMP3EncDLL.c: Now the dll should properly applying mono and resampling settings even if presets are used 2002-04-19 11:23 bouvigne * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h: alt-presets now used from inside libmp3lame 2002-04-17 22:13 robert * Makefile.unix: missing presets.c added 2002-04-17 08:11 aleidinger * configure: regen 2002-04-17 08:08 aleidinger * configure.in: bump version 2002-04-16 19:47 markt * testcase.mp3: updated testcases (just because CVS version bumped up to 3.93alpha) 2002-04-15 18:36 markt * libmp3lame/version.h: updated version to 3.93 alpha 1 2002-04-15 16:42 bouvigne * frontend/parse.c, libmp3lame/presets.c: abr presets now into libmp3lame 2002-04-15 11:51 bouvigne * frontend/parse.c: --cbr 2002-04-15 11:42 bouvigne * libmp3lame/lame.c: 3dnow identification 2002-04-15 08:16 aleidinger * Makefile.in, configure: regen 2002-04-15 06:58 markt * Makefile.in, configure, debian/Makefile.in: got automake 1.5 and ran it: 2002-04-15 06:57 markt * debian/Makefile.am: updated debian/Makefile.am but my version of automake is too old: debian/Makefile.am:5: require version 1.5, but have 1.4-p5 2002-04-15 06:47 markt * testcase.mp3, doc/html/history.html, libmp3lame/version.h: bumped up version number to 3.92 for release 2002-04-15 06:46 markt * ChangeLog: ran cvs2cl.pl 2002-04-14 12:21 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.def, BladeMP3EncDLL.h: Added strict-iso option to the interface, added output samplerate parameter to the debug log file 2002-04-12 19:44 markt * libmp3lame/bitstream.c: added message regarding "internal buffer inconsistency error" to printout: ERRORF(gfc,"This is a fatal error. It has several possible causes:"); ERRORF(gfc,"90% LAME compiled with buggy version of gcc using advanced optimizations"); ERRORF(gfc," 9% Your system is overclocked"); ERRORF(gfc," 1% bug in LAME encoding library"); 2002-04-10 12:55 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c: --noasm option 2002-04-10 06:37 bouvigne * Makefile.MSVC: presets.c 2002-04-09 15:43 bouvigne * Dll/BladeMP3EncDLL.c: dm presets in the dll are now used from initialized from inside libmp3lame 2002-04-09 15:28 aleidinger * libmp3lame/Makefile.in: regen 2002-04-09 14:46 bouvigne * frontend/parse.c, include/lame.h, libmp3lame/Makefile.am, libmp3lame/libmp3lame_vc6.dsp, libmp3lame/presets.c, libmp3lame/set_get.c: vbr presets are now part of libmp3lame 2002-04-09 11:56 bouvigne * frontend/parse.c: --cbr switch 2002-04-08 20:30 robux4 * ACM/acm.rc: minor change on the DLL versioning 2002-04-08 18:43 robux4 * ACM/: ACM.cpp, AEncodeProperties.cpp: Added some new defines that might not be in all platform DDKs (just in case) 2002-04-08 18:41 aleidinger * Makefile.in, ACM/Makefile.in: regen 2002-04-08 18:41 aleidinger * Makefile.am, ACM/Makefile.am: add new vc6 file 2002-04-08 12:43 bouvigne * lame_vc6.dsw, ACM/lameACM_vc6.dsp: added ACM codec to vc6 workspace 2002-04-08 09:56 bouvigne * lame_projects_vc6.dsp, lame_vc6.dsw: dummy project to generate all lame projects (select lame_projects in the workspace) 2002-04-07 14:09 robux4 * ACM/TODO: Removed the things already done 2002-04-07 14:07 robux4 * ACM/: ACM.cpp, AEncodeProperties.cpp, lameACM.dsp: Clicking on the LAME URL will open the default browser 2002-04-07 13:31 robux4 * ACM/: AEncodeProperties.cpp, AEncodeProperties.h: Added tool-tips to the configuration dialog 2002-04-07 12:28 robux4 * ACM/: ACM.cpp, acm.rc: Improved LAME version display 2002-04-07 10:17 robux4 * ACM/: AEncodeProperties.cpp, AEncodeProperties.h, acm.rc, lame_acm.xml, resource.h: ABR support now complete 2002-04-06 14:12 aleidinger * lame.bat: bugfix, sorry, lost the mail for it 2002-04-06 14:10 aleidinger * Makefile.in, ACM/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in, frontend/Makefile.in, libmp3lame/Makefile.in, mpglib/Makefile.in, configure: regen 2002-04-06 14:09 aleidinger * configure.in: add tinyxml directory 2002-04-06 14:08 aleidinger * Makefile.am, ACM/Makefile.am, ACM/tinyxml/Makefile.am, Dll/Makefile.am, frontend/Makefile.am, libmp3lame/Makefile.am, mpglib/Makefile.am: add new files 2002-04-06 14:01 robux4 * ACM/: ACM.cpp, ACM.h, ACMStream.cpp, ACMStream.h: Encoding in ABR is starting to work the different format strings are sorted correctly 2002-04-06 11:34 robux4 * ACM/: ACM.cpp, ACM.h, AEncodeProperties.cpp, AEncodeProperties.h, acm.rc, resource.h: First part of the ABR support (missing use ABR settings on encoding when applied, configuration of ABR params) 2002-04-06 11:32 robux4 * ACM/tinyxml/: readme.txt, tinyxml.cpp, tinyxml.dsp, tinyxml.h, tinyxmlparser.cpp, xmltest.cpp: Updated with version 2.0 beta 2002-04-04 13:35 bouvigne * lame_vc6.dsw, Dll/LameDll_vc6.dsp, frontend/lame_vc6.dsp, libmp3lame/libmp3lame_vc6.dsp, mpglib/mpglib_vc6.dsp: I was annoyed to not be able to open the VC projects in vc6, so I added vc6 ones 2002-03-22 18:29 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h: Added lame presets to DLL interface 2002-03-16 00:26 robert * Makefile.MSVC: no fast float to int conversion (Intel compiler) 2002-03-16 00:21 robert * Makefile.MSVC, frontend/parse.c: fix for Win2k path seperator issue found by Peter Hartley 2002-03-15 23:16 robert * libmp3lame/quantize.c: bugfix, confusion about sideinfo length found by "Kei Ishida" 2002-03-06 00:02 robert * lame.dsw: VC Workspace for all(?) targets 2002-03-03 18:57 aleidinger * libmp3lame/psymodel.c: remove /* withhin comment 2002-03-03 18:38 markt * TODO: msvc6 notes 2002-02-22 11:53 shibatch * libmp3lame/quantize_pvt.c: mp3x now displays quantization noise correctly when using nspsytune. 2002-02-21 00:54 rbrito * debian/: changelog, control, copyright, lame-dev.docs, lame-dev.files, lame-extras.files, lame.docs, liblame0-dev.docs, liblame0-dev.files, liblame0.files, rules: Reorganization of the lame/debian directory for generating packages closer to what the Debian Policy specifies. Still not there (the liblame0 package still has a dreaded -rpath and thus, is not lintian clean). 2002-02-17 15:24 takehiro * doc/html/: history.html, switchs.html: fix option description, and changed & to & 2002-02-17 14:22 takehiro * libmp3lame/psymodel.c: now inter-channel masking works even when without --nspsytune or with -m s 2002-02-17 13:59 takehiro * libmp3lame/psymodel.c: fix for --enable-all-float. 2002-02-17 13:55 takehiro * frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/util.h: added inter channel masking effect. gfp->interChRatio is the ratio of inter-channel masking effect, which could be indicated by --interch X option. The default value is 0.0, which means there's no inter-channel masking effect. I think ratio = 0.01 is OK for lower bitrates (like under 128kbps), for like old days songs by the Beatles. 2002-02-17 13:30 bouvigne * frontend/parse.c: presets down to 8kbps 2002-02-17 08:12 takehiro * libmp3lame/util.h: prepare for the interchannel masking and substep noise shaping. 2002-02-16 17:19 robux4 * ACM/tinyxml/: Makefile.tinyxml, changes.txt, dox, makedistlinux, makedistwin.bat, readme.txt, tinyxml.cpp, tinyxml.dsp, tinyxml.h, tinyxmlerror.cpp, tinyxmlparser.cpp, xmltest.cpp: Update with newer version of TinyXML 2002-02-15 11:42 shibatch * frontend/parse.c, libmp3lame/psymodel.c: Now, nspsytune2 should work, maybe... 2002-02-14 15:38 shibatch * libmp3lame/: lame.c, psymodel.c, util.h: Preparation work for nspsytune2. 2002-02-13 16:30 aleidinger * frontend/rtp.h: compile fix for gcc 3.x from Len Walter 2002-02-09 18:51 markt * frontend/gtkanal.c: added preflag count to statics window in mp3x 2002-02-07 11:58 shibatch * libmp3lame/lame.c, libmp3lame/lame_global_flags.h, frontend/parse.c, include/lame.h, libmp3lame/set_get.c: preparation work for nspsytune2 2002-02-04 17:10 markt * TODO, libmp3lame/util.c: temporary fix for resampling code. downsampling from 44101 to 44100 causes a seg fault. Workaround in place for now: resampling disabled if input/output samplerates agree to 4 digits. 2002-02-01 18:58 markt * INSTALL, TODO: minor edits 2002-02-01 17:41 markt * TODO: added notes about building a working, all encompasing MSVC6 workspace to TODO list 2002-02-01 17:37 markt * INSTALL: added nots about the ACM codec and directshow filter to INSTALL 2002-02-01 17:08 robux4 * ACM/ACM.cpp: Correct a problem when more than 2 channels are involved 2002-01-31 21:17 robux4 * libmp3lame/lame.c: Less memory copying on interleaved buffer 2002-01-31 21:03 uid32249 * ACM/tinyxml/: Makefile, Makefile.tinyxml: replace Makefile with Makefile.tinyxml 2002-01-30 23:25 robux4 * ACM/: ACM.cpp, acm.rc: resolved FhG incompatibility, first beta version (can go public), no decoding yet 2002-01-29 21:20 robux4 * ACM/: ACM.cpp, TODO, acm.rc: update version and removed unused buffers 2002-01-29 20:51 robux4 * ACM/lameACM.dsp: build with special dynamic memory handling for ACM 2002-01-29 20:37 robux4 * configMS.h, ACM/ACM.cpp, ACM/ACMStream.cpp, ACM/main.cpp: More debugging, special dynamic memory handling for ACM 2002-01-28 22:33 ivanski * mac/LAME.mcp: CW6 Project File 2002-01-28 22:13 ivanski * mac/: .DS_Store, LAME Carbon Debug.pch, LAME Carbon Final.pch, LAME Classic Debug.pch, LAME Classic Final.pch, MacDLLMain.c, Precompile_Common.h: Initial revision 2002-01-28 22:13 ivanski * mac/: .DS_Store, LAME Carbon Debug.pch, LAME Carbon Final.pch, LAME Classic Debug.pch, LAME Classic Final.pch, MacDLLMain.c, Precompile_Common.h: Mac support 2002-01-28 20:12 robux4 * ACM/: TODO, acm.rc: more TODO, added icon credit 2002-01-28 18:18 markt * libmp3lame/lame.c, test/CBRABR.op: set devault qval to 2 for CBR and ABR. 2002-01-25 18:18 robux4 * ACM/: TODO, lame.ico: new icon, more to do 2002-01-25 17:51 robux4 * ACM/: ACM.cpp, ACM.h, AEncodeProperties.cpp, DecodeStream.cpp, acm.rc: version 0.7.6, improved the smart output mode, corrected a config saving bug 2002-01-25 17:47 robux4 * ACM/ADbg/: ADbg.cpp, ADbg.h: more explicit cast 2002-01-25 11:27 aleidinger * misc/Makefile.in: regen 2002-01-25 11:23 aleidinger * misc/Makefile.am: add lameid3.pl 2002-01-25 11:22 aleidinger * doc/man/lame.1: some fixes 2002-01-24 19:38 robux4 * ACM/: ACM.cpp, ACM.h, ACMStream.cpp, AEncodeProperties.cpp, AEncodeProperties.h, TODO, acm.rc, lameACM.dsp, lame_acm.xml, main.cpp, resource.h: introducing smart output mode, clean dialog boxes, config saving/loading now works 2002-01-23 20:51 robux4 * ACM/DecodeStream.cpp: correct a build problem when ENABLE_DECODING is not defined 2002-01-23 20:45 robux4 * ACM/readme.txt: More doc on the release files 2002-01-23 20:40 robux4 * ACM/ADbg/ADbg.dsp: removed a minor build problem 2002-01-23 20:39 robux4 * ACM/: ACM.cpp, ACM.dsw, ACM.h, ACMStream.cpp, ACMStream.h, AEncodeProperties.cpp, AEncodeProperties.h, DecodeStream.cpp, DecodeStream.h, LameACM.inf, TODO, acm.rc, lameACM.dsp, lame_acm.xml, readme.txt, resource.h, tinyxml/Makefile, tinyxml/changes.txt, tinyxml/readme.txt, tinyxml/test.dsp, tinyxml/test.dsw, tinyxml/tinyxml.cpp, tinyxml/tinyxml.dsp, tinyxml/tinyxml.h, tinyxml/tinyxmlerror.cpp, tinyxml/tinyxmlparser.cpp, tinyxml/xmltest.cpp: Initial configuration dialog and XML config saving, initial decoding support (not working yet) 2002-01-23 20:32 robux4 * mpglib/interface.h: better handling of C++ include 2002-01-23 01:23 markt * lame.spec.in: commiting Yosi's new lame.spec.in file 2002-01-22 19:45 robux4 * ACM/: ACM.cpp, ACM.dsw, ACM.h, ACMStream.cpp, ACMStream.h, LameACM.inf, TODO, acm.rc, adebug.h, lameACM.def, lameACM.dsp, main.cpp, readme.txt: clean the code, put LGPL license, add mpglib to the build 2002-01-21 21:33 markt * TODO, configure, configure.in: added MAX OSX patch from sf bugtrack page 2002-01-21 20:24 markt * USAGE, misc/lameid3.pl: added lameid3.pl script to misc directory. (use to reencode mp3's and preserve id3 tags) 2002-01-20 19:29 robux4 * libmp3lame/util.h: Better C++ handling 2002-01-20 19:25 robux4 * Dll/BladeMP3EncDLL.h: Better C++ handling 2002-01-20 15:05 aleidinger * configure: regen (ACM) 2002-01-20 15:05 aleidinger * configure.in: Add ACM directory 2002-01-20 15:04 aleidinger * ACM/Makefile.in: Add generated autoconf glue 2002-01-20 14:59 aleidinger * ACM/ADbg/Makefile.in: Add generated autoconf glueACM/Makefile.in 2002-01-20 14:58 aleidinger * ACM/: Makefile.am, ADbg/Makefile.am: Add automake clue (for make dist) 2002-01-20 14:56 robux4 * ACM/lameACM.dsp: Eanble correct nasm support 2002-01-20 14:03 robux4 * ACM/: ADbg/ADbg.cpp, ADbg/ADbg.dsp, ADbg/ADbg.h, ACM.cpp, ACM.dsw, ACM.h, ACMStream.cpp, ACMStream.h, LameACM.inf, acm.rc, adebug.h, lame.ico, lameACM.def, lameACM.dsp, main.cpp, readme.txt, resource.h: Initial ACM support 2002-01-19 11:52 bouvigne * README, TODO: updated TODO 2002-01-17 16:43 aleidinger * Makefile.unix: NASM for Windows fixes (Hubert Hanghofer) 2002-01-17 13:42 aleidinger * configure: regen 2002-01-17 13:42 aleidinger * configure.in: - Update gcc 3.x and --enable-expopt=full flags based upon suggestions and benchmarks from Hubert Hanghofer and Craig Okruhlica . - Remove gcc flags which are marked 'experimental' in the gcc 3.0.3 documentation (noticed by Hubert Hanghofer). - Add comment what "expopt" means, and what it doesn't mean. 2002-01-17 13:42 aleidinger * Makefile.unix: - Update MINGW part pased upon patches and comments from Hubert Hanghofer . - Some minor changes for consistency. Note: this file is superseded by configure, except for systems where configure didn't work, so if something is broken you have to send patches. 2002-01-17 05:08 takehiro * libmp3lame/i386/.cvsignore: added *.lo 2002-01-09 12:09 takehiro * debian/.cvsignore, dshow/.cvsignore: added autogen Makefile to ignore 2002-01-09 12:09 takehiro * frontend/.cvsignore, libmp3lame/.cvsignore, mpglib/.cvsignore: added *.il, for the intel compiler with ipo option 2002-01-07 15:51 aleidinger * configure: oops, forgot to s/gtk12-config/gtk-config/ 2002-01-07 15:48 aleidinger * configure: regen 2002-01-07 15:48 aleidinger * configure.in: add gcc 3 specific optimizations, based upon suggestions by Sébastien FORESTIER 2002-01-07 10:35 aleidinger * configure, frontend/Makefile.in: regen: Fix Cygwin and HPUX problems. 2002-01-07 10:34 aleidinger * configure.in, frontend/Makefile.am: Fix Cygwin and HPUX problems. 2002-01-01 16:55 robert * misc/lame4dos.bat: modified some remark 2001-12-30 23:54 markt * doc/html/history.html: updated hostory.html from master copy in webpages project 2001-12-29 17:36 takehiro * doc/html/history.html: fix option for pseudo-half step quantization 2001-12-29 16:23 aleidinger * configure: regen: Welcome to 3.92 2001-12-29 16:21 aleidinger * configMS.h, configure.in, libmp3lame/version.h: Welcome to 3.92 2001-12-29 15:45 aleidinger * doc/html/history.html: sync with webpages/history.html 2001-12-28 18:55 takehiro * .cvsignore: added stamp-h1 2001-12-28 12:47 aleidinger * Dll/Example.dsp, Dll/MP3EncDll.dsp, dshow/dshow.dsp, frontend/lame.dsp, libmp3lame/libmp3lame.dsp, dshow/dshow.dsw, mpglib/mpglib.dsp: unix->dos 2001-12-27 16:12 aleidinger * doc/man/lame.1: add --alt-preset 2001-12-27 12:50 aleidinger * misc/Makefile.in: regen: add missing files to the distribution 2001-12-27 12:49 aleidinger * misc/Makefile.am: add missing files to the distribution 2001-12-23 20:19 dibrom * libmp3lame/set_get.c: disable noise shaping 2 for "fast" extreme mode also 2001-12-23 20:11 dibrom * libmp3lame/: set_get.c, vbrquantize.c: fix small bug and completely disable noise_shaping 2 with "fast" mode until a better solution can be found. 2001-12-23 12:25 aleidinger * misc/Makefile.in: regen: add some files to the distribution 2001-12-23 12:22 aleidinger * misc/Makefile.am: add auenc, mugeco,sh and mlame to distrib 2001-12-22 13:32 aleidinger * DEFINES: document NON_LINEAR_PSYMODEL, remove KLEMM_43 2001-12-22 13:29 aleidinger * libmp3lame/psymodel.c: non linear psymodel (disabled by default) for GPSYCHO (nspsytune is untouched) 2001-12-22 13:27 aleidinger * configure: regen: Welcome to v3.91 2001-12-22 13:26 aleidinger * configMS.h, configure.in, libmp3lame/version.h: Welcome to v3.91 2001-12-21 15:09 aleidinger * libmp3lame/machine.h: add icc check 2001-12-21 15:05 aleidinger * libmp3lame/Makefile.in: regen: (add vbrquantize.h) 2001-12-21 15:05 aleidinger * libmp3lame/Makefile.am: add vbrquantize.h 2001-12-21 11:58 jd- * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.def, BladeMP3EncDLL.h: Added DLL interface function beEncodeChunkFloatS16NI for floating point audio Samples are input within the range +/- 32768, in non-interleaved channels 2001-12-21 03:29 markt * testcase.mp3: updated testcase 2001-12-21 03:29 markt * libmp3lame/: version.c, version.h: updated version to lame 3.90 2001-12-20 23:11 markt * ChangeLog: update changelog 2001-12-20 08:44 dibrom * libmp3lame/encoder.c: no message 2001-12-20 08:33 dibrom * libmp3lame/: encoder.c, set_get.c, util.h, vbrquantize.c: improved quality of "fast" modes in certain situations 2001-12-18 17:44 dibrom * frontend/parse.c: removed bitrate compensation stuff for the abr bitrates since it appears no longer necessary 2001-12-18 17:28 dibrom * doc/html/switchs.html: added --alt-preset to the list of switches 2001-12-18 17:13 dibrom * doc/html/history.html: documented many changes which have been made over 3.90 2001-12-18 16:27 dibrom * frontend/parse.c: small tweak to "standard" preset 2001-12-18 16:14 dibrom * libmp3lame/: psymodel.c, quantize.c, set_get.c, util.h, vbrquantize.c: small quality improvement for "extreme" and "insane", more bitrate tunings for "extreme" -- should average to 256kbps more often 2001-12-18 11:16 aleidinger * configure: regen: vorbis changes 2001-12-18 11:14 aleidinger * configure.in: - Change vorbis default to disabled - Added -logg in the vorbis case (seems to be needed, I haven't tested it) 2001-12-18 11:13 aleidinger * libmp3lame/vorbis_interface.c: Try to unbreak vorbis support (it can't get worser). You may need the vorbis source and add -I/path/to/vorbis_src/includes/ to CFLAGS prior to running configure Tested by: Jonathan Ryshpan on RedHat 7.2 Submitted by: Cyrille Lefevre via FreeBSD problem report 2001-12-17 04:40 markt * libmp3lame/quantize.c: Minor changes to Gabriel's adjustment for ABR bitrate. Updated testcases. Added the following comments: /* res_factor is the percentage of the target bitrate that should be used on average. the remaining bits are added to the bitreservoir and used for difficult to encode frames. Since we are tracking the average bitrate, we should adjust res_factor "on the fly", increasing it if the average bitrate is greater than the requested bitrate, and decreasing it otherwise. Reasonable ranges are from .9 to 1.0 Until we get the above suggestion working, we use the following tuning: compression ratio res_factor 5.5 (256kbps) 1.0 no need for bitreservoir 11 (128kbps) .93 7% held for reservoir with linear interpolation for other values. */ res_factor = .93 + .07 * (11.0 - gfp->compression_ratio) / (11.0 - 5.5); 2001-12-16 16:00 bouvigne * libmp3lame/quantize.c: better abr bitrate approximation (will break abr testcases) 2001-12-15 07:31 dibrom * libmp3lame/: psymodel.c, set_get.c, util.h, vbrquantize.c: More tunings for "fast" options for "standard" and "extreme" modes. 2001-12-14 16:27 dibrom * libmp3lame/set_get.c: small tweak to "extreme" mode 2001-12-14 07:00 dibrom * frontend/parse.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/util.h, libmp3lame/vbrquantize.c: - changed --dm-presets to --alt-presets - modified preset system - applied tunings to vbr and psymodel, especially with --alt-preset standard, improves many difficult clips over the default vbr modes/presets (even those such as --r3mix) such as impulse cases (fatboy, spahm, them, gbtinc, ravebase, etc), pre-echo cases (castanets, death2, florida_seq, etc), tonality/js cases (2nd_vent, serioustrouble, bloodline, etc), low volume clips (piano, rach_original), many clips with problems with noise shaping 2, and much much more. Practically all cases should be equal or improved in quality. - added --no-preset-tune to disable tunings for --alt-preset "modes" 2001-12-03 18:15 markt * USAGE, frontend/parse.c: updated descriptions of some command line options, as per Dmitry 2001-11-30 18:35 markt * lame.spec.in: patch from lassauge@mail.dotcom.fr for lame.spec.in file. 2001-11-30 18:05 markt * include/lame.h, libmp3lame/lame.c: added lame_encode_buffer_long2(), since lame_encode_buffer_long() had a scaling which restricted the precision of the input to the same as if the input was 'short int' decided to leave the original routine, on the off chance there is some program out there which uses it. 2001-11-28 12:30 aleidinger * Makefile.in: regen 2001-11-28 12:29 aleidinger * Makefile.am: change description of make test 2001-11-26 15:21 takehiro * libmp3lame/takehiro.c: tuning of "pseudo half step noise shaping" with listening test. and it works now even when scalefac_scale == 1 2001-11-26 15:19 takehiro * libmp3lame/: psymodel.c, VbrTag.c: fix warning 2001-11-26 11:00 aleidinger * libmp3lame/version.h: Bump alpha version. 2001-11-25 15:24 takehiro * libmp3lame/: lame.c, quantize.c, quantize_pvt.c, takehiro.c, util.h: new noise shaping algorithm(pseudo half step noise shaping) it brings slow but more accurate noise shaping. enables with -q0 when CBR 2001-11-19 21:26 markt * frontend/parse.c, libmp3lame/encoder.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c: Reverted CVS back to before "gglower" option was added. --scale is a better way to do this, and contrary to Hans' claims, --scale is also lossless. 2001-11-18 22:44 robert * frontend/parse.c, libmp3lame/encoder.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c: patch by Hans van der Heijden, original email: Datum: Sun, 18 Nov 2001 20:13:11 +0100 Von: "Hans van der Heijden" An: Hi Robert, For the first time, I compiled Lame, being a non-programmer (well, my work involves programming, but that's a world apart with logic symbols, not C language). Because sometimes I have the urge to try something with the sourcecode. I'd like to add a switch to avoid the use of --scale for preventing clipping. It manipulates global_gain, similar as the mp3gain tool does, but this would be much more convenient of course (and better quality-wise, being 'lossless'). Since I have no programming experience, can you take a look if I implemented it correctly? The switch is called --gglower x, where each x-step stands for 1,5 dB. gg is short for global gain. So for example, --gglower 1 will decrease the output volume with 1,5 dB (0,841). I would probably use this by default, it will be enough to prevent clipping for all but the oddest samples/settings. I did a lot of copy/pasting from the --athlower switch, otherwise I probably couldn't figure it all out! Files involved are parse.c, lame_global_flags.h, set_get.c, lame.h and bitstream.c. I attached these files, if you search in each for 'gglower' you'll find the added code. Files came from the 11 Nov CVS. Also attached is a cygwin lame.exe if you like to play with it. Let's add it to CVS if it's OK (don't know how to do that myself, have to tell Mark?). Bye, Hans 2001-11-17 11:17 aleidinger * Dll/Example.cpp, Makefile.unix, Dll/Makefile.mingw32: some mingw fixes from Vladislav Naumov 2001-11-14 16:25 aleidinger * include/lame.h: fixes in comments 2001-11-12 21:58 robert * libmp3lame/lame.c: [no log message] 2001-11-12 17:36 aleidinger * include/lame.h: spelling fixes in comments 2001-11-11 22:13 afaber * Dll/BladeMP3EncDLL.c: fixed bugs: 451879 and 438835 2001-11-11 15:08 aleidinger * doc/man/Makefile.in, configure: regen 2001-11-11 15:06 aleidinger * libmp3lame/bitstream.c: add CVS Id 2001-11-11 14:57 aleidinger * Makefile.in, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: regen 2001-11-11 14:53 aleidinger * configure.in, frontend/Makefile.am: bugfix: --disable-{mp3x,mp3rtp} had build them add: --disable-fontend 2001-11-11 14:48 aleidinger * include/lame.h, libmp3lame/version.c, libmp3lame/version.h: remove mp3x version, it doesn't belong into the lib (this breaks every app which uses the function, but mp3x should be the only app which uses it, so this is ok because I moved it into gtkanal.c) 2001-11-11 14:47 aleidinger * frontend/gtkanal.c: move mp3x version here (from libmp3lame/version.[ch]) 2001-11-11 11:31 aleidinger * libmp3lame/Makefile.in: regen 2001-11-11 11:30 aleidinger * libmp3lame/Makefile.am: add missing headers 2001-11-10 14:25 aleidinger * libmp3lame/VbrTag.c: at least fix the bus error on SPARC until Roel or someone else decides if we should fix it in another way 2001-11-06 14:43 aleidinger * doc/html/switchs.html: resample only for encoding 2001-11-06 12:41 aleidinger * doc/man/lame.1: athaa fixes, resample only for encoding 2001-11-06 01:31 jd- * frontend/parse.c: Cleaned up preset help; send explicitly requested help to stdout, not stderr. Modularized original presets, with aliases to preserve the original behavior. 2001-11-05 15:26 dibrom * frontend/parse.c: modify lowpass values for dm-preset abr mode 2001-11-05 05:46 dibrom * frontend/parse.c: Updated dm-presets 2001-11-05 05:20 markt * testcase.mp3, libmp3lame/encoder.h: updated padding at end of MP3 to be 1152 samples. So the last frame containing real data will always be followed by a frame containing silence. (since most decoders will only decode the second to last frame) 2001-11-04 23:42 robert * Makefile.MSVC: lost i added 2001-11-04 23:39 robert * Makefile.MSVC: optimizing some intel compile flags 2001-11-04 18:51 robert * configMS.h: moved MSVC specific #pragma into MSVC section 2001-11-04 18:50 robert * libmp3lame/quantize.h, DEFINES: removed MAXQUANTERROR precompiler define 2001-11-04 18:48 robert * frontend/parse.c, include/lame.h: we don't want to make Naoki's msfix part of the API at this time, removed from lame.h again. parse.c compilation was broken by JD's presets_alias function. 2001-11-04 18:31 robert * libmp3lame/: encoder.c, quantize.c, vbrquantize.c, vbrquantize.h: removed MAXQUANTERROR precompiler define 2001-11-04 18:20 dibrom * frontend/parse.c: update dm-presets.. more to come shortly 2001-11-04 18:19 dibrom * include/lame.h: added msfix 2001-11-04 17:28 robert * include/lame.h, libmp3lame/lame.c: --vbr-mtrh is now known as --vbr-new 2001-11-04 17:22 robert * Dll/BladeMP3EncDLL.c: --vbr-mtrh is now known as --vbr-new 2001-11-04 13:39 aleidinger * libmp3lame/set_get.c: some fixes in the comments 2001-11-04 13:39 aleidinger * frontend/parse.c: mark --{voice,radio,cd,studio,phone} as deprecated 2001-11-04 13:33 aleidinger * doc/man/lame.1: remove --voice (deprecated) 2001-11-04 13:01 jd- * frontend/parse.c: Moved "--dm-preset *" preset profiles to "--preset dm-*". Added code for aliasing presets to multiple broad or narrow purpose labels. 2001-11-04 08:37 jd- * frontend/parse.c: Allow specifying the r3mix preset with "--preset r3mix" for consistency 2001-11-03 10:51 jd- * frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c: Renamed experimental switch "--ath-adjust" to "--athaa-type" for consistency. All switches directly affecting ATH auto-adjustment begin with "--athaa-*". 2001-11-03 09:31 jd- * frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/util.h: Added a bit of documentation to the long help. To better reflect purpose, renamed adapt-thres-type and adapt-thres-level to athaa-loudapprox and athaa-sensitivity, respectively. 2001-10-30 20:31 markt * libmp3lame/VbrTag.c: When determining enc_delay and enc_padding from VBR header, check for reasonable values. 2001-10-29 22:00 markt * frontend/get_audio.c, frontend/main.c, frontend/main.h, frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, mpglib/interface.c, mpglib/mpglib.h: VbrTag.c: GetVBRTag() updated to parse enc_delay, enc_padding fields enc_delay is used by 'lame --decode' to determine how many samples to skip at the beginning during decoding. 2001-10-29 20:01 markt * frontend/main.c: for --nogap option, do not allow Xing VBR tag. We should also not allow id3 tags and --nogap, but the are not turned on by default, and it is more than a 3 line fix :-) 2001-10-29 08:41 bouvigne * libmp3lame/: gain_analysis.c, gain_analysis.h: adding gain analysis files 2001-10-29 06:08 markt * frontend/main.c, libmp3lame/VbrTag.c, libmp3lame/lame_global_flags.h, mpglib/interface.c: --nogap and --nogapout fixed in frontend. didn't check if output is really gapless - hopefully no bugs have crept into that while --nogap was broken. 2001-10-28 22:24 markt * libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/lame_global_flags.h, libmp3lame/tables.c, libmp3lame/util.c, mpglib/interface.c: Fixed bug in VbrTag.c which is why Xing tag was broken for MPEG2 files. This code: if( h_id == 0 ) pTagData->samprate >>= 1; was, for unknown reasons, cutting the samplrate down by a factor of two for MPEG2, causing the framesize of the Xing header to be too large, causing it to overwrite the first valid MP3 frame. 2001-10-25 11:54 roelvdb * libmp3lame/VbrTag.c: undo previous edit, misunderstanding 2001-10-24 23:59 roelvdb * libmp3lame/VbrTag.c: if ABR, {store bitrate <=255} else { use 4 low bits to store bitrateindex so "-b" for VBR(/CBR) is known. 0F for freeformat} 2001-10-24 20:45 markt * testcase.mp3: updated testcases 2001-10-24 16:33 aleidinger * doc/man/lame.1: sync with HTML 2001-10-24 12:44 bouvigne * doc/html/: basic.html, examples.html, history.html, node6.html, switchs.html: doc fixes 2001-10-24 12:32 bouvigne * doc/html/switchs.html: a small athtype doc modif 2001-10-23 16:35 bouvigne * doc/html/switchs.html: fixes from Dmitry 2001-10-23 16:17 bouvigne * doc/html/switchs.html: fixes from Alexander 2001-10-23 14:06 aleidinger * doc/man/lame.1: add line breaks, expand examples section, add ID3 section, fixes 2001-10-23 14:06 aleidinger * frontend/main.c: fix for cygwin/mingw from egor duda 2001-10-22 21:31 roelvdb * libmp3lame/VbrTag.c: no message 2001-10-22 13:25 aleidinger * doc/man/lame.1: update based on HTML version 2001-10-21 17:00 bouvigne * doc/html/: basic.html, switchs.html: doc 2001-10-20 16:32 aleidinger * Makefile.unix: Submitted by: "Vladislav Naumov" I canged number 2 of his fixes to be equal to configure.in (-O3 is the highest official supportes optimization option, some of the options are superfluous (because they are included in -O3), some may perhaps change the ABI (ABI, not API!), e.g. -malign-*). Quote: 1. NOUNIXCMD = YES (don't use shell & sed) 2. CC_OPTS are set to produce optimized code. Somewhat faster. 3. frontend_sources & lib_sources are now fixed. GNU Make version 3.79.1 croaked about recursive variable. 4. ASFLAGS are correctly set, 'make -fMakefile.unix UNAME=MSDOS HAVE_NASM=YES' works smoothly (if you have nasm.exe, of course :)) 2001-10-20 16:28 aleidinger * Dll/Makefile.mingw32: Submitted by: "Vladislav Naumov" Quote: This makefile compiles lame_enc.dll with mingw32 (and possibly cygwin) Of course, you must first build ../libmp3lame/libmp3lame.a. liblame_enc.a can be used to link the lame_enc.dll to your programs. Tested with EAC 0.9pb9 (my own favorite, http://www.exactaudiocopy.de/). 2001-10-19 17:39 bouvigne * libmp3lame/VbrTag.c: headering... 2001-10-18 19:55 bouvigne * doc/html/switchs.html, frontend/parse.c: documenting...hopefully nearly finished 2001-10-17 19:29 robert * frontend/main.c: patch by Gian-Carlo Pascutto I saw someone reported a problem with my --nogapout switch on the mailinglist. I have done a quick attempt to fix the problems (and address another potential one). I haven't actually tested the fixes, but I'm reasonably sure they are correct, or at least they show how to address the problem. 2001-10-17 13:23 roelvdb * libmp3lame/VbrTag.c: after discussing with Gabriel added some more AQ flag refinements (--athonly,--noath,--scale-*, free format) and made #define MAXFRAMESIZE 2880, because LAME used to fill the freeformat 640 LAME Tag with junk at the end. 2001-10-17 11:31 aleidinger * configMS.h: fix VERSION after last commit 2001-10-17 01:41 roelvdb * libmp3lame/VbrTag.c: added overflow protection to that lowpass field in the LAME Tag, just in case someone enters a very high lowpass value. 2001-10-17 01:18 roelvdb * libmp3lame/lame.c: 44.1kHz: instead of "transition band: 22228 Hz - 22761 Hz" lowpass filter, "-b320 -a" (mono) will now give "transition band: 21517 Hz - 22050 Hz" (as in the stereo case) likewise on other samplerates. I can imagine this can be done in a much more intelligent fashion. also commented out a bit of similar code that seems obsolete now? 2001-10-16 18:49 bouvigne * doc/html/switchs.html: documenting - not finished 2001-10-16 18:07 afaber * configMS.h, include/lame.h, libmp3lame/VbrTag.h, libmp3lame/bitstream.c, libmp3lame/fft.c, libmp3lame/fft.h, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize.h, libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h, libmp3lame/util.h: Fixed some compiler warnings (mainly differences between function declaration and definition) 2001-10-16 15:00 roelvdb * libmp3lame/VbrTag.c: added the needed "else", fixed lowpass, added -V0/V1, --nores, -k, ... 2001-10-16 10:35 bouvigne * doc/html/history.html: history 2001-10-15 13:44 roelvdb * libmp3lame/VbrTag.c: fixed a wrong bracket causing >=256 CBR not to be AQ added ABR>=256 S as AQ, consistent with CBR >=256S 2001-10-13 19:00 markt * testcase.mp3: updated testcases 2001-10-13 14:02 aleidinger * include/lame.h, frontend/parse.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c, libmp3lame/util.c: add --scale-l and --scale-r options Requested by: fasttimes@mochamail.com Written by: mp3gain@hotmail.com 2001-10-13 14:00 aleidinger * doc/man/lame.1: update from "lame --longhelp" 2001-10-13 14:00 aleidinger * USAGE, doc/html/switchs.html: add --scale-l, --scale-r 2001-10-12 18:39 bouvigne * doc/html/: index.html, switchs.html: a few doc updates - not yet finished 2001-10-11 20:06 bouvigne * USAGE, doc/html/basic.html, doc/html/examples.html, doc/html/history.html, doc/html/id3.html, doc/html/modes.html, doc/html/node6.html, doc/html/switchs.html: [no log message] 2001-10-11 12:21 aleidinger * libmp3lame/: encoder.c, util.h: fix misunderstanding of gfc->padding 2001-10-10 02:17 roelvdb * libmp3lame/: VbrTag.c, lame.c: consequence, it's "LAME Tag", longhelp said Xing header 2001-10-10 02:15 roelvdb * frontend/parse.c: consequence, it's "LAME Tag" 2001-10-10 02:00 roelvdb * frontend/main.c: added 13 " if (silent < 10) "s to make "lame --decode --quiet" really silent. there's still a LF I can't locate though... 2001-10-10 01:42 roelvdb * Dll/BladeMP3EncDLL.c: removed experimental X from --r3mix 2001-10-09 23:09 roelvdb * libmp3lame/VbrTag.c: adds delays/padding to tag, no range check and tested exclusively on windows 2001-10-09 22:34 roelvdb * frontend/parse.c: test commit CVS to fix --r3mix size increase (robert identified is as -X being used) 2001-10-09 14:30 aleidinger * libmp3lame/version.h: bump alpha version 2001-10-09 14:26 aleidinger * Dll/BladeMP3EncDLL.c, frontend/parse.c, libmp3lame/VbrTag.c, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/util.h: Use the official enum names from lame.h instead of numbers or defines. 2001-10-08 12:54 bouvigne * libmp3lame/util.c: athtype fix 2001-10-06 19:25 markt * include/lame.h: added notes about scaling. there are some inconsistencies in the API: lame_encode_buffer() takes short int as input, range +/- 32768 lame_encode_float() takes float, but data must be in the range +/- 32768 lame_encode_double() takes double, but data must be in the range +/- 32768 lame_encode_int() takes int, but data must be in the range of 'int' for 32bit ints, this is +/- 2147483684 2001-10-06 19:17 markt * frontend/get_audio.c: updated error messages we now support 8,16,24 and 32 bit input 2001-10-06 19:05 markt * frontend/get_audio.c, frontend/gtkanal.c, frontend/parse.c, include/lame.h, libmp3lame/lame.c: added support for 24 and 32 bit when not using libsndfile. jd had already added the code to do this, just had to make the libsndfile --bitwidth option available when not using libsndfile. Also updated unpack_read_samples to support 32bit. Could not test this since I dont have any 24 bit files, and sox cant seem to create them. 2001-10-05 22:43 robert * libmp3lame/: lame.c, machine.h, quantize_pvt.c, quantize_pvt.h, vbrquantize.c: using -Xn similar to the old code to select different noise measurings with the newer VBR code. the actual mapping is not final yet. 2001-10-05 13:00 bouvigne * libmp3lame/util.c: ath 4 switches to ath 2 in cbr mode 2001-10-05 12:59 bouvigne * libmp3lame/lame.c: made NsPsytune stopping using ath0 as default, as everyone is overriding the athwhen using nspsytune 2001-10-05 12:20 bouvigne * Makefile.MSVC, libmp3lame/libmp3lame.dsp: makefile.msvc and projects on par? 2001-10-04 10:01 aleidinger * libmp3lame/: VbrTag.c, VbrTag.h: fixes for Solaris 8 / add missing include 2001-10-02 16:02 markt * frontend/: main.c, parse.c: added nogap patch from Gian-Carlo Pascutto. lame --nogapout --nogap file1.wav file2.wav file3.wav ... untested. 2001-10-02 03:54 markt * configure: ran autoconf to make a new configure script 2001-10-02 03:53 markt * INSTALL, configure.in, frontend/main.c, frontend/parse.c, libmp3lame/lame.c, libmp3lame/vorbis_interface.c: split Vorbis support into two pieces: 1. HAVE_VORBIS (decoding support). This code still works! (at least it compiles - I have't actually run it). Can be enabled with ./configure --with-vorbis. Changed the default in configure.in to define HAVE_VORBIS 2. HAVE_VORBIS_ENCODER This is the code which hasn't compiled since Vorbis beta1. Mainly because how you specify varous encoding "modes" has been changed. It's probably not to much work to get this working, but there is no reason for this to be in LAME. 2001-10-02 00:00 markt * libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, encoder.c, lame.c: Music CRC computed on the fly. Code stubs in place for decoding on the fly. 2001-10-01 23:02 markt * libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, encoder.c, lame.c, util.h: started work to put in the ability to compute MusicCRC on the fly, as well as decoding on the fly. 2001-09-30 20:36 robert * frontend/parse.c, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h, libmp3lame/set_get.c, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c: removed some unused variable 2001-09-28 21:29 markt * frontend/main.c: cpu affinity back to #define _WIN32 2001-09-28 21:13 markt * frontend/main.c: process affinity patch is back 2001-09-28 20:46 markt * USAGE: more small updated to USAGE 2001-09-28 20:38 markt * USAGE: updated USAGE to reflect Dmitry's -B comments 2001-09-28 12:04 bouvigne * Makefile.MSVC: harmonization between makefile and project 2001-09-27 13:33 bouvigne * libmp3lame/libmp3lame.dsp: 3dnow fft assembly 2001-09-21 04:50 markt * testcase.mp3, frontend/main.c: updated testcases (lowpass added to Info tag?) 2001-09-21 04:03 markt * frontend/main.c: disabled CPU affinity code. should only be in a #ifdef NT-system, but I dont know what the ifdef should be. 2001-09-20 08:38 bouvigne * libmp3lame/libmp3lame.dsp, mpglib/mpglib.dsp: corrected dsp files for VC++. Should work also under VC5, but not tested. Please report success/error 2001-09-20 07:15 bouvigne * libmp3lame/: VbrTag.c, lame.c: default lowpass stored in info tag 2001-09-19 14:32 markt * testcase.mp3: updated testcase.mp3 2001-09-18 13:37 aleidinger * libmp3lame/util.c: Fix memory hole (allocation from psymodel_init()). Found by: Michael Fink 2001-09-17 23:54 markt * libmp3lame/: VbrTag.c, util.c: moved a 1M array from stack to heap in VbrTag.c Some OS, when launching LAME on a seperate thread, allocate a tine (128K?) stack. moving this to the heap is an ugly solution (requires a malloc() and free()) but lets see if it fixes the reported segfaults. 2001-09-17 21:17 markt * frontend/main.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/lame.c, libmp3lame/util.c: more code related to putting encoder padding into VBR tag 2001-09-17 20:05 markt * include/lame.h, libmp3lame/VbrTag.c, libmp3lame/encoder.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/set_get.c: added new call to API, lame_get_encoder_padding() which returns the amount of padding appended to the input during encoding. 2001-09-17 19:15 markt * libmp3lame/util.c: moved MSVC cpu affinity code to the top of disable_FPE() 2001-09-15 09:57 aleidinger * configure: regen 2001-09-15 09:49 aleidinger * configure.in: Bugfix for libffm (Alpha architecture). Submitted by: Simon Burge 2001-09-14 17:37 markt * HACKING, README: added a note about LAME being threadsave to the HACKING file. 2001-09-14 17:18 markt * libmp3lame/util.c: put Todd Richmond's EAC/lame SMP fix in util.c, with all the messy code for setting floating point exceptions. I put this in the #if defined(_MSC_VER) block, so it should only affect people using MSVC. 2001-09-11 07:47 potsticker * libmp3lame/VbrTag.c: Changed id string from 'Xing' to 'Info' for CBR files only 2001-09-08 18:39 potsticker * libmp3lame/VbrTag.h, frontend/main.c: Don't write Lame Tag status message if --quiet 2001-09-08 18:35 potsticker * libmp3lame/VbrTag.c: Don't write Lame Tag status message if --quiet 2001-09-08 18:27 potsticker * libmp3lame/: VbrTag.c, VbrTag.h: Don't write Lame Tag status message if --quiet 2001-09-07 23:42 potsticker * libmp3lame/VbrTag.c, libmp3lame/lame.c, frontend/parse.c: Write Lame Tag for all files (unless -t switch used) 2001-09-04 00:06 potsticker * libmp3lame/VbrTag.c: Implemented most of Lame Tag rev 0 (but no 'replay gain' yet) 2001-09-03 23:45 potsticker * libmp3lame/: VbrTag.c, VbrTag.h: Implemented most of Lame Tag rev 0 (but no 'replay gain' yet) 2001-09-03 23:43 potsticker * libmp3lame/id3tag.h: Moved some macro definitions into id3tag.h (referenced in VbrTag.c) 2001-09-03 20:56 robert * libmp3lame/id3tag.c: cr/lf patch 2001-09-02 20:07 potsticker * libmp3lame/: id3tag.h, id3tag.c: Moved some macro definitions into id3tag.h (referenced in VbrTag.c) 2001-08-31 18:41 markt * libmp3lame/util.c: lowered tolerence in an assert() in the lowpass filtering routine. 2001-08-31 08:17 bouvigne * libmp3lame/: VbrTag.c, util.h: I hope it's fixed now 2001-08-29 20:08 bouvigne * Dll/BladeMP3EncDLL.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h, libmp3lame/version.c: first implementation of lame Xvbr tag from J Dee 2001-08-28 18:51 markt * API, HACKING, frontend/parse.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/set_get.c: msfix changes. forgot to commit them yesterday 2001-08-28 17:06 aleidinger * Makefile.unix: OS/2 mods from slaughter@malaconet.org (in principle, I had to apply them by hand and modified it a little bit) 2001-08-28 15:41 aleidinger * configure: oops... wrong gtk-config 2001-08-27 21:06 aleidinger * configure: regen (+update to automake 1.5) 2001-08-27 21:04 aleidinger * aclocal.m4, Makefile.in, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.am, mpglib/Makefile.in: update to automake 1.5 2001-08-27 21:04 aleidinger * Makefile.unix: USE_FFT3DN died some time ago 2001-08-27 21:03 aleidinger * Makefile.am: fixes for the update and diff target if you build in a seperate directory 2001-08-27 21:01 aleidinger * frontend/main.c: Bump MAX_NOGAP from 20 to 40, I wanted to make 34 gapless mp3s. 2001-08-27 20:59 aleidinger * Makefile.am.global, config.guess, config.sub, depcomp, missing, mkinstalldirs, misc/depcomp, mpglib/depcomp: update to automake 1.5 2001-08-27 20:56 aleidinger * DEFINES, Makefile.B32, Makefile.MSVC, Dll/MP3EncDll.dsp, libmp3lame/libmp3lame.dsp, libmp3lame/vorbis_interface.c: remove USE_FFT3DN, this define died some time ago 2001-08-27 20:55 aleidinger * configure.in: remove --malign-double completely 2001-08-27 20:52 aleidinger * libmp3lame/fft.c: USE_FFT3DN -> HAVE_NASM 2001-08-27 20:50 aleidinger * lame.spec.in: - Build and include docs and libs correctly - Build extra programs Submitted by: Markus Linnala Note: I didn't have a rpm based system, if this breaks feel free to revert my commit, I'm at a "commit what isn't obviously broken and seems to be a good idea" run at the moment. 2001-08-27 20:49 aleidinger * doc/html/switchs.html, frontend/parse.c, USAGE: - OS/2 priority control Submitted by: "DoC" (with minor changes by me) 2001-08-27 16:40 markt * doc/man/lame.1, misc/Lame.vbs: typo in man page fixed, new Lame.vbs from "Ralf Kempkens" 2001-08-26 19:01 markt * configure.in: removed -malign-double, based on Klemm's email. 2001-08-26 18:59 markt * configure.in: some missing quotes for AmigaOS section of configure.in, submitted by Fredrik Mellstrom (I cant beieve there are still people out there using an amiga :-) 2001-08-26 18:38 markt * mpglib/: interface.c, mpglib.h: replaced "look_for_xing" variable with more descriptive name "sync_bitstream". 2001-08-21 19:48 bouvigne * frontend/parse.c: switching --vbr-new to mtrh 2001-08-21 08:57 viral * debian/: changelog, control, lame-dev.docs, lame.docs, rules: Debian packaging modifications. 2001-08-20 22:26 afaber * Dll/: BladeMP3EncDLL.c, MP3EncDll.dsp: Updated new R3Mix settings, use lame get/set function and version info so I got rid of the version.h and lame_global_flag.h include files 2001-08-20 20:54 robert * doc/html/contributors.html: adding Darin Morrison (author of dm presets) 2001-08-16 08:21 robert * misc/abx.c: update of abx.c by Frank Klemm 2001-08-15 21:58 robert * frontend/parse.c, libmp3lame/lame.c: making -Z a truely toggling switch reordering the longhelp options list dropping --extrahelp 2001-08-15 00:37 robert * libmp3lame/lame.c: dropped a nagging message for --vbr-mtrh (nspsytune tuned for ...) 2001-08-15 00:12 robert * frontend/parse.c, libmp3lame/util.c: update for --r3mix by Roel 2001-08-14 21:46 robert * frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize_pvt.c, libmp3lame/util.h, libmp3lame/version.h: some good presets tuned by Dibrom after die hard listening tests --dm-preset {standard,xtreme,insane,metal} and a switch to modify the --ns-treble setting for sfb21 by --ns-sfb21 x 2001-08-08 10:52 aleidinger * configure: regen 2001-08-08 10:51 aleidinger * configure.in: - remove optimizations which get already switched on by -O2 or better - new experimental optimizations - bump version to 3.90 2001-08-08 10:50 aleidinger * configMS.h: bump version to 3.90 2001-08-07 20:41 afaber * libmp3lame/libmp3lame.dsp: Added NASM release build option 2001-08-02 18:42 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h, Example.cpp, MP3EncDll.dsp: Added NASM build option, added Very High Quality option 2001-08-01 21:45 robert * frontend/parse.c, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/quantize_pvt.c, libmp3lame/set_get.c, libmp3lame/version.h: BUG fix in "on_pe", was allocating often more than the absolute limit of 4095 bits per granule attention: testcases are most likely broken now! 2001-07-26 23:05 robert * libmp3lame/: lame.c, psymodel.c, vbrquantize.c, version.h: VBR mtrh related, bring --remix near to --r3mix bitrate wise 2001-07-25 20:19 robert * frontend/main.c: Michel SUCH, wildcard expansion for nogap using the OS/2 shell 2001-07-24 12:13 aleidinger * configure: regen 2001-07-24 12:12 aleidinger * configure.in: gcc 3.0 fix from Daniel T. Chen 2001-07-23 08:11 aleidinger * aclocal.m4, configure: update to automake 1.4-p5 2001-07-23 08:08 aleidinger * Makefile.in, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in, config.guess, config.sub: update to automake 1.4-p5 2001-07-23 08:05 aleidinger * Makefile.am.global: update to automake 1.4-p5 2001-07-22 19:24 robert * libmp3lame/: quantize.c, vbrquantize.c: small fixes 2001-07-22 06:37 jd- * libmp3lame/encoder.c: Pushed the maximum auto-level adjustment of the ATH from 20 dB to 32 dB 2001-07-20 23:56 robert * libmp3lame/quantize.c: small speed up for --vbr-old 2001-07-20 01:01 robert * libmp3lame/: lame.c, quantize.c, quantize_pvt.c, vbrquantize.c, version.h: 1) defaulted the old -Y code for --vbr-old 2) new behaviour of -Y: turns off sfb21 noise shaping (VBR) 3) some more tunings for --vbr-old 2001-07-19 11:36 aleidinger * configure: regen 2001-07-19 11:35 aleidinger * configure.in: - removed useless (because already handled by Cygwin) MS-DOS case - bug fixes for alpha*-dec-osf*, *sgi-irix* and sparc*-sunos4* - print a "please contact us" message for sparc*-sunos4* and *beos (theses parts of configure.in are perhaps not neccessary) 2001-07-18 20:16 robert * frontend/parse.c, libmp3lame/vbrquantize.c: vbr-mtrh related: encode sfb21, may bloat on heavy metal music 2001-07-18 20:14 robert * misc/abx.c: update by Frank 2001-07-16 19:35 robert * Dll/BladeMP3EncDLL.c, frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/util.h, libmp3lame/version.h: adding a new switch --allshort this one forces LAME to use short blocks on every granule useful for testing the short block masking abilities 2001-07-13 22:37 robert * libmp3lame/: psymodel.c, quantize.c, util.h, version.h: first try to fix the short block threshold calculation BUG this patch tries to resolve the shortcommings for the short block threshold calculation using VBR. Applying this patch for CBR/ABR would break the testcases. It should not affect the vanilla --nspsy... too, maybe later. 2001-07-07 19:54 bouvigne * libmp3lame/reservoir.c: maxmp3buf was beeing ignored 2001-07-05 21:25 robert * libmp3lame/quantize.c: fixing the assertion failures mentioned by Albert Faber 2001-07-05 15:56 markt * configure: regenerated configure 2001-07-05 15:55 markt * configure.in: updated gcc 2.96 check to use -O instead of -O1 2001-07-05 15:55 markt * configure: [no log message] 2001-07-05 15:54 markt * configure.in: gcc 2.96 check 2001-07-05 15:53 markt * libmp3lame/version.h: updated repository to 3.90alpha 2001-07-05 15:35 markt * doc/html/history.html: updateded history file from web page cvs repository 2001-07-05 15:32 markt * ChangeLog: update 2001-07-05 15:27 markt * libmp3lame/version.h: updated to 3.89beta 2001-07-02 21:45 robert * libmp3lame/quantize.c: bug fix for --nspsytune minimum bits allocated was too low, resulting in assertion failures 2001-07-02 21:08 robert * libmp3lame/lame.c: changing --vbr-new noise measuring back to its usual one 2001-07-01 20:36 markt * libmp3lame/psymodel.c: unbreak CBR testcases. 2001-07-01 20:04 markt * frontend/: get_audio.c, main.h, parse.c: patch from Nick Duffek for signed/unsigned and bitwidth options. 2001-07-01 16:48 robert * libmp3lame/lame.c: defaulting --vbr-mtrh to -q2 = -h 2001-07-01 13:11 robert * libmp3lame/lame.c: allow --vbr-{old,new} to select between different ATH autoadjust types too 2001-07-01 11:50 robert * libmp3lame/: lame.c, set_get.c: nspsytune related: now it is possible to turn the scalefac_feature off again giving --nspsytune -Z the change was necessary, because of the hard coded -Z 2001-07-01 05:24 jd- * libmp3lame/: encoder.c, lame.c, psymodel.c, util.h: Restructured ATH auto-leveling code to fix bug for "--adapt-thres-type 1"; relaxed tuning for "--adapt-thres-type 2" for compromise with "--athtype 3" (the previous bit rate is still available with "--adapt-thres-level -1.25") 2001-06-30 16:45 robert * Makefile.MSVC: fix for compiling mp3x on windows using Makefile.MSVC 2001-06-30 16:40 robert * frontend/parse.c: fix for compiling mp3x on windows using Makefile.MSVC 2001-06-30 00:26 robert * frontend/parse.c, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/util.h, libmp3lame/vbrquantize.c: 2 new modes for --vbr-mtrh available by different -q n selections: -q0 truely max noise -q1 almost max noise 2001-06-29 20:58 robert * libmp3lame/set_get.c: revive --nssafejoint --ns-{alto,treble,bass} lame_set_exp_nspsytune is *not an on/off switch* 2001-06-29 15:23 markt * configure, configure.in, libmp3lame/lame.c: patch for configure.in, replaced a bash specific loop, from Oswald Buddenhagen 2001-06-27 15:47 aleidinger * configure: regen 2001-06-27 15:46 aleidinger * configure.in: some hardware specific optimization options for gcc 2001-06-27 14:53 aleidinger * libmp3lame/i386/Makefile.in: regen 2001-06-27 14:53 aleidinger * libmp3lame/i386/Makefile.am: this is nasty, I want native nasm support in libtool, at least it works for me (sort of) 2001-06-27 14:11 aleidinger * libmp3lame/: Makefile.in, i386/Makefile.in: regen 2001-06-27 14:11 aleidinger * libmp3lame/: Makefile.am, i386/Makefile.am: go back to let libtool compile liblameasmroutines, the static case was broken, now the libtool v1.4 case may be broken 2001-06-26 11:38 aleidinger * configure: regen 2001-06-26 11:36 aleidinger * configure.in: make the use of nasm a configure option 2001-06-25 02:14 cisc * frontend/main.c: Include portableio.h for the WriteBytes() and WriteBytesSwapped() functions. 2001-06-24 21:01 robert * lame.bat: some comments updated 2001-06-24 16:47 robert * doc/html/contributors.html, libmp3lame/version.h: adding two more contributors 2001-06-24 15:58 robert * Makefile.MSVC: FLOAT8=float for IC 2001-06-24 15:57 robert * Makefile.B32: let it work again 2001-06-24 02:04 robert * libmp3lame/: quantize.c, quantize.h, quantize_pvt.h, takehiro.c, vbrquantize.c: BUG fix in inc_subblock gain, was amplifying at the wrong place this fix may break the testcases some unused parameters removed 2001-06-23 18:26 robert * Dll/MP3EncDll.dsp: patch for DLL Project file by Dmitry 2001-06-23 17:56 robert * frontend/lametime.c, frontend/parse.c, mpglib/common.c, Makefile.MSVC: some fixes needed by the Borland Compiler BCC, first attempt to support BCC with Makefile.MSVC, DLL not supported yet, MP1 MP2 reencoding does not work with BCCcd lame (why?) 2001-06-23 12:19 robert * libmp3lame/quantize_pvt.c: fix letting Borland C++ compiler getting thru' again, Makefile.B32 is *not uptodate* 2001-06-23 12:15 robert * frontend/get_audio.c: BUG fix for mp1 and mp2 input, fixes problem introduced in Revision 1.63 2001-06-22 08:55 aleidinger * ChangeLog: update changelog 2001-06-22 08:49 aleidinger * Makefile.am: regen 2001-06-22 08:48 aleidinger * Makefile.in: we have a test subdir in cvs, force the test target to be out of date at every invocation of make 2001-06-21 20:40 bouvigne * libmp3lame/reservoir.c: change of the max frame size 2001-06-19 04:46 markt * misc/: Lame.vbs, lameGUI.html: updates from "Ralf Kempkens" 2001-06-18 18:51 markt * TODO, frontend/get_audio.c, frontend/get_audio.h, frontend/main.c, frontend/main.h, frontend/parse.c, include/lame.h, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/set_get.c, mpglib/interface.c, mpglib/mpglib.h: added two new functions to return number of PCM samples buffererd but not encoded, and the number of bytes of mp3 data buffered but not output. also added some comments to mpglib/interface.c to make it easier to tell it to look for Xing headers in the middle of a bitstream. 2001-06-16 00:40 robert * Makefile.MSVC, Makefile.unix: CPU feature detection for fft routines 2001-06-16 00:39 robert * libmp3lame/: fft.c, util.h: CPU feature autodetection for fft routines 2001-06-15 22:23 markt * TODO, frontend/main.c, include/lame.h, libmp3lame/lame.c: Robert's fix to init histgram data with --nogap. lame_reinit_bitstream() renamed lame_init_bitstream(), and it is called by lame_init_params(). It can also be called after a call to lame_encode_flush_nogap(). 2001-06-15 21:25 markt * TODO, frontend/main.c, include/lame.h, libmp3lame/lame.c: some fixes for VBR tags with --nogap option. 2001-06-14 23:09 robert * frontend/parse.c: fixed stdin 2001-06-14 00:58 robert * libmp3lame/version.h: bumped version to alpha 7 2001-06-14 00:43 robert * libmp3lame/: lame.c, psymodel.c: added JD's loudness approximation to Naoki's duplicated psy routine as I defaulted JD's adapt stuff I was under the impression that he added his code to both ones, so... 2001-06-14 00:19 markt * frontend/main.c: fix for nogap truncation call. When processing the last of the .wav files, we need to call lame_encode_flush() instead of lame_encode_flush_nogap(). 2001-06-13 22:46 robert * frontend/parse.c: LFN support for Win32: realized that it would be a good idea to release the search file handle after searching the filename 2001-06-13 08:44 aleidinger * Makefile.DJGPP: nasm fix 2001-06-12 21:58 robert * frontend/parse.c: long file name support for Win32 systems works under Win95 using Intel compiler 4.5 / MSVC 4.2 not tested under NT, and not much tested anyway ;-) 2001-06-12 21:03 robert * Makefile.unix: seems to be forgotten by the last committ 2001-06-12 20:32 markt * libmp3lame/bitstream.c: old crc code removed from bitstream.c. I had added this in when looking for the xing/crc bug 2001-06-12 12:47 aleidinger * frontend/lametime.c: fix cygwin build, sort some includes 2001-06-12 12:45 aleidinger * libmp3lame/: Makefile.in, i386/Makefile.in: regen 2001-06-12 12:45 aleidinger * libmp3lame/: Makefile.am, i386/Makefile.am: do not use libtool for the asm lib, libtool did not know about nasm 2001-06-12 12:42 aleidinger * configure, frontend/Makefile.in: regen 2001-06-12 12:42 aleidinger * configure.in: - enable shared lib - disable asm routines - fix build of asm routines in the win32 case 2001-06-12 12:41 aleidinger * frontend/Makefile.am: statically link libmp3lame to the frondends 2001-06-12 05:27 markt * libmp3lame/lame.c: removed CRC error message 2001-06-12 05:27 markt * libmp3lame/VbrTag.c: fix for Xing/CRC problem. Xing toc data must start directly after sideinfo data, assuming no CRC. If CRC is set, then the Xing toc data must *still* start in the same location (since original Xing demo code does not check for CRC and modify the toc offset). 2001-06-12 04:51 markt * libmp3lame/: bitstream.c, lame.c: put old CRC routine back in (but disabled) 2001-06-12 03:35 markt * Dll/BladeMP3EncDLL.c: added some comments about the DLL's non-standard use of libmp3lame.a 2001-06-12 03:31 markt * libmp3lame/Makefile.am: Robert created lame_global_flags.h, so I'm adding it to Makefile.am, in the "noinst" section. 2001-06-12 00:48 robert * Dll/BladeMP3EncDLL.c, libmp3lame/lame_global_flags.h, libmp3lame/quantize.c, libmp3lame/util.h: - fixed Makefile.unix to let mp3rtp compile again (does it still work?) - had to move lame_global_flags structure into a file of its own, because the Dll compiled but did not link anymore. Now it works again, tested on Win95 using Makefile.MSVC 2001-06-11 23:42 markt * Dll/BladeMP3EncDLL.c, include/lame.h, libmp3lame/set_get.c, libmp3lame/util.h: committed Robert's patch. lame_global_flags is gone :-) 2001-06-11 22:07 robert * frontend/main.c: some more new API things 2001-06-11 18:49 markt * frontend/: gtkanal.c, parse.c: converted rest of frontend code over to "new api" 2001-06-11 16:35 markt * frontend/get_audio.c, frontend/get_audio.h, frontend/gtkanal.c, libmp3lame/mpglib_interface.c, mpglib/interface.c: Tracked down a bug in lame_decoder. It was not correctly flushing the internal mpglib buffers when it hit EOF. Problem was most severe with low bitrate example. It the frame size was 32 bytes, only the first 1/3 of the file would be decoded and the reamining 2/3 of the entire file would be buffered inside mpglib. 2001-06-10 20:35 robert * Dll/BladeMP3EncDLL.c, include/lame.h: making the old VBR default in preparation for the next release 2001-06-10 19:19 markt * API, USAGE, misc/Lame.vbs, misc/lameGUI.html: added new version of Lame.vbs from "Ralf Kempkens" including a GUI/HTML interface. 2001-06-08 21:40 markt * frontend/: get_audio.c, gtkanal.c, main.c, main.h: updated some comments related to restructering main.c for the --nogap option 2001-06-08 21:29 markt * API, TODO, frontend/get_audio.c, frontend/gtkanal.c, frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c, frontend/parse.h, frontend/timestatus.c, include/lame.h, libmp3lame/lame.c, libmp3lame/set_get.c: preliminary --nogap option added. --nogap file1 file2 file3 and it produces file1.mp3 file2.mp3 file3.mp3 problems: no id3tags, no vbr tags. 2001-06-08 18:59 markt * test/lametest.py: fix so lametest.py doesn't crash if lame does not create an output file. 2001-06-08 00:00 markt * frontend/main.c, libmp3lame/bitstream.c: fixed bug with lame_encode_flush_nogap routine 2001-06-07 22:12 robert * DEFINES, TODO: [no log message] 2001-06-07 22:06 robert * frontend/parse.c, libmp3lame/encoder.c: --ath-adjust 1 (Gaby's original code) was disabled, any reasons for that JD? 2001-06-07 19:14 markt * HACKING, frontend/get_audio.c, frontend/gtkanal.c, frontend/parse.c, frontend/timestatus.c, libmp3lame/lame.c: started updating frontend code to use the new API. 2001-06-07 14:02 aleidinger * libmp3lame/fft.c: unbreak (at least it compiles), more work needed 2001-06-07 10:11 jd- * libmp3lame/encoder.c: Allow ATH auto-adjust code to begin at the minimum value on the leading frame 2001-06-07 08:40 jd- * libmp3lame/encoder.c: Restored some ATH auto-adjust indentation and comments (altered since 3.88 in a code clean up) 2001-06-07 06:06 pgubanov * libmp3lame/fft.c: Choose asm-optimized FHT version if ARCH_X86 defined in fft.c 2001-06-05 22:13 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h: Added R3Mix quality setting 2001-06-05 19:19 aleidinger * doc/html/history.html: sync my entry with the one at the webpages 2001-06-05 00:39 markt * INSTALL, TODO: added note about mpglib i-stereo bug in TODO list. fixed typo in INSTALL file 2001-06-04 23:57 markt * TODO, libmp3lame/reservoir.c: documented some variables in reservoir.c. Current status is: maxframesize = no restrictions if strict_ISO is defined, we use Gaby's less restrictive interpretation of the standard. see TODO version 1.30 for a user who has a hardware player which cannot handle 320kbps frames if the bit reservoir is used. I guess the final verdict is tough luck :-) 2001-06-04 23:29 markt * API, HACKING, frontend/parse.c, libmp3lame/lame.c: print error message and fail if user selects error_protection (since this is currently broken) added some comments to HACKING on how to add a new option. updated API to reflect that all lame_set/get functions are now working. 2001-06-04 23:10 markt * include/lame.h, libmp3lame/lame.c: updated comments about lame_encode_flush_nogap() 2001-06-04 23:08 markt * include/lame.h, libmp3lame/bitstream.c, libmp3lame/lame.c: added lame_encode_flush_nogap(). This routine will flush all internal mp3 buffers, and pad the last frame with ancillary data so it is a complete mp3 frame. It will then set ResvSize to 0, so we can continue encoding. after a call to lame_encode_flush_nogap(), if we close the mp3 file and open a new one for the future data, then the two mp3 files should play back 'gapless' if they are first concatenated together. 2001-06-04 19:59 robert * frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/version.h: tweaks to VBR 2001-06-04 10:02 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h: Extended interface with VBR method selection 2001-06-04 10:01 afaber * mpglib/layer3.c: Removed exit call(s) in error conditions, since these errors seems to be good recoverable 2001-06-04 01:54 robert * libmp3lame/: lame.c, psymodel.c, quantize.c, util.h: small tweaks to the VBR codes 2001-06-02 20:22 robert * libmp3lame/: lame.c, quantize.c, util.h, version.h: started different bit-pressure strategies (VBR) 2001-06-02 15:26 aleidinger * configure: regen 2001-06-02 15:25 aleidinger * configure.in: force cygwin users to use "CC=gcc ./configure" 2001-06-01 19:40 glessard * frontend/get_audio.c: Added support for non-compressed AIFF-C files in parse_aiff_header(). 2001-05-30 01:38 markt * configure, configure.in: removed -pedantic gcc option. From the gcc man page: "There is no reason to use this option; it exists only to satisfy pedants". And there is a reason not to use it: It causes people to send me email asking if all the warning messages about c++ comments are ok. 2001-05-29 22:14 robert * frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/set_get.c: quick fix for a typo that turned off auto adjust code by accident, sorry 2001-05-27 18:58 robert * frontend/parse.c, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/version.h: made JD's ATH adapt stuff default for --vbr-mtrh some typings changed bitpressure strategy for VBR a bit 2001-05-26 21:31 jd- * libmp3lame/util.c: use more digestible code in ATHformula_jd for a pre-release compiler bundled with a popular Linux distribution 2001-05-26 16:17 robert * libmp3lame/lame.c: let the user select -qx for --vbr-mtrh, just to avoid useless e-mails 2001-05-24 22:25 robert * libmp3lame/: lame.c, quantize_pvt.c: just 5 minutes to add some more on the --verbose printing side 2001-05-21 18:55 bouvigne * doc/html/history.html: history 2001-05-21 18:19 bouvigne * libmp3lame/lame.c: update of the default lowpass value. Will probably break some testcases 2001-05-20 20:45 robert * libmp3lame/: encoder.c, lame.c, util.h: some more --verbose output 2001-05-19 16:16 robert * libmp3lame/psymodel.c: typo fixed 2001-05-19 16:13 robert * frontend/get_audio.c, frontend/main.c, frontend/parse.c, frontend/timestatus.c, include/lame.h, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/util.h: starting a very verbose print function about all internal settings, aiming more transparency for the experienced users 2001-05-15 01:24 robert * libmp3lame/: psymodel.c, quantize_pvt.c, vbrquantize.c: some tunings still problems with fatboy.wav and ns.wav 2001-05-13 20:59 bouvigne * libmp3lame/util.c: comments in the ath functions 2001-05-13 11:33 robert * libmp3lame/: lame.c, psymodel.c, util.c, util.h: fixing tonality problem for --vbr-mtrh 2001-05-11 23:33 robert * libmp3lame/quantize_pvt.c: trying to point out the real difference in l3xmin calculation with nspsytune and without it 2001-05-11 22:14 robert * libmp3lame/lame.c: nspsytune & newer vbr 2001-05-11 01:30 robert * frontend/get_audio.c, frontend/main.h, include/lame.h, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/version.h, test/VBR.op: compile fixes for Intel Compiler, dropped sfb21 early stopping for vbr-old (found differences) 2001-05-10 19:01 aleidinger * include/lame.h, libmp3lame/set_get.c: - Make the last few set/get functions functional. (TODO: use them in the frontend). - Converted padding_type to an enum. - Correct some typos. - Adjust some lines to conform to the style of the majority of the file. TODO: - Search for XXX and do appropriate actions. - Search for typos (because of alot of cut&paste programming). 2001-05-08 15:00 bouvigne * frontend/parse.c, libmp3lame/util.c: update of --r3mix 2001-05-06 15:11 robert * libmp3lame/: lame.c, quantize.c, vbrquantize.c: some desperate values for the fast mtrh VBR mode 2001-05-04 01:07 jd- * libmp3lame/: tools.h, util.c: Added "--athtype 5" to better represent higher frequencies (14 - 19 kHz). Included supporting functions for quadratic interpolation. 2001-05-03 20:13 robert * libmp3lame/: lame.c, quantize.c, util.c, util.h, vbrquantize.c: some VBR-codeclean-up 2001-05-02 21:02 robert * misc/lame4dos.bat: patch by Alexander Stumpf: - now works both with drag & drop (SFN) and from the 4DOS-Commandline (LFN) - Using wildcards when prozessing from mp3 to mp3 caused a loop - fixed - removed the mp3-extention test since LAME recognizes the input file fomat correctly for several versions now (i.e. no --mp3input neccessary anymore) 2001-05-01 22:55 robert * libmp3lame/version.h: bumped version number 2001-05-01 22:18 robert * libmp3lame/: quantize.c, vbrquantize.c: new -q2 mode for --vbr-mtrh 2001-05-01 20:37 bouvigne * libmp3lame/reservoir.c: change of max frame size 2001-04-28 15:37 robert * libmp3lame/: encoder.c, quantize_pvt.c, util.c, vbrquantize.c: --vbr-mtrh uses now -Y by default, some tweaks 2001-04-27 23:19 robert * libmp3lame/: psymodel.c, quantize_pvt.c, util.c, util.h: --experimentalY selects a different ATH adjustment - keeps original noise floor - affects high freqs more than low ones 2001-04-26 23:06 cisc * config.guess, config.sub: Added MorphOS recognition to configure script. 2001-04-26 04:38 markt * README.B32, TODO: removed mmx notes from README.B32 2001-04-25 16:21 aleidinger * configure, libmp3lame/i386/Makefile.in: regen 2001-04-25 16:20 aleidinger * configure.in: bugfix for gcc version detection 2001-04-25 16:19 aleidinger * libmp3lame/i386/Makefile.am: bugfix for non x86 architectures with installed nasm, tested by Karl Pauls on Darwin 2001-04-25 06:59 markt * TODO, frontend/get_audio.c, frontend/main.h, frontend/parse.c, include/lame.h, libmp3lame/set_get.c: removed 'disable_wave_header' variable from encoding library. It is in the frontend code only. 2001-04-24 01:38 markt * TODO, frontend/get_audio.c: added something to the TODO list. changed: "buffer[1]+i" code to "&buffer[1][i]" in get_audio.c. buffer[1]+i is clever, but it confused the maintainer of EAC enough to cause him to submit it as a bug report. 2001-04-23 19:47 bouvigne * libmp3lame/: lame.c, util.c: [no log message] 2001-04-22 22:57 bouvigne * libmp3lame/util.c: update of the ath functions 2001-04-22 01:34 jd- * frontend/get_audio.c: Fixed trailing data bug introduced with the 24 bit input code 2001-04-21 22:23 jd- * frontend/get_audio.c, frontend/get_audio.h, frontend/gtkanal.c, frontend/main.c, frontend/mp3rtp.c, include/lame.h, libmp3lame/lame.c: Add 24-bit PCM waveform input capability (with or without libsndfile), and glue code to preserve the functionality of routines that only handle up to 16-bit data. The changes support both little and big endian architectures. 2001-04-17 20:04 afaber * libmp3lame/libmp3lame.dsp, Dll/BladeMP3EncDLL.c, mpglib/mpglib.dsp, frontend/lame.dsp: Added MMX compile option 2001-04-17 19:22 bouvigne * libmp3lame/util.c: auto adjusting ath shape for vbr on ath type 4 2001-04-16 21:26 bouvigne * libmp3lame/: encoder.c, lame.c, psymodel.c: wrapped a few things inside of ifdef HAVE_GTK 2001-04-16 11:50 takehiro * libmp3lame/: psymodel.c, util.h: spread function is now packed into linear array. it reduces memory assumption and improves cache efficienty. 2001-04-16 08:27 takehiro * include/lame.h, libmp3lame/VbrTag.c: now try to calculate the CRC of VBR header. 2001-04-16 07:58 takehiro * libmp3lame/: bitstream.c, bitstream.h: cleaned and improved CRC calculation method 2001-04-13 15:13 aleidinger * libmp3lame/set_get.c: add some comments about converting int->enum 2001-04-13 15:12 aleidinger * frontend/parse.c: use some of Marks set-functions, also without error checking (yet) 2001-04-12 17:40 bouvigne * libmp3lame/: encoder.c, lame.c: [no log message] 2001-04-08 07:52 takehiro * libmp3lame/: machine.h, quantize_pvt.c: portability enchancement(from sourceforge's LAME open discussion forum). quantize_pvt.c: changed 1e99 into FLOAT8_MAX machine.h: defined FLOAT8_MAX 2001-04-04 21:58 bouvigne * libmp3lame/lame.c: update of the lowpass values for vbr rh 2001-04-04 18:11 bouvigne * libmp3lame/psymodel.c: update of -d for joint stereo 2001-04-01 03:22 jd- * frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/set_get.c, libmp3lame/util.h: added an --adapt-thres-level option to allow adding an offset (in dB) to the point below which adaptive ATH level adjustment occurs 2001-04-01 02:11 jd- * include/lame.h: added set/get functions to include/lame.h for option --adapt-thres-type 2001-03-31 23:44 jd- * frontend/parse.c, libmp3lame/set_get.c: added set/get functions to libmp3lame/set_get.c for option --adapt-thres-type, and used the set function in frontend 2001-03-30 18:43 markt * testcase.mp3, frontend/get_audio.c, test/lametest.py: updated testcase.mp3 removed some unused code from get_audio.c 2001-03-30 17:16 markt * test/lametest.py: delete output mp3 file before running lame. (before, if lame crashes and does not write any output, the script would use the old output mp3 file, and if it hadn't changed, all tests would pass.) 2001-03-29 18:31 cisc * libmp3lame/: version.c, version.h: Moved inclusion of lame.h to version.h for lame_version_t in prototype. 2001-03-27 12:26 jd- * libmp3lame/psymodel.c: added --adapt-thres-type 2 (auto-level adjustment of the ATH, with a frequency-based loudness approximation). 2001-03-27 12:04 jd- * frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/util.h: added option, --adapt-thres-type 2 (auto-level adjustment of the ATH with a frequency-based loudness approximation). 2001-03-27 10:56 aleidinger * configure: regen (do not enable vorbis by default) 2001-03-27 10:56 aleidinger * configure.in: do not enable vorbis by default 2001-03-26 23:02 markt * libmp3lame/set_get.c: added code to more of the lame_set/lame_get functions- but without any error checking :-( Only 47 more to go! 2001-03-26 20:46 markt * TODO, libmp3lame/util.c: dont scale the input if scale=1.0. 2001-03-26 18:38 markt * TODO: updated TODO list with some filtering stuff 2001-03-26 17:42 markt * libmp3lame/encoder.c: another MPEG2 bug found by: "Jiri Hajek" This code: > int sum_pe_MS = pe_MS[0][0] + pe_MS[0][1] + pe_MS[1][0] + pe_MS[1][1]; > int sum_pe_LR = pe [0][0] + pe [0][1] + pe [1][0] + pe [1][1]; does not work for MPEG2. now fixed. 2001-03-26 16:05 aleidinger * configure: regen (version bump) 2001-03-26 16:04 aleidinger * configure.in: Welcome to 3.89 2001-03-26 00:38 markt * frontend/brhist.c: bug in brhist_disp_total() for --freeformat bmode, br_frames = 0 (why?) so sum / br_frames would segfault. if br_frames == 0 , routine now just returns without printing anything. 2001-03-26 00:12 markt * TODO: minor editing of TODO file 2001-03-25 23:18 markt * libmp3lame/version.h: updated version to 3.89 alpha 1 2001-03-25 23:16 markt * libmp3lame/version.h: updated version to 3.88beta 2001-03-25 23:14 markt * API, README, TODO, libmp3lame/lame.c, libmp3lame/libmp3lame.dsp: made ath type 2 the default. updated test cases added set_get.c to libmp3lame.dsp 2001-03-25 21:37 shibatch * libmp3lame/psymodel.c: Fixed nspsytune. 2001-03-25 18:43 afaber * Dll/BladeMP3EncDLL.def, Dll/MP3EncDll.dsp, libmp3lame/bitstream.h, libmp3lame/encoder.h, libmp3lame/psymodel.c, libmp3lame/tables.h: Removed the last remainings of KLEMM_43 in order to complet the Windows DLL compilation 2001-03-20 00:42 markt * libmp3lame/util.c: added a few more minor comments to resampling code 2001-03-20 00:28 markt * libmp3lame/util.c: removed some cruft from blackman() filtering routine 2001-03-19 21:26 markt * frontend/get_audio.c, libmp3lame/util.c, test/lametest.py: Tested fixed resampling code. It seemed to work. Added a few comments. Also added documentation for "-w" for the usage function in lametest.py 2001-03-18 14:31 aleidinger * libmp3lame/vorbis_interface.c: use the new MSGF API in Vorbis 2001-03-18 14:25 aleidinger * libmp3lame/vorbis_interface.c, frontend/get_audio.c: use the new ERRORF API in Vorbis encoding (+fixes for needed API change to lame_decode_ogg_{initfile,fromfile}()) 2001-03-15 19:40 markt * libmp3lame/util.c: Put in fix for resampling bug in fill_buffer_resample. Code assumed it would be fed at least BLACKSIZE samples. For each input buffer, the code would save the last BLACKSIZE samples for use for the next call to fill_buffer_resample. If the code recieves less than blacksize samples, it will now shift in just as many new samples as are available into the save buffer. Not tested :-( 2001-03-14 14:38 aleidinger * Dll/BladeMP3EncDLL.c, dshow/Encoder.cpp, dshow/Mpegac.cpp, dshow/PropPage_adv.cpp: regexp: MPG_MD_(.*) -> $1 2001-03-14 14:38 aleidinger * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix: add set_get.c to the build 2001-03-14 10:57 aleidinger * Makefile.in: regen 2001-03-14 10:56 aleidinger * Makefile.am: do not forget Makfile.am.global at "make dist" 2001-03-14 10:49 aleidinger * ChangeLog: update 2001-03-14 10:40 aleidinger * doc/html/Makefile.in, doc/man/Makefile.in, libmp3lame/i386/Makefile.in: regen with automake 1.4d instead of 1.4 2001-03-13 06:15 markt * libmp3lame/util.c: added assert() to resampling code 2001-03-12 20:58 markt * libmp3lame/psymodel.c: a few more comments added to psymodel.c 2001-03-12 20:40 markt * libmp3lame/: psymodel.c, tables.c: removed ISO TABLE reading code from psymodel.c, and ISO psy data from tables.c 2001-03-12 20:31 markt * libmp3lame/psymodel.c: removed shortlived MINTHMM experiment 2001-03-12 18:52 markt * USAGE, configure: updated USAGE. ran configuer with --enable-maintainer-mode which seems to have touched all this .in files, sorry about that... 2001-03-12 07:26 markt * API, libmp3lame/vbrquantize.c: a few updates to API 2001-03-12 04:38 markt * frontend/get_audio.c, include/lame.h, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/lame.c, libmp3lame/set_get.c: fixed a few compiler warnings and the assert in lame_get_mode(). added NOT_SET value to MPEG_mode_e 2001-03-11 11:25 aleidinger * DEFINES: - remove outdated entries - add OLD_ATH_AUTO_ADJUST 2001-03-11 11:24 aleidinger * Makefile.in: - regen from Makefile.am (testupdate target) 2001-03-11 11:24 aleidinger * frontend/: depcomp, get_audio.c, gtkanal.c, main.c, mp3x.c, parse.c, timestatus.c: *.c: - use set/get functions *** lame_set_quality(): should it check for <0 and >9 itself? (parse.c) depcomp: - update (autotools) 2001-03-11 11:23 aleidinger * libmp3lame/: depcomp, encoder.c, lame.c, psymodel.c, util.c, util.h: libmp3lame/encoder.c: - MPEG_mode (JOINT_STEREO) change (related to set/get functions change) - J.D.s improvements to Gabriels ath auto adjust code (VBR) - move ath auto adjust code into seperate function libmp3lame/lame.c: - errorf/msgf/debugf changes - MPEG_mode (JOINT_STEREO/...) change (related to set/get functions change) - remove prototypes of set/get functions libmp3lame/psymodel.c: - MPEG_mode (JOINT_STEREO/...) change (related to set/get functions change) libmp3lame/util.[ch]: - new errorf/msgf/debugf implementation libmp3lame/depcomp: - update (autotools) 2001-03-11 11:22 aleidinger * include/lame.h: - set/get functions related cleanup - errorf/msgf/debugf 2001-03-11 11:21 aleidinger * libmp3lame/Makefile.in: regen 2001-03-11 11:21 aleidinger * libmp3lame/Makefile.am: - add set_get.c 2001-03-11 11:20 aleidinger * libmp3lame/set_get.c: - set and get functions for the gfp 2001-03-10 19:15 markt * libmp3lame/encoder.c: a little more tuning of tot_energy for ATH adjust 2001-03-10 19:06 markt * libmp3lame/encoder.c: modified ATH adjustment code to use tot_ener returned by psy model and not the maximum of the PCM sample values. We need to replace this with JD's formula. We need to decide if this is really worth while. My preference is to take the most conservative ATH possible, but this seems to produce too high bitrates for VBR modes. (this may no longer be true not that masings are computed in all scalefactor bands) 2001-03-10 18:33 markt * frontend/get_audio.c: added 127 also, on recommendation of JD, to 8bit -> 16bit conversion routine 2001-03-10 18:29 markt * frontend/get_audio.c: fix from "J.D." for 8 bit input support. 2001-03-09 17:56 markt * test/lametest.py: 'os.pathsep' changed to 'os.sep' For example, on unix: os.pathsep = ":" - the character that seperaters search paths in the PATH environment variable os.sep = "/" - the charcter that seperates directories 2001-03-07 12:32 aleidinger * test/lametest.py: - use OS independent path seperator 2001-03-07 12:31 aleidinger * DEFINES: - NOTABELS is now the default 2001-03-05 20:29 markt * libmp3lame/: lame.c, psymodel.c, quantize_pvt.c: code (disabled) to use minimum value when going from partition bands to scalefactor bands (instead of average value) 2001-03-05 18:21 markt * testcase.mp3, libmp3lame/psymodel.c, libmp3lame/quantize_pvt.c: Noise calculation: had to switch calculation of tot_noise and over_noise back to being done in db units. Multiply (to save the 22 log10() function calls) was overflowing. updated testcases to reflect changes 2001-03-05 01:44 markt * testcase.mp3: updated testcase.mp3 for NOTABLES code 2001-03-05 01:26 markt * libmp3lame/psymodel.c: NOTABLES enabled by default. Psycho acoustics computed in *all* scalefactor bands. cvs tag before this change: before_notables cvs tag after this change: notables 2001-03-05 01:25 markt * libmp3lame/psymodel.c: The last commit before NOTABLES becomes the default. tagged with "before.notables" 2001-03-04 20:03 markt * libmp3lame/: encoder.c, psymodel.c, psymodel.h, util.h: More prep work for enabling NOTABLES. Will now compute masking for all scalefactor bands 2001-03-04 15:30 markt * testcase.mp3, libmp3lame/psymodel.c, libmp3lame/util.c: Finished proper normalization of spreading function. updated testcases 2001-03-04 06:56 markt * libmp3lame/psymodel.c: more tweaking of s3 normalization 2001-03-04 06:48 markt * libmp3lame/psymodel.c: spreading function moved into seperate routine, s3_func(). s3 normalized so that: +inf / | s3 [ bark ] d(bark) = 1 / -inf which resulted in dividing the result by 0.66. This is the first step in fixing the long outstanding bug mentioned by Takehiro: s3[i][j] is normalized improperly for values of i near the partition band boundaries. For these values, the computed 'norm' is much too small since a lot of the data is missing, resulting in artificially increasing the spreading function (and thus the masking) --nspsytune: s3_l function is used with a normalization of .5 (instead of computing the norm). So I changed this to a .5*.66 to compensate for the above change. Next step: 1. s3[i][j] will be multiplied by the width (in barks) of the j'th partition band (about .35). Once this is done, we will not need to compute and divide by 'norm' later. 2. Make NOTABLES the default 3. compute psymodel all the way up to 22khz. 2001-03-04 05:51 markt * API, libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h: added prototypes to lame.c (but functions not yet written) 2001-03-04 05:13 markt * include/lame.h: finished last of the prototypes 2001-03-04 05:02 markt * frontend/get_audio.c: changed to: gfp->num_samples = data_length / (channels * ((bits_per_sample+7) / 8)); thanks J.D.! 2001-03-04 00:20 markt * include/lame.h, libmp3lame/lame.c: added: lame_encode_buffer_sample_t, which is called by the following functions in the API: lame_encode_buffer (original, short int interface) lame_encode_buffer_float lame_encode_buffer_long 2001-03-02 22:39 markt * frontend/get_audio.c, test/lametest.py: get_audio.c: fixed num_samples computation for case when bits_per_sample < 8. (althouth this case is already trapped for earlier) lametest.py: slight change to reference mp3 filename generation so lametest.py can be run from another directory. 2001-03-02 18:28 markt * Makefile.am, testcase.mp3, doc/html/Makefile.in, doc/man/Makefile.in, frontend/get_audio.c, libmp3lame/i386/Makefile.in: error message about non-PCM wave files from "J.D." Added "make testupdate" to Makefile.am, which updates the test file in the CVS repository 2001-02-27 11:54 robert * include/lame.h, libmp3lame/lame.c: lame.h typo lame.c fix for possibility of calling lame_init_parms twice 2001-02-27 11:39 aleidinger * DEFINES: remove KLEMM_42 2001-02-27 11:38 aleidinger * configure, Makefile.in, frontend/Makefile.in, misc/Makefile.in: regen 2001-02-27 11:37 aleidinger * frontend/Makefile.am, misc/Makefile.am: remove EXTRA_PROGRAMS on make clean 2001-02-27 11:36 aleidinger * Makefile.am: remove testcase.new.mp3 on error 2001-02-27 11:36 aleidinger * configure.in: display version of gcc 2001-02-27 11:35 aleidinger * include/lame.h: fix typo in comment 2001-02-27 11:33 aleidinger * libmp3lame/util.c: include machine/floatingpoint.h on FreeBSD 2001-02-27 09:59 robert * libmp3lame/: VbrTag.c, bitstream.c, lame.c, quantize_pvt.h, takehiro.c, util.c, util.h: VbrTag.c fixed gfp/gfc typo lame.c made data flow analysis happier: there was a possible path to use channels before definition. Even though it would be an error following this path, but the compiler doesn't know it util.hc message functions are not intended to change gfc?!? takehiro.c fixed a warning bitstream.c fixed a warning 2001-02-27 06:14 markt * frontend/gtkanal.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.h, libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c: Implmented Frank's excellent idea about error messages: gfc->errorf, gfc->msgf and gfc->debugf are all FILE *. default is stderr. If you want to disable all internal library messages, set these to NULL with lame_set_errorf(), lame_set_msgf() etc... For a GUI, you can set these to regular files, and then read the files and display the messages in an pop up window. Maybe the default should be NULL? 2001-02-27 05:17 markt * include/lame.h: plugging away at a few more prototypes 2001-02-26 22:45 robert * frontend/parse.c, libmp3lame/util.c: little change to Roel's --r3mix setting, on request by Roel 2001-02-26 19:08 markt * libmp3lame/VbrTag.c: non RH_SEEKTABLE code removed from VbrTag.c 2001-02-26 18:57 markt * frontend/lametime.c: removed to //include lines 2001-02-26 18:52 markt * frontend/: get_audio.c, lametime.c: incomprehensible gobbledygook replaced by call to standard 'stat' function for file size. 2001-02-26 08:06 markt * include/lame.h: more prototypes added to lame.h 2001-02-26 07:38 markt * USAGE, frontend/parse.c, libmp3lame/lame.c: useTemporal turned on by default --notemp option added. 2001-02-26 07:26 markt * include/lame.h: added more of the lame_get/lame_set prototypes to lame.h also added this: // I give up. Klemm has worn me down on this one... typedef lame_global_flags lame_t; 2001-02-26 06:34 markt * misc/Lame.vbs: lame.vbs changes submitted by "Paul Reedy" 2001-02-25 22:47 markt * libmp3lame/vorbis_interface.c: removed a klemm_42 from vorbis_interface.c 2001-02-25 22:47 markt * INSTALL, libmp3lame/lame.c, libmp3lame/vorbis_interface.c: klemm_42 enabled by default. This code uses a different formula to choose the lowpass filter. It takes into account stereo vs. jstereo (jstereo gets 25% more bandwidth). This has the effect of stereo 128kbps using a 14khz lowpass filter, which some people may not like. 2001-02-25 22:02 markt * libmp3lame/lame.c, test/CBRABR.op: made allow_diff_short the default if mode=stereo and allow_diff_short has not been set to 0 or 1 by the calling program. addes these notes to lame_init_params() : * * We first have some complex code to determine bitrate, * output samplerate and mode. It is complicated by the fact * that we allow the user to set some or all of these parameters, * and need to determine best possible values for the rest of them: * * set some CPU related flags * check if we are mono->mono, stereo->mono or stereo->stereo * compute bitrate and output samplerate: * user may have set compression ratio * user may have set a bitrate * user may have set a output samplerate * set some options which depend on output samplerate * compute the actual compression ratio * set mode based on compression ratio * * The remaining code is much simpler - it just sets options * based on the mode & compression ratio: * * set allow_diff_short based on mode * select lowpass filter based on compression ratio & mode * set the bitrate index, and min/max bitrates for VBR modes * disable VBR tag if it is not appropriate * initialize the bitstream * initialize scalefac_band data * set sideinfo_len (based on channels, CRC, out_samplerate) * write an id3v2 tag into the bitstream * write VBR tag into the bitstream * set mpeg1/2 flag * estimate the number of frames (based on a lot of data) * * now we set more flags: * nspsytune: * see code * VBR modes * see code * CBR/ABR * see code 2001-02-25 21:28 markt * frontend/parse.c: removed VBR warning 2001-02-25 20:24 markt * libmp3lame/psymodel.c: edited a few comments in psymodel.c 2001-02-25 20:17 markt * libmp3lame/encoder.c, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/util.h, test/nores.op: Started some re-originization of psymodel.c created: psymodel_init() function, called by both psymodel and psymodel_ns. I was carefull to make sure no binary changes were introduced with --nspsytune. Modified both psymodel and psymodel_ns to return the energy in each channel. I'm going to request that the ATH level adjust be based on the energy comptuted by the psymodel, rather than computing a magnitude in encoder.c 2001-02-25 17:37 markt * Dll/BladeMP3EncDLL.c, frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h: removed mode_fixed variable. If calling program selects a mode (mono, stereo, jstereo) then that mode is used, otherwise lame picks best mode to use. 2001-02-25 01:58 markt * include/lame.h: started adding more prototypes into lame.h: int lame_set_variable_name(lame_global_flags *, int) int lame_get_variable_name(lame_global_flags *) _get will return the value (instead of an error code) as suggested. _set will return an error code. But right now, the way lame works there is no error checking until lame_init_params() is called. This is because, for example, bitrate=135 is not an error if free_format=1, but it is an error for CBR. So many errors cannot be detected until all options are set. 2001-02-24 19:35 markt * include/lame.h, libmp3lame/util.h: commented out a uint_64_t field in util.h to get lame to compile. Do we really need these types of variables? removed some stuff from lame.h. Note that many decisions have already been made about the library interface, so if you are planning on changing this, you need to check with me (mark taylor) first. In particular, there is going to be no file I/O, and all data is in machine order. (no endian stuff in the library). 2001-02-24 13:55 robert * Makefile.unix, configMS.h: get Makefile.unix working again (tested for Linux, not for OS/2 etc.) 2001-02-21 21:17 robert * libmp3lame/lame.c: --vbr-mtrh related 2001-02-21 17:07 robert * libmp3lame/vbrquantize.c: take sfb21 into consideration for median search 2001-02-21 17:06 robert * libmp3lame/util.c: index transformation in select_kth_int() 2001-02-21 14:59 aleidinger * test/lametest.py: do not print the passed/failed statistic in the makeref case 2001-02-21 13:49 robert * frontend/parse.c, libmp3lame/lame.c: default quality handling fix 2001-02-21 12:39 aleidinger * Dll/BladeMP3EncDLL.c: lame.h has to be included before version.h 2001-02-20 18:34 aleidinger * Makefile.in, config.h.in, configure, configure.in, frontend/brhist.c: - Patch (#103821) from guy_hutchison: Fixes compilation problem on systems with ncurses dir - add ChangeLog to Makefile.in 2001-02-20 18:23 aleidinger * libmp3lame/: encoder.h, version.h: [no log message] 2001-02-20 18:20 aleidinger * doc/html/: Makefile.am, Makefile.in: - add basic.html 2001-02-20 18:20 aleidinger * configMS.h: - add LAME_LIBRARY_BUILD 2001-02-20 18:20 aleidinger * libmp3lame/util.h: - more documentation, seems to be partially truncated (Frank) - CPU_features is now a struct 2001-02-20 18:19 aleidinger * libmp3lame/takehiro.c: - CPU_features is now a struct 2001-02-20 18:19 aleidinger * libmp3lame/lame.c: - CPU_features is now a struct, no need to waste space for those bolean values (Frank) - introduce some KLEMM_44 protected code 2001-02-20 18:18 aleidinger * libmp3lame/util.c: - fixes + docu for ATHformula_Frank() (Frank) - don't compile old resampling in KLEMM_44 case 2001-02-20 18:17 aleidinger * libmp3lame/version.c: - doxygen parseable documentation - better lclint flags - enable get_lame_version_numerical() 2001-02-20 18:17 aleidinger * include/lame.h: - delete prototype of already removed get_lame_about() - add get_lame_version_numerical() and lame_version_t (now dshow didn't needs to include version.h to get the numerical version of lame (dshow not changed, I let pgubanov do this)) - introduce some KLEMM_44 protected code (Frank) - rework formatting and documentation to be more (IMO much more) readable (no lines longer than 80 chars, consistent formatting, looks alot cleaner) 2001-02-20 10:41 aleidinger * DEFINES: Remove KLEMM_04, there was a previous commit which handled it, see ChangeLog. 2001-02-20 01:56 markt * DEFINES, frontend/brhist.c, frontend/get_audio.c, frontend/timestatus.c: KLEMM 5,6,7 made the default & removed 2001-02-20 00:40 markt * libmp3lame/lame.c: simplified lame_encoder_buffer_interleaved: it now always calls lame_encoder_buffer() 2001-02-20 00:30 markt * libmp3lame/: encoder.c, lame.c, util.c, util.h: fix for --scale problem? made a new routine: fill_buffer() This is the generic routine used to copy data from the input buffer into lame's internal buffer, 'mfbuf[]'. It also calls the resample code if necessary, and the user selected rescaling code if necessary. 2001-02-20 00:26 markt * frontend/parse.c: added comment to vbr warning message 2001-02-20 00:24 markt * frontend/parse.c: re-added the warning about VBR modes. It seems to have been deleted at some point. This is because this website: http://www.kuro5hin.org/?op=displaystory;sid=2001/1/25/164540/759 is comparing Vorbis with lame -V4. While many people like the high bitrate VBR modes, lame -V4 is *often* of lower quality than CBR. 2001-02-19 18:29 aleidinger * test/VBR.op: - remove "--silent", lametest.py now handles this Aproved by: robert 2001-02-19 18:28 aleidinger * test/lametest.py: - allow relative paths in a more portable manner - should be more OS independand now - more file checks (readable/executable) - internally adds new option "--quiet" to the options This works on my system, it also should work on systems where the previous version worked. It's not as portable as it could be, search for XXX in the source. 2001-02-18 21:18 robert * frontend/main.c, frontend/parse.c, libmp3lame/lame.c, libmp3lame/version.h, test/VBR.op: new options --silent and --quiet to be really quiet new option --verbose (default) to turn -S/--silent off again --vbr-mtrh and --vbr-new use now ATH type 2 for VBR modes it is allowed to use different block types in stereo mode (not yet joint stereo) bumped version to 3.88 alpha 10 2001-02-18 12:11 aleidinger * dshow/: Makefile.am, Makefile.in: Add recently added files to the makefile. 2001-02-17 15:45 pgubanov * dshow/Encoder.cpp: gfp is sometimes zero in CEncoder::Encode() - why??? 2001-02-17 14:30 aleidinger * libmp3lame/: pcm.c, pcm.h: New code from Frank, some needed parts in different files aren't commited yet, they produce huge differences with lametest.py even if KLEMM_44 isn't defined. -> KLEMM_44 (new API + resampling) isn't usable yet 2001-02-17 14:27 aleidinger * test/lametest.py: - use "/usr/bin/env python" instead of "/usr/bin/python" in shebang line (portability) - use "-l" instead of "--lines" for wc (portability, has to run on every IEEE 1003.2 ("POSIX.2") compliant system) - bugfix, check for lame2 instead for lame1 in the lame2 part (Note: the entire test didn't work for me if I use e.g. ./lametest.py XXX.op ../../testcases/XXX ../../build.org/frontend/lame ...) 2001-02-17 14:17 pgubanov * dshow/: aboutprp.cpp, aboutprp.h: Elecard copyrigth added (executives need it for some reason) 2001-02-17 13:58 pgubanov * dshow/: Mpegac.cpp, Property.rc, UIDS.H, dshow.dsp, dshow.dsw, elogo.ico, resource.h: Some stability improvements + Elecard copyrigth added (executives need it for some reason) 2001-02-16 17:23 markt * doc/html/basic.html: added basic.html to cvs 2001-02-16 10:35 pgubanov * dshow/dshow.dsp: STDC_HEADERS defined in project settings 2001-02-16 10:33 pgubanov * libmp3lame/lame.c: mono handling in encode_buffer_interleaved caused access violation - fixed 2001-02-14 22:22 aleidinger * ChangeLog: Now we have a ChangeLog, generated from the output of "cvs log" 2001-02-14 22:21 aleidinger * ChangeLog.header: Header for the ChangeLog, not included at "make dist" 2001-02-14 22:20 aleidinger * TODO: remove Makefile.MSVC, robert seems to keep it up to date 2001-02-14 22:20 aleidinger * Makefile.B32: try to unbreak it, add configMS.h -> config.h (untested) 2001-02-14 22:20 aleidinger * DEFINES: add USE_FFT3DN 2001-02-14 22:19 aleidinger * INSTALL: * add some more info how to use some advanced features of our configure script * add some info for Cygwin users (use configure) * add some info about faster code with nasm 2001-02-14 20:50 robert * frontend/parse.c: added -V1 to Roel's --remix preset, I assume it was missing by accident 2001-02-14 16:38 aleidinger * Makefile.am.global, Makefile.in, aclocal.m4, configure, configure.in, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: use new automake 1.4d (bugfixes) 2001-02-14 14:43 robert * libmp3lame/: encoder.c, util.h: tuning of the auto ath adjustment for --vbr-mtrh mode 2001-02-14 14:24 robert * libmp3lame/util.c: patch by Roel: tweaking his ATH modification (--athtype 3) 2001-02-13 18:27 markt * frontend/parse.c: fixed typo in parse.c 2001-02-13 18:24 markt * libmp3lame/psymodel.c: added a lot of documentation on the psycho acoustics to the top of psymodel.c 2001-02-13 18:22 markt * mpglib/: common.c, common.h, interface.c: improved head_check() function: When resyncing data stream, only look for headers of the same layer of the previous frames. i.e. dont allow layer 2 and layer 3 frames in the same stream. 2001-02-13 18:21 markt * frontend/: get_audio.c, parse.c: added the --r3mix option fixed bug with --decoder-mp3delay option added error message for non-8 and 16 bit input 2001-02-13 16:58 robert * frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize_pvt.c, libmp3lame/util.c, libmp3lame/util.h: first of all: this patch shows no difference in the CBR/ABR test - made athtype 3 default for VBR modes, 1 still default for CBR/ABR modes - made athadjust default for VBR modes, CBR/ABR modes don't need it - removed --athadjust switch, was only temporally solution - collected all spreaded ATH settings into ATH_t struct if someone needs a new ATH related variable, please add it here 2001-02-12 18:24 markt * doc/html/: contributors.html, history.html, index.html, node6.html, switchs.html: new html docs from Gabriel 2001-02-12 17:47 markt * test/lametest.py: print total pass/fail message at end 2001-02-09 16:47 robert * libmp3lame/quantize_pvt.c: patch by Gaby: allow ATH adjust for the ATH only modes too 2001-02-08 22:19 robert * test/VBR.op: update to the VBR python options file 2001-02-07 15:51 robert * libmp3lame/: encoder.c, vbrquantize.c: all patches --vbr-mtrh related encoder.c: - made a variant of Gaby's auto ATH adjust the default vbrquantize.c: - some small code moves - added some safety margin to the global gain 2001-02-06 21:43 robert * libmp3lame/: psymodel.c, vbrquantize.c: we should not try to hard to get high freqs thru' so I will let --vbr-mtrh as is. It seems to give reasonable file sizes again, even with Frank's ATH. 2001-02-05 10:18 robert * frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/quantize_pvt.c: re-check-in of Gaby's ATH auto adjustment code. You need to specify --athadjust to get this SUBSTANTIALLY QUALITY IMPROVEMENT quote: "Also, we already have gfc->ath_lower (specified in db). No reason to add another variable which does the same thing, and does not even use the same units." That is not true, there is actually no gfc->ath_lower in dB. We have a gfp->ATHlower in dB. But this is of a totally different meaning. gfp->ATHlower will lower the ATH for the whole file by a fixed amount of x dB. gfc->ath_auto_adjust will lower the ATH on a frame by frame basis depending on the peak volume. 2001-02-05 04:58 markt * frontend/parse.c: Added warning about using VBR modes. This is because this website: http://www.kuro5hin.org/?op=displaystory;sid=2001/1/25/164540/759 is comparing Vorbis with lame -V4. While many people like the high bitrate VBR modes, lame -V4 is *often* of lower quality than CBR. 2001-02-05 02:36 shibatch * libmp3lame/psymodel.c: Reverted part of last tweaks of nspsytune. 2001-02-05 02:27 markt * HACKING: updated HACKING with directions on how to run the lametest.py python script 2001-02-05 02:24 markt * test/: CBRABR.op, VBR.op, lametest.py, nores.op: Adding a python script used for testing, along with some sample options files. 2001-02-05 02:23 markt * HACKING, libmp3lame/encoder.c, libmp3lame/quantize_pvt.c: reverted encoder.c and quantize_pvt.c back to 13:00 3 Feb 2001. These modifications broke my test cases. Any such changes need aproval first. Also, we already have gfc->ath_lower (specified in db). No reason to add another variable which does the same thing, and does not even use the same units. 2001-02-05 00:34 cisc * frontend/amiga_mpega.c: MPG_MD_LR_LR define was moved, set mode_ext to 0 instead (since we don't get that info anyway). 2001-02-04 23:56 robert * frontend/parse.c, libmp3lame/lame.c, libmp3lame/vbrquantize.c: parse.c: small change in default behaviour for --vbr-mtrh lame.c: it makes no sense for a sfb21 extra at sample frequencies below 44.1 kHz vbrquantize.c: oops, last commit was a merger from a wrong branch of mine 2001-02-04 23:28 shibatch * libmp3lame/quantize_pvt.c: Enabled auto-adjust ATH for nspsytune. 2001-02-04 23:14 shibatch * libmp3lame/psymodel.c: Tweaked nspsytune. 2001-02-03 23:20 robert * libmp3lame/: quantize_pvt.c, version.h: bumped version to alpha 9 some clean-up 2001-02-03 20:10 robert * libmp3lame/: encoder.c, quantize_pvt.c, util.c, util.h, vbrquantize.c: patch by Gabriel Bouvigne: auto adjust of ATH for low volume tracks a big improvement in quality! therefore on by default patch by Robert Hegemann: further improvement of --vbr-mtrh mode 2001-02-02 01:04 robert * libmp3lame/: quantize.c, quantize_pvt.c: --vbr-mtrh tweaks 2001-01-31 19:44 aleidinger * configure, configure.in: bugfix 2001-01-31 15:34 robert * libmp3lame/quantize.c: fix a typo I introduced by my last commit 2001-01-31 12:53 aleidinger * Makefile.am.global, Makefile.in, acconfig.h, acinclude.m4, aclocal.m4, config.h.in, configMS.h, configure, configure.in, depcomp, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: - config*/Makefile*/ac*: * tests for *int*_t * test for 80 bit floats (for speed optimizations) * add pcm.* to the makefile * removed resample.[ch] from the makefile * depend upon automake 1.4b * fix in check for ccc (submitted by nold via the sourceforge patch page at the lame project page, patch id #103507) * something I may have forgotten Note: Please don't commit any Makefile.in if you didn't have changed the corresponding Makefile.am. CVS didn't stores the time stamps of the files at commit time, it stores the time stamps of the commit time, so we have to commit the files in the correct order, but I'm to lazy to do so and I assume I'm not the only one. The same applies to config*. - depcomp: missing file, the dependancy tracking should work again 2001-01-30 20:53 robert * libmp3lame/quantize.c: fixed a design flaw in VBR_iteration_loop() I'm responsible for. affects quality! 2001-01-30 20:52 robert * libmp3lame/: lame.c, quantize_pvt.c, vbrquantize.c: tuning of --vbr-mtrh mode 2001-01-30 20:51 robert * frontend/parse.c, include/lame.h: patch by Gaby: changed --athlower to accept floats 2001-01-30 11:02 robert * libmp3lame/: psymodel.c, util.c: psymodel.c: fixing compile problem (was: M_LN10 undefined) util.c: Roel's modification to Gaby's ATH, new: --athtype 3 2001-01-29 14:46 robert * libmp3lame/vbrquantize.c: --vbr-mtrh and --vbr-new use now the faster and sloppier scalefactor-band noise calculation with quality settings -q 3...9 2001-01-28 12:51 takehiro * libmp3lame/: quantize.h, util.h: oops, compile problem fix 2001-01-28 12:39 takehiro * libmp3lame/: quantize.c, quantize.h, quantize_pvt.c, vbrquantize.c: magic number 4095 and 4096 is removed 2001-01-27 18:00 takehiro * libmp3lame/psymodel.c: make temporal masking effect strong. 2001-01-27 17:52 takehiro * libmp3lame/quantize_pvt.c: debug message is removed :) 2001-01-27 17:39 takehiro * frontend/parse.c, include/lame.h, libmp3lame/psymodel.c, libmp3lame/quantize_pvt.c, libmp3lame/util.h: experimental temporal masking support. "--temporal" option to use this. 2001-01-26 22:47 robert * frontend/parse.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/vbrquantize.c: tuning of --vbr-mtrh VBR mode 2001-01-25 20:57 robert * misc/abx.c: update by Frank: some further endings and audio formats 2001-01-24 23:59 robert * libmp3lame/quantize_pvt.c: found and fixed another BUG caused by the "bit optimization." patch 2001-01-24 23:02 robert * libmp3lame/: pcm.c, pcm.h: updates by Frank 2001-01-24 22:33 robert * Makefile.DJGPP, Makefile.unix: small config.h related tunings 2001-01-24 21:33 robert * libmp3lame/vbrquantize.c: quick-fix for code that was broken by Takehiro's last "bit optimization." in function calc_xmin(), quantize_pvt.c 2001-01-23 12:50 takehiro * libmp3lame/quantize_pvt.c: bit optimization. 2001-01-23 07:12 shibatch * libmp3lame/quantize.c: Bugfix of nspsytune. 2001-01-22 23:00 afaber * Dll/BladeMP3EncDLL.c: VBR was always enabled, even when the client did not ask for it 2001-01-22 19:54 aleidinger * libmp3lame/vorbis_interface.c: remove trailing garbage 2001-01-22 09:31 shibatch * libmp3lame/: psymodel.c, quantize.c: Tweaked nspsytune. 2001-01-22 04:35 markt * Makefile.in, configure, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, frontend/parse.c, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/psymodel.c, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: fixed bug preventing -m a mode from working. ran autoconf which changed all the Makefile.in's 2001-01-22 01:07 robert * libmp3lame/: pcm.c, pcm.h, vorbis_interface.c: patches by Frank: vorbis_interface: was/is broken since a long time pcm.[ch]: fixing some transfer errors (email) 2001-01-21 21:14 afaber * Dll/BladeMP3EncDLL.c: Fixed problems with writing the Xing MP3 header (gfc->internal_flags structure was already freed, while it was needed to write the Xing MP3 tag) 2001-01-21 19:13 robert * libmp3lame/: pcm.c, pcm.h: patches by Frank: scalar.nas - new SIMD assembler routines resample.[ch] - removed pcm.[ch] - new, containing resampling routines and more version.c - some clean up 2001-01-21 19:06 robert * libmp3lame/: i386/scalar.nas, resample.c, resample.h, version.c: patches by Frank: scalar.nas - new SIMD assembler routines resample.[ch] - removed pcm.[ch] - new, containing resampling routines and more version.c - some clean up 2001-01-21 19:03 robert * frontend/lametime.c: it's always a good idea to include its own header file 2001-01-20 09:51 robert * libmp3lame/util.c: patch by Gaby: I changed a file from the 19/01 cvs (I added an ath balanced between the original one and Frank's one on the option --athtype 2) 2001-01-19 09:08 shibatch * libmp3lame/: encoder.c, psymodel.c, quantize_pvt.c: Improved reservoir handling(nspsytune). 2001-01-18 22:18 robert * libmp3lame/quantize_pvt.c: allow "--athlower n" to modify the ATH for sfb21 2001-01-18 13:04 aleidinger * Makefile.DJGPP: add config.h to the clean target 2001-01-18 13:03 aleidinger * Makefile.DJGPP: bugfix (please report if it's broken, I can't test the config.h target) 2001-01-17 21:32 robert * Makefile.unix: additional fixes 2001-01-17 20:35 robert * libmp3lame/: VbrTag.c, util.c, util.h: RH_SEEK_TABLE enables a different method of generating TOC entries in Xing VBR header. now enabled! PLEASE TEST TRY IT It should fix the problem poeple reported who encode radio shows or alike which last a few hours. Another advantage is, it will not steadily increase LAME's memory footprint while running. 2001-01-17 16:05 shibatch * libmp3lame/psymodel.c: Reverted the final change. It degraded encoded quality of gspi*.wav. 2001-01-17 13:26 shibatch * libmp3lame/psymodel.c: Tweaked nspsytune. 2001-01-17 09:55 robert * Makefile.unix: try to fix the broken Makefile after latest configurification 2001-01-17 09:54 robert * libmp3lame/newmdct.c: + replaced M_SQRT2 by SQRT2 which is defined in util.h + replaced "=-" by "= -" to avoid confusion with the old K&R "=-" operator, an equivalent to "-=". Even though new compilers seem to handle it as an assignement and unary minus sequence, but some buggy compiler could be trapped here (as I). 2001-01-16 13:08 robert * configMS.h: turned some defines for system include files on 2001-01-16 09:04 robert * Makefile.MSVC: fixed typo, sorry 2001-01-15 15:16 aleidinger * Makefile.am, Makefile.am.global, Makefile.in, config.h.in, configMS.h, configure, configure.in, Dll/Makefile.am, Dll/Makefile.in, debian/Makefile.am, debian/Makefile.in, doc/Makefile.am, doc/Makefile.in, dshow/Makefile.am, dshow/Makefile.in, frontend/Makefile.am, frontend/Makefile.in, frontend/brhist.c, frontend/console.c, frontend/get_audio.c, frontend/gpkplotting.c, frontend/main.c, frontend/mp3rtp.c, frontend/parse.c, frontend/rtp.c, include/Makefile.am, include/Makefile.in, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/id3tag.c, libmp3lame/machine.h, misc/Makefile.am, misc/Makefile.in, mpglib/Makefile.am, mpglib/Makefile.in, mpglib/common.c, mpglib/decode_i386.c, mpglib/mpg123.h: automake/autoconf cleanup and enhancement 2001-01-15 14:19 shibatch * libmp3lame/: encoder.c, psymodel.c, util.h: More cleanups and bugfixes of --nspsytune. 2001-01-15 09:38 aleidinger * doc/html/Makefile.am: remove node[57].html 2001-01-15 09:14 gramps * USAGE: Raised track limit from 99 to 255 per user requests. 2001-01-15 09:10 robert * Makefile.B32, Makefile.MSVC, Makefile.unix: more RH_AMP clean up 2001-01-15 08:58 gramps * frontend/parse.c, doc/html/id3.html: Raised track limit from 99 to 255 per user requests. 2001-01-15 08:48 gramps * libmp3lame/id3tag.c: - Simplified prologue of all public functions, removing intermediate "spec" variable, and assuming (like the rest of LAME) that gfp is never null. - Fixed a stupid sizeof bug (mine) in "id3tag_init". - Raised track limit from 99 to 255 per user requests. - No longer write full text of genre in version 2 tag. Now write more cannonical "(num)" format where "num" is the text version of the genre number, more closely following the updated ID3v2.3 spec and usage in id3lib. This also makes the tag smaller. - Now use id3lib-compatible bogus language descriptor "XXX" in version 2 comment frames instead of just null bytes. - Changed order of frames written in version 2 tag to match version 1 tag. - Restored some of Frank's optimizations. - Fixed LAME URL. - Reworded some comments and fixed misspellings. - Moved "local_strcasecmp" back into its original position. - Some small reformatting to match original file. 2001-01-14 23:29 gramps * USAGE: - Changed "highest" to "higher" to describe recommended quality setting in constant bit rate example. - Changed "CBR" to "VBR" to correct misspelling in variable bit rate description. 2001-01-14 22:40 gramps * doc/html/Makefile.in: Removed dependency on obsolete node5.html and node7.html. 2001-01-14 22:35 markt * USAGE, frontend/parse.c: documentation of -q parameter in USAGE and lame --longhelp 2001-01-14 22:13 markt * doc/html/: node5.html, node7.html: removed as per Gaby 2001-01-14 22:12 markt * libmp3lame/: lame.c, quantize.c: created new routine lame_init_qval() which does all the gfp->quality related settings. Cleaned up some more RH_AMP code: The only way to enable scalefac_scale right now is with -Z or --nspsytune. 2001-01-14 21:01 markt * testcase.mp3: updated test case (Takehiro fixed a bug which I introduced, which changes test cases). 2001-01-14 17:25 aleidinger * DEFINES, Makefile.in, aclocal.m4, config.guess, config.sub, configure, configure.in, missing, mkinstalldirs, Dll/Makefile.am, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, frontend/depcomp, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/depcomp, libmp3lame/i386/Makefile.in, misc/Makefile.in, misc/depcomp, mpglib/Makefile.in, mpglib/depcomp: DEFINES: remove obsolete defines configure*: minor cleanup Makefile*: - minor cleanup - use automake 2.14b Added files: needed for new automake rest: updated automake files 2001-01-14 15:40 aleidinger * misc/abx.c: there are encoders with different delays on different channels (Frank) 2001-01-14 12:21 shibatch * libmp3lame/lame.c: Enabled scalefac_scale if --nspsytune is specified. 2001-01-14 12:02 takehiro * testcase.mp3: fixed new amp_scalefac_bands (it may use "trigger" variable without any initialization) 2001-01-14 09:42 takehiro * libmp3lame/quantize.c: minor bug fix. when subblock gain=1 and scalefactor is -1(means no need to calculate), LAME will try to check the quantization with meanless scalefactor combination. 2001-01-14 09:39 takehiro * libmp3lame/quantize.c: subblock_gain is 3-bit and its limit is 7, not 8. 2001-01-14 09:35 takehiro * libmp3lame/quantize.c: oops, conflicts are removed 2001-01-14 09:31 takehiro * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h: to store the distortion into III_psy_xmin structure, not simple array. this may make array pointer calculation easier and bring some speed up. 2001-01-14 09:26 shibatch * libmp3lame/: encoder.c, psymodel.c, psymodel.h: Cleanup and small speed optimization of --nspsytune. 2001-01-14 08:17 markt * API: one minor update to the API file 2001-01-14 08:13 markt * testcase.mp3, libmp3lame/lame.c, libmp3lame/quantize.c: made a new, simpler unified amp_scalefac_bands(): * distort[] = noise/masking * distort[] > 1 ==> noise is not masked * distort[] < 1 ==> noise is masked * max_dist = maximum value of distort[] * * Three algorithms: * noise_shaping_amp * 0 Amplify all bands with distort[]>1. * * 1 Amplify all bands with distort[] >= max_dist^(.5); * ( 50% in the db scale) * * 2 Amplify first band with distort[] >= max_dist; * * * For algorithms 0 and 1, if max_dist < 1, then amplify all bands * with distort[] >= .95*max_dist. This is to make sure we always * amplify at least one band. * noise_shaping_amp=0 -q3 .. -q9 noise_shaping_amp=1 -q2 noise_shaping_amp=2 -q1, -q0 --nspsytune was using what is now noise_shaping_amp=2, but the only way to get this now is to use --nspsytune -q1. Naoki: is this a problem? I also defaulted the clever RH_AMP stoping criterion in outer_loop. 2001-01-14 05:36 markt * libmp3lame/: lame.c, psymodel.c, quantize.c, quantize_pvt.c, util.h, vbrquantize.c: some tuning of VBR masking_lower because of new ATH function. Disabled VBR_q based lowering of ATH. Is this still needed? You can always achieve the same effect with --athlower option. 2001-01-13 18:01 aleidinger * Makefile.am, Makefile.in, configure, configure.in, Dll/Makefile.in, debian/Makefile.am, debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.am, dshow/Makefile.in, frontend/Makefile.am, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.am, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.am, mpglib/Makefile.in: "make dist" related: - add debian subdir - add missing files different builddir related: - change argument to -l option for nasm 2001-01-13 17:40 aleidinger * libmp3lame/Makefile.in.old: obsolete 2001-01-13 17:36 aleidinger * frontend/Makefile.in.old: obsolete 2001-01-13 13:45 takehiro * libmp3lame/newmdct.c: bit coding hack and cleanup 2001-01-13 12:55 takehiro * Makefile.in, Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: automake generated 2001-01-13 12:54 takehiro * libmp3lame/: fft.c, i386/Makefile.am, i386/fft3dn.nas: now LAME supports 3dnow! fft 2001-01-13 10:37 pgubanov * dshow/Encoder.cpp: Removed (char*) cast in lame_encode_buffer() call 2001-01-12 19:20 markt * debian/: changelog, control, copyright, lame-dev.docs, lame-dev.files, lame-extras.files, lame.docs, lame.files, rules: added debian files from Ingo Saitz 2001-01-12 19:17 markt * debian/: cron.d.ex, dirs, docs, emacsen-install.ex, emacsen-remove.ex, emacsen-startup.ex, ex.doc-base.package, files, init.d.ex, manpage.1.ex, manpage.sgml.ex, menu.ex, postinst.debhelper, postinst.ex, postrm.ex, preinst.ex, prerm.debhelper, prerm.ex, substvars, watch.ex: New Debian package from Ingo Saitz 2001-01-12 19:11 markt * README.Debian: removed README.Debian 2001-01-12 11:13 aleidinger * misc/abx.c: further improvements, e.g. reduced latency (Frank) 2001-01-11 22:37 markt * HACKING, frontend/mp3rtp.c, frontend/mp3x.c: updated mp3rtp.c and mp3x.c to use lame_global_flags *lame_init() (lame allocates storage for lame_global_flags) rather than lame_init_old(&gf) which required calling program to instantiate gf. Now we need to start writing one routine for every parameter: lame_set_bitrate lame_set_num_channels etc... 2001-01-10 16:03 aleidinger * frontend/lame.dsp, frontend/mp3x.dsp, libmp3lame/libmp3lame.dsp, mpglib/mpglib.dsp: work around for a bug in VC (Todd Richmond) 2001-01-09 15:15 aleidinger * misc/abx.c: bugfixes 2001-01-08 18:15 aleidinger * DEFINES: removed KLEMM_12, on by default 2001-01-08 18:07 aleidinger * libmp3lame/vbrquantize.c: Roberts VBR code: speed improvement for vbr-mtrh (ping pong patch, OKed by Mark) 2001-01-07 23:47 markt * frontend/: portableio.c, timestatus.c: chage to KLEMM-36 from Frank 2001-01-07 22:53 markt * frontend/timestatus.c, libmp3lame/psymodel.c: undefined variable (last = 0, line 214) in timestatis.c commented out. fixed some dimensions in the funtion prototype of l3para_read 2001-01-07 22:35 markt * frontend/timestatus.c: Applied Frank's patch (from mp3encoder) to timestatus.c with -R. I hope I didn't undo this by mistake! 2001-01-07 22:33 markt * frontend/timestatus.c: added a brhist_jump_back() to timestatus_klemm(). sent to me by Magnus Holmgren. 2001-01-07 22:28 markt * USAGE, frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/psymodel.c: added the "-ma" option. Ultimate goal: 8 kbps Mono 16- 96 kbps Intensity Stereo (if available, otherwise Joint Stereo) 112-128 kbps Joint Stereo -mj 160-192 kbps something between -mj and -ms 224-320 kbps Independent Stereo -ms currently enables KLEMM_12. KLEMM_12 is gone. 2001-01-07 16:17 aleidinger * libmp3lame/lame.c: Don\'t change floatingpoint mask for FreeBSD on Alpha hardware, obtained from FreeBSD-Ports 2001-01-07 14:48 aleidinger * misc/abx.c: cleanup, no functional change 2001-01-07 14:47 aleidinger * Dll/Example.dsw, Dll/MP3EncDll.dsw, dshow/dshow.dsw, frontend/lame.dsw, frontend/mp3x.dsw, misc/abx.c: fix *.dsw new version of abc.c (Frank) 2001-01-07 09:14 markt * frontend/: mp3rtp.c, mp3x.c: global variables used by frontend code are now instantiated in parse.c. Before, the were defined external in main.h, and instantiated in the frontend, meaning they had to appear in mp3x.c, main.c and mp3rtp.c we need to get rid of these! 2001-01-07 09:11 markt * frontend/main.c, frontend/main.h, frontend/parse.c, libmp3lame/lame.c: more tweaks to the --decode-mp3delay option 2001-01-07 08:28 markt * libmp3lame/: lame.c, quantize.c, util.h: added a variable, noise_shaping_amp. It does nothing right now. 2001-01-07 08:24 markt * frontend/: main.c, main.h, parse.c: added a undocumented option --decode-mp3delay to allow someone to adjust the number of samples lame --decode will truncate. David Robinson requirested this since he didn't like that lame --decode would truncate 1106 samples (assuming a encoder delay of 576) since BladeEnc has an encoder delay of only 528.) 2001-01-07 05:25 markt * frontend/main.c, libmp3lame/util.c: main.c: uses lame_init() instead of lame_init_old(). util.c: added frank's changes: 32 point filter instead of 19. prep work for frank's new resampling/filtering code. updated test cases. 2001-01-06 23:12 markt * libmp3lame/: lame.c, psymodel.c, quantize_pvt.c, util.c: ATHformula modifed to work in Hz instead of Khz. Minor change to a bunch of routines + regeneration of test cases. 2001-01-06 22:57 markt * testcase.mp3: updated testcase 2001-01-06 22:55 markt * libmp3lame/fft.c: Switched to the Blackman window for the FFT energy estimator. This is just to merge some nspsytune code into default 2001-01-06 07:40 gramps * libmp3lame/id3tag.c: Backed out some large changes done in November which introduced at least two bugs. Also fixed other older bug in id3tag_write_v2. 2001-01-06 01:11 markt * include/lame.h, libmp3lame/lame.c, libmp3lame/psymodel.c: more prep work to remove all psycho acoustic tables 2001-01-06 01:00 markt * libmp3lame/: VbrTag.h, lame.c, mpglib_interface.c, psymodel.c: added formulas to replace the last of the table data. some changes to reflect that Xing VBR header parsing code has been moved into mpglib 2001-01-05 22:15 markt * mpglib/: interface.c, mpglib.h: added XingVBR header parsing code 2001-01-05 22:13 markt * frontend/: get_audio.c, gtkanal.c: fixed bug in frame analyzer when analyzing mp3 files. frame counter incremented too soon. This was introduced when someone (maybe me, but I dont remember!) replaced the use of gfp->frameNum with a global variable limited in scope to just gtkanal.c get_audio.c: removed VBR Xing header checking code. this has been moved into mpglib. 2001-01-05 15:26 aleidinger * Makefile.in.old, configure.in.old: obsolete 2001-01-05 15:20 aleidinger * Makefile.B32, Makefile.unix, frontend/brhist.c, frontend/get_audio.c, frontend/gpkplotting.c, frontend/gtkanal.c, frontend/lame.dsp, frontend/lametime.c, frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c, frontend/mp3x.dsp, frontend/parse.c, frontend/portableio.c, frontend/rtp.c, frontend/timestatus.c, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/debugscalefac.c, libmp3lame/encoder.c, libmp3lame/fft.c, libmp3lame/id3tag.c, libmp3lame/lame.c, libmp3lame/libmp3lame.dsp, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/resample.c, libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/vbrquantize.c, libmp3lame/version.c, libmp3lame/vorbis_interface.c, misc/abx.c, mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/interface.c, mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c, mpglib/mpglib.dsp, mpglib/tabinit.c: misc/abx.c: (Frank Klemm) - level adjustment - clean up - A-B repeat ("chunks") Makefile.*: - nuke NOTERMCAP, it's HAVE_TERMCAP now (defined where neccessary, please report slipped in breakage) (frontend|mp3x|libmp3lame|mpglib).dsp: - copy configMS.h config.h (Todd Richmond) - unbreak (Todd Richmond) - nuke NOTERMCAP - change HAVE([A-Z]*) to HAVE_$1 *.c: - get rid of configMS.h, we finally have support in *.dsp 2001-01-03 13:06 aleidinger * Makefile.DJGPP, Makefile.am, Makefile.in, Makefile.unix, aclocal.m4, config.h.in, configure, configure.in, frontend/Makefile.am, frontend/Makefile.in, frontend/brhist.c, frontend/console.c, frontend/get_audio.c, frontend/gpkplotting.c, frontend/gtkanal.c, frontend/lametime.c, frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c, frontend/portableio.c, frontend/rtp.c, frontend/timestatus.c, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/debugscalefac.c, libmp3lame/encoder.c, libmp3lame/fft.c, libmp3lame/id3tag.c, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/resample.c, libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/vbrquantize.c, libmp3lame/version.c, libmp3lame/vorbis_interface.c, misc/Makefile.am, misc/Makefile.in, mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/interface.c, mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c, mpglib/tabinit.c: Makefile.{unix,DJGPP}: Bugfixes (Includes) Makefile.am: follow the move of some scripts to misc *: add dmalloc support (configure --with-dmalloc) (it seems we have a memleak somewhere, I will have a closer look soon) 2001-01-03 11:51 shibatch * libmp3lame/: psymodel.c, encoder.c: Tweaking and bugfix of --nspsytune. 2001-01-02 06:02 markt * frontend/get_audio.c, libmp3lame/encoder.c: typo in read_samples_pcm fixed 2001-01-01 17:35 markt * API, HACKING: minor edits to API and HACKING 2001-01-01 17:26 markt * Lame.vbs, README.WINGTK, TODO, USAGE, lame4dos.bat, misc/Lame.vbs, misc/lame4dos.bat: moved some more scripts into 'misc' directory 2001-01-01 17:12 markt * INSTALL, README.WINGTK, USAGE, auenc, mlame, frontend/README.Win32, misc/auenc, misc/mlame: moved scripts into misc directory moved README.Win32 (which described compiling mp3x under windows) back to its original name, README.WINGTK minor updates to INSTALL and USAGE 2000-12-27 13:13 aleidinger * misc/abx.c: - listen to the difference of both signals - highlighting of "errors" - DC canceling - support for monaural signals - cleanup - bugfixes - correct shell quoting 2000-12-25 10:49 shibatch * frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize_pvt.c, libmp3lame/util.h: Tweaked --nspsytune. 2000-12-22 15:36 aleidinger * misc/abx.c: now with cross correlation (Frank) 2000-12-20 22:55 aleidinger * misc/abx.c: - files to test have to have the same samplerate (Frank) - check for correct number of arguments (Alexander) 2000-12-20 15:14 aleidinger * DEFINES, libmp3lame/psymodel.c, libmp3lame/tables.c, libmp3lame/tables.h: Patches for KLEMM_43 protected code 2000-12-19 13:09 aleidinger * DEFINES, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/vbrquantize.c: Ping pong #3, OKed by Mark. 2000-12-19 08:16 markt * LICENSE: simplifed the LICENSE file describing how to use LAME in commercial software 2000-12-19 07:51 markt * INSTALL, README, README.B32: updated README files with new configure information. debuging statement added to interface.c, then removed. 2000-12-19 07:46 markt * frontend/: brhist.c, get_audio.c: more size_t's removed 2000-12-19 07:43 markt * frontend/: main.c, mp3rtp.c, parse.c, rtp.c, rtp.h: removed some size_t's. Added some windows code to rtp.c/mp3rtp.c: It is supposed to be much improved: LAME is really great project. However, RTP code for multicasting isn't very good. I've attached some modification, and tested it on Win NT4 and Win2K with FreeAmp on ordinary 10 and 100 Mbit Ethernet with encoding in neverending loop. It was running one week w/o any probs. I would like to please you to not include my name anywhere (there are several reason why, at the moment). However, code is very MSVC specific, so it is commented out with #if 0. Most of the code was added to the end of rtp.c. 2000-12-19 07:00 markt * frontend/main.c: deleted stupid C++ typecasts. LAME is written in C. integer arguments to fwrite() do not need typecasts. 2000-12-16 05:43 shibatch * libmp3lame/: lame.c, psymodel.c: 1. Old ATH formula is now default for --nspsytune. 2. Tweaked a parameter of --nspsytune. 3. Minor code cleanup. 2000-12-14 13:32 aleidinger * Makefile.in, configure, Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: regen 2000-12-14 13:31 aleidinger * configure.in, libmp3lame/i386/Makefile.am: force nasm to generate coff output when building under cygwin (Egor Duga) 2000-12-14 10:05 aleidinger * Makefile.in, config.h.in, configure, Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: regen 2000-12-14 10:04 aleidinger * Makefile.DJGPP, Makefile.am, Makefile.unix, configMS.h, configure.in, frontend/Makefile.am, libmp3lame/Makefile.am, libmp3lame/i386/Makefile.am, mpglib/Makefile.am: configure.in: - determine the size of various types at configure time - add --enable-debug=anoying configMS.h: - add SIZEOF_... defines, see configure.in Makefile.unix: - bugfix from Robert (shame on me) Makefile.DJGPP: - add cpu_feat.nas and scalar.nas to the build with NASM Submitted by Egor Duda (thank you, works great): * Makefile.am: add $(EXEEXT) to executables for cygwin build * Makefile.am: take source .wav file from srcdir * configure.in: require autoconf 2.13 * configure.in: check for executable files extension * frontend/Makefile.am: use builddir to get autogenerated headers and libraries from, in case we're doing build in separate directory; take normal headers from srcdir instead of current. * libmp3lame/Makefile.am: ditto * libmp3lame/i386/Makefile.am: ditto * mpglib/Makefile.am: ditto 2000-12-13 02:28 shibatch * libmp3lame/lame.c: Minor bugfix. 2000-12-13 02:21 shibatch * libmp3lame/psymodel.c: Minor bugfix of --nspsytune. (forgot to merge.) 2000-12-12 04:50 shibatch * frontend/parse.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/util.c, libmp3lame/util.h: Added option --athtype which selects ATH formula. Some major changes to --nspsytune. 1. --nspsytune doesn't use pe. 2. MS psymodel is modified. Added new option --nssafejoint. 3. some more tunings of short block preecho control. 2000-12-12 01:11 markt * libmp3lame/: lame.c, util.c: Latest checkin from Alex include an rewritten 'Bitrate()' routine. This breaks the --abr code, since new routine considers a bitrate of 0 invalid. Now fixed. 2000-12-11 22:15 markt * misc/Makefile.am: added mlame_corr.c to the EXTRA_DIST line of Makefile.am 2000-12-11 16:03 aleidinger * DEFINES, Makefile.in, frontend/main.c, include/lame.h, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c, libmp3lame/fft.h, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/newmdct.h, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/quantize_pvt.h, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c, libmp3lame/vorbis_interface.c, mpglib/interface.c, mpglib/interface.h: tries to include every change before the CVS rollback which didn't changes output 2000-12-11 14:48 aleidinger * frontend/gtkanal.c, libmp3lame/bitstream.c, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/newmdct.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/reservoir.c, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c, libmp3lame/vorbis_interface.c: redo gfc->stereo -> gfc->channels_out conversation 2000-12-11 01:32 markt * USAGE: updated info regarding the MAD decoder 2000-12-11 00:34 markt * Makefile.am, libmp3lame/lame.c: applied patch for cygwin FPE stuff 2000-12-11 00:01 markt * USAGE, configure, configure.in, mlame_corr.c, frontend/get_audio.c, frontend/get_audio.h, include/lame.h, libmp3lame/mpglib_interface.c, misc/mlame_corr.c: configure: removed all the debug warning flags. it was impossible to find real problems when compiling in debug mode. moved mlame_corr.c into 'misc' directory removed some 'size_t' and 'unsigned' from get_audio.c made mp3buffer 'unsigned char*' for the mpglib interface routines. 2000-12-08 13:47 aleidinger * auenc, misc/mugeco.sh: more portability fixes from Fredrik Mellstrom 2000-12-07 18:58 aleidinger * mlame: use sh instead of bash 2000-12-07 18:55 aleidinger * auenc: portability patch from Fredrik Mellstrom 2000-12-05 15:48 aleidinger * DEFINES: update 2000-12-05 15:46 aleidinger * Makefile.MSVC: add scalar.nas 2000-12-05 15:40 aleidinger * configure, Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, mpglib/Makefile.in: regen 2000-12-05 15:37 aleidinger * Makefile.B32, Makefile.MSVC, Makefile.in, config.h.in, configMS.h, configure.in, frontend/Makefile.am, frontend/get_audio.c, frontend/get_audio.h, frontend/portableio.c, libmp3lame/Makefile.am, libmp3lame/i386/Makefile.in, libmp3lame/i386/cpu_feat.nas, misc/ath.c, mpglib/Makefile.am: play ping-pong with some files (we're now at 2000-12-03 again), ok'ed by Mark 2000-12-05 01:17 markt * DEFINES: restored DEFINES. Sorry Alexendar - I tried to only revert the *.c and *.h files to their Nov 21 values (because of test case problems) but I was unable to get this to work. I was lazy and reverted entire repository back to Nov 21. 2000-12-05 01:15 markt * DEFINES: trying to restore DEFINES 2000-12-04 14:36 aleidinger * Makefile.unix: add scalar.nas to build 2000-12-04 06:31 pgubanov * dshow/: PropPage.cpp, PropPage.h: Target bitrate fix 2000-12-04 06:30 pgubanov * dshow/: Mpegac.cpp, Mpegac.def, Mpegac.h, PropPage_adv.cpp, PropPage_adv.h, Property.rc, README, REG.CPP, REG.H, UIDS.H, dshow.dsp, iaudioprops.h, resource.h: CR/LF fix 2000-12-03 23:27 markt * testcase.mp3, libmp3lame/util.c: KLEMM_01 defaulted. This enables the new ATH formula. 2000-12-03 23:03 markt * libmp3lame/: tables.c, tables.h: huffmantab: int changed back to short. 2000-12-03 23:00 markt * DEFINES, Makefile.B32, Makefile.MSVC, Makefile.in, config.h.in, configMS.h, configure, configure.in, Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/html/contributors.html, doc/html/examples.html, doc/html/history.html, doc/html/id3.html, doc/html/index.html, doc/html/lame.css, doc/html/modes.html, doc/html/node6.html, doc/html/switchs.html, doc/man/Makefile.in, frontend/Makefile.am, frontend/Makefile.in, frontend/get_audio.c, frontend/get_audio.h, frontend/gtkanal.c, frontend/main.c, frontend/parse.c, frontend/portableio.c, include/Makefile.in, include/lame.h, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c, libmp3lame/fft.h, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/newmdct.h, libmp3lame/pcm.c, libmp3lame/pcm.h, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/quantize.c, libmp3lame/quantize.h, libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h, libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c, libmp3lame/version.h, libmp3lame/vorbis_interface.c, libmp3lame/i386/Makefile.am, libmp3lame/i386/Makefile.in, libmp3lame/i386/cpu_feat.nas, mpglib/Makefile.am, mpglib/Makefile.in, mpglib/interface.c, mpglib/interface.h: Reverted back to Nov 21 version. Added HTML doc from GB 2000-12-03 17:38 aleidinger * configure: regen 2000-12-03 17:37 aleidinger * configure.in: fix in debugging options 2000-12-03 14:16 aleidinger * DEFINES: add KLEMM_36 2000-12-03 14:14 aleidinger * frontend/portableio.c: Portability fix from Frank, you need to define KLEMM_36 to enable it (no functional change if you leave it disabled): ---snip--- It is a hoax to call this code portable-IO: - It doesn't work on machines with CHAR_BIT != 8 - it also don't test this error condition - otherwise it tries to handle CHAR_BIT != 8 by things like masking 'putc(i&0xff,fp)' - It doesn't handle EOF in any way - it only works with ints with 32 or more bits - It is a collection of initial buggy code with patching the known errors instead of CORRECTING them! For that see comments on the old Read16BitsHighLow() ---snip--- 2000-12-03 13:14 aleidinger * misc/abx.c: Improvements from Frank: - more input formats (detected by filename) Improvements by me: - sanity checks - works on FreeBSD 2000-12-01 17:42 aleidinger * libmp3lame/: psymodel.c, tables.c, tables.h: Patches from Frank: ---snip--- defined 4 new types for holding psydata information psydata is divided into 25 normal tables (the 24 tables + 1 master table) access via "normal" index instead of scanning through the data tables are now sparsable, i.e. it is possible to remove unneeded parts but this is not yet done to avoid to do to much things at once tables are now smaller ---snip--- Hi also did some tests to verify this didn't changes the output. I also verified it with "make test" and some regular encoding. 2000-11-30 10:23 aleidinger * DEFINES: add description of some compile time defines 2000-11-30 10:20 aleidinger * Makefile.B32: sync with recent changes in the other Makefiles: - HAVExxx -> HAVE_xxx - HAVE_CONFIG_MS_H 2000-11-30 10:17 aleidinger * frontend/: get_audio.c, get_audio.h: - remove check for CHAR_BITS, was a typo from Frank (confirmed by Frank) - add optimization for unknown SIZEOF_UNSIGNED_LONG (submitted by Frank) in optimized version of SwapBytesInWords() - make the optimized version of SwapBytesInWords() the default (OKed by Mark) - remove DetermineByteOrder(), we have compile time support for it 2000-11-30 10:14 aleidinger * configure, Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, mpglib/Makefile.in, dshow/Makefile.in, doc/man/Makefile.in, doc/html/Makefile.in, doc/Makefile.in, Dll/Makefile.in, frontend/Makefile.in, include/Makefile.in: regen 2000-11-30 10:11 aleidinger * libmp3lame/pcm.c: - some modifications from Frank 2000-11-30 10:08 aleidinger * configure.in: - compile time check for sizeof(int) - more compiler warnings for debugging 2000-11-30 10:07 aleidinger * config.h.in, configMS.h: - compile time value for sizeof(int) 2000-11-30 10:07 aleidinger * libmp3lame/Makefile.am, frontend/Makefile.am, mpglib/Makefile.am: - additional options for lclint 2000-11-30 10:06 aleidinger * libmp3lame/i386/Makefile.am: - *.lst instead of specifying every file in "CLEANFILES" 2000-11-27 16:39 aleidinger * libmp3lame/: pcm.c, pcm.h: submitted by Frank, first revision of a new lame API, not connected to the build yet 2000-11-26 20:58 robert * libmp3lame/: lame.c, util.c, util.h, i386/cpu_feat.nas: Part2 of Frank's Patch His List of Changes (part 1 + 2): - changed the type of the MP3 byte stream from 'char' to 'unsigned char' - added some 'const' attributes - added to lame_internal_flags: gfp, frame_size, coding, frame_count - one code move inside lame.c (mode_ext), one remove (channels_out) - two new types in util.c - some bug fixes with Ogg - SIMD2 detection 2000-11-26 10:49 robert * frontend/get_audio.c, frontend/main.c, include/lame.h, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c, libmp3lame/fft.h, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/newmdct.h, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/util.h, libmp3lame/vorbis_interface.c, mpglib/interface.c, mpglib/interface.h: Patch by Frank: changes from char to unsigned char 2000-11-25 22:59 robert * libmp3lame/quantize.c: bug fix for -X6, could result in clicking noises 2000-11-25 20:40 robert * libmp3lame/quantize.c: typo "powf()" lend to crashes under windows, fixed 2000-11-25 18:56 robert * libmp3lame/: quantize.c, quantize.h, vbrquantize.c: small fix for vbr-mtrh mode 2000-11-25 18:18 robert * libmp3lame/: lame.c, quantize.c, quantize_pvt.c, quantize_pvt.h, util.h, vbrquantize.c: removed superfluous memset in vbr_noise_shaping2() some veryminor speed up for cbr amp_scalefac cleanup 2000-11-24 17:28 robert * frontend/gtkanal.c: Patches by Frank: - documentation - introduced gfc->channels_in - renamed gfc->stereo into gfc->channels_out (note by me: stereo would imply a boolean type stereo ? yes/no what's really annoying and confusing is that we didn't used it that way, but instead stereo=1 -> mono/1-channel, stereo=2 -> stereo/2-channels) - minor bug fixes for BitrateIndex search 2000-11-24 17:06 robert * include/lame.h, libmp3lame/bitstream.c, libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/newmdct.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/reservoir.c, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c: Patches by Frank: - documentation - introduced gfc->channels_in - renamed gfc->stereo into gfc->channels_out (note by me: stereo would imply a boolean type stereo ? yes/no what's really annoying and confusing is that we didn't used it that way, but instead stereo=1 -> mono/1-channel, stereo=2 -> stereo/2-channels) - minor bug fixes for BitrateIndex search 2000-11-23 23:19 robert * libmp3lame/vbrquantize.c: some loops manually unrolled into "Duff's Device" speed improvement for --vbr-mtrh GCC compiled ca. 5 % overall speed improvement for --vbr-mtrh Intel 4.5 compiled ca. 1-2 % looks like the intel compiler does a better job on loops compared to GCC. 2000-11-23 15:14 robert * Makefile.MSVC: compromise between size/speed/multi CPU, thanks to Dmitry 2000-11-23 13:06 aleidinger * misc/ath.c: readd support for other systems than linux (at least FreeBSD) 2000-11-22 21:03 robert * Makefile.MSVC: added little howto into Makefile.MSVC think MS C compiler works now again 2000-11-22 01:09 robert * frontend/parse.c: cosmetics 2000-11-22 00:30 robert * libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize_pvt.c, libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/util.c, libmp3lame/version.h, misc/ath.c: some patches by Frank - replace ath.c (has with Lame nothing to do) - lame.c: A line in my new code exchange (see ATHformula problems) - util.c: ATHformula changed over from kHz to cycles per second (last util formula with kHz been) - ATHformula below 20 cycles per second (instead of 10 cycles per second) limits (< 20 cycles per second are Infraschall, additionally the function becomes there completely useless) - quantize_pvt.c: Effects of ATHformula - tables.c: - something documents - -number of entries over one increases (20=>21, 11=>12, etc..) - SNR_s converted and to the obvious values 0.15/0.18/0.20/0.25/0.30/0.35/0.40 rounded. - w1 and w2 with 576 multiply (error is < 0.91*10^-3, it seems in the tables both to have been rounded off as well as with minimum error have been rounded) - end to OF DATA marker to the integrity test inserted - a reading in of the table revises: psymodel.c - fewer error-prone code (fewer * p++) - meaningful error messages for problem localization - Peeeeeeps in the case of error - removing from loop (now j, is used only farther back; and adapted by k2) - ATHformula - util.c - some amusing " while" Konstrukte, which originate still from the ISO code, transformed into the appropriate " for" Konstrukte (with it first some amusing things are noticeable, so e.g. why starting from index 0 instead of 1 are looked up?) 2000-11-21 22:15 robert * Makefile.MSVC, frontend/gtkanal.c: some reorganization in Makefile.MSVC it's now more commandline configurable 2000-11-20 20:45 robert * frontend/: mp3x.c, parse.c: fix for mp3x.c: showed usage twice fix for parse.c: lame_version_print() in some situations the text is longer than 80 characters now the url will be wrapped into the next line, right aligned if 80 character aren't enough 2000-11-20 15:08 robert * Makefile.MSVC, Makefile.unix, frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize.c: overhauled Makefile.MSVC for easier configuration design bug in parse.c fixed (should not include files from engine) 2000-11-20 01:48 robert * Makefile.MSVC, Dll/BladeMP3EncDLL.c: it's now possible to compile lame_enc.dll with Makefile.MSVC tried the DLL with CD-ex, seems to work 2000-11-20 00:16 robert * Makefile.MSVC: updated Compile Flags due to crashes added rule to generate config.h out of configMS.h first try to let the dll compile, still does not work 2000-11-19 14:12 robert * Makefile.MSVC, Makefile.unix, frontend/gtkanal.c, libmp3lame/lame.c: Some bugs fixed introduced due to configure stuff and others 2000-11-19 11:26 aleidinger * Makefile.MSVC: bugfix for decoder define 2000-11-18 12:13 aleidinger * frontend/Makefile.in: regen (unbreak build) 2000-11-18 12:12 aleidinger * frontend/Makefile.am: bugfix after removing ieeefloat.* 2000-11-18 10:50 aleidinger * frontend/brhist.c, frontend/get_audio.c, frontend/gpkplotting.c, frontend/gtkanal.c, frontend/lame.dsp, frontend/lametime.c, frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c, frontend/portableio.c, frontend/rtp.c, frontend/timestatus.c, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/debugscalefac.c, libmp3lame/encoder.c, libmp3lame/fft.c, libmp3lame/id3tag.c, libmp3lame/lame.c, libmp3lame/libmp3lame.dsp, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/vbrquantize.c, libmp3lame/version.c, libmp3lame/vorbis_interface.c, misc/abx.c, misc/ath.c, mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/interface.c, mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c, mpglib/mpglib.dsp, mpglib/tabinit.c: include configMS.h on Windows 2000-11-18 10:49 aleidinger * Makefile.MSVC, Makefile.DJGPP: define HAVE_CONFIG_MS_H for Windows 2000-11-18 10:49 aleidinger * Makefile.in: regen (configMS.h) 2000-11-18 10:48 aleidinger * Makefile.am, configMS.h: introduce configMS.h for Windows 2000-11-18 05:40 markt * README.Debian, debian/changelog, debian/control, debian/copyright, debian/cron.d.ex, debian/dirs, debian/docs, debian/emacsen-install.ex, debian/emacsen-remove.ex, debian/emacsen-startup.ex, debian/ex.doc-base.package, debian/files, debian/init.d.ex, debian/manpage.1.ex, debian/manpage.sgml.ex, debian/menu.ex, debian/postinst.debhelper, debian/postinst.ex, debian/postrm.ex, debian/preinst.ex, debian/prerm.debhelper, debian/prerm.ex, debian/rules, debian/substvars, debian/watch.ex, frontend/brhist.c, frontend/get_audio.c, frontend/main.c: added debian stuff. Make one of the KLEMM's the default 2000-11-18 04:30 markt * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.in, Makefile.unix, Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in, frontend/get_audio.c, frontend/portableio.c, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, mpglib/Makefile.in: Makefiles: removed ieeefloat.* from makefiles. get_audio.c: replaced DetermineByteOrder with original routine. 2000-11-18 04:24 markt * frontend/: Makefile.am, Makefile.in, get_audio.c, get_audio.h, ieeefloat.c, ieeefloat.h, portableio.c, portableio.h: Removed ieeefloat.* 2000-11-15 18:52 aleidinger * frontend/get_audio.c: only allow fast SwapBytesInWords if SIZEOF_UNSIGNED_LONG is defined 2000-11-14 12:25 aleidinger * libmp3lame/resample.h: remove define of INLINE 2000-11-14 12:24 aleidinger * frontend/ieeefloat.c: let configure handle little/big endianess 2000-11-14 12:20 aleidinger * libmp3lame/: bitstream.c, fft.c, newmdct.c, psymodel.c, quantize.c, takehiro.c, util.c: INLINE -> inline 2000-11-14 12:19 aleidinger * libmp3lame/machine.h: As discussed on the mailinglist: - correct when to define INLINE/inline - INLINE -> inline, configure already does something similar 2000-11-14 12:18 aleidinger * libmp3lame/encoder.c: compile time resolvable assertions switched to compile time errors 2000-11-14 12:18 aleidinger * libmp3lame/lame.c: - compile time resolvable assertions switched to compile time errors - adjust version string 2000-11-14 12:17 aleidinger * frontend/parse.c: - adjust version string - sort system includes 2000-11-14 12:16 aleidinger * include/lame.h: - quiet 4 lclint "errors" - disable get_lame_about() 2000-11-14 12:15 aleidinger * libmp3lame/version.c: - switched from run time generated version strings to compile time generated ones - implement void get_lame_version_numerical(lame_version_t *const) (#ifdef'ed out) - disable get_lame_about(), snprintf isn't available in Win32 2000-11-13 14:11 aleidinger * dshow/Makefile.in: regen (add dshow.dsw) 2000-11-13 14:10 aleidinger * dshow/Makefile.am: add dshow.dsw 2000-11-13 14:10 aleidinger * misc/mugeco.sh: shell math instead of awk math (no leading zeros needed) 2000-11-13 13:42 pgubanov * include/lame.h: Explicit CDECL for API 2000-11-13 13:31 pgubanov * dshow/: Encoder.h, Encoder.cpp, dshow.dsp: Synchronized with current LAME code 2000-11-13 10:57 aleidinger * libmp3lame/i386/Makefile.am: support for CONFIG_DEFS 2000-11-13 10:57 aleidinger * libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, frontend/Makefile.in: regen 2000-11-13 10:56 aleidinger * libmp3lame/Makefile.am, frontend/Makefile.am: - support for CONFIG_DEFS - possibility to exclude code to lint 2000-11-13 10:53 aleidinger * frontend/ieeefloat.c: remove CVS log tag/information, we have "cvs log" for this 2000-11-13 10:50 aleidinger * frontend/get_audio.c: - sort includes - compile time resolvable assertions switched to compile time errors - we didn't need to determine the size of "unsigned long" at runtime (KLEMM_10 case), we're able to do it at compile time (with the help of configure) 2000-11-13 10:48 aleidinger * libmp3lame/vbrquantize.c: - move define of TAKEHIRO_IEEE754_HACK into configure.in - commented out code -> ifdef'ed out code (I'm on a anti-warning rampage) 2000-11-13 10:47 aleidinger * libmp3lame/quantize_pvt.c: move define of TAKEHIRO_IEEE754_HACK into configure.in 2000-11-13 10:45 aleidinger * misc/: abx.c, ath.c: - include config.h - include correct soundcard.h (with support from configure) 2000-11-13 10:42 aleidinger * configure, config.h.in, Makefile.in: regen 2000-11-13 10:41 aleidinger * configure.in: - handle TAKEHIRO_IEEE754_HACK - support for 'CONFIG_DEFS="-Dxxx" ./configure' - handle endianess - check for soundcard.h 2000-11-13 10:39 aleidinger * mpglib/Makefile.in: regen (add possibility to exclude code for linting) 2000-11-13 10:38 aleidinger * mpglib/Makefile.am: add possibility to exclude code for linting 2000-11-13 10:35 aleidinger * misc/mugeco.sh: add start and stop date/time 2000-11-13 09:30 pgubanov * dshow/dshow.dsw: Initial release 2000-11-12 22:18 aleidinger * misc/mugeco.sh: add id 2000-11-12 22:17 aleidinger * misc/mugeco.sh: bugfix 2000-11-12 20:45 aleidinger * misc/Makefile.in: regen (add mugeco.sh) 2000-11-12 20:45 aleidinger * misc/Makefile.am: add mugeco.sh 2000-11-12 20:43 aleidinger * misc/mugeco.sh: first version of the multi generation encoder script 2000-11-12 10:57 aleidinger * Makefile.in, configure: regen (readd dshow) 2000-11-12 10:56 aleidinger * Makefile.am, configure.in: readd dshow 2000-11-11 23:20 pfk * Makefile.DJGPP, Makefile.am, Makefile.in, Makefile.in.old, Makefile.unix, USAGE, configure, configure.in, frontend/get_audio.c, frontend/get_audio.h, frontend/main.c, frontend/parse.c, libmp3lame/bitstream.c, libmp3lame/encoder.h, libmp3lame/lame.c, libmp3lame/resample.c, libmp3lame/resample.h, libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/i386/scalar.nas, misc/abx.c: A lot of very small changes. Most important is prparing of a more sofisticated method to determine the bandwidth and the MP3 sampling frequency. 2000-11-11 17:26 aleidinger * configure, Makefile.in: regen (add dshow) 2000-11-11 17:26 aleidinger * configure.in, Makefile.am: add dshow 2000-11-11 17:25 aleidinger * dshow/: Makefile.am, Makefile.in: initial version 2000-11-11 05:56 markt * testcase.mp3, libmp3lame/encoder.c, libmp3lame/machine.h, libmp3lame/util.c: updated testcases after changing some default settings 2000-11-11 05:47 markt * libmp3lame/encoder.c: make RH_VALIDATE_MS the default 2000-11-11 04:40 markt * frontend/parse.c, libmp3lame/lame.c, libmp3lame/util.c: undid some of Frank's changes to the resample code. 2000-11-11 01:55 markt * dshow/Encoder.cpp: [no log message] 2000-11-11 01:53 markt * dshow/: Encoder.cpp, Encoder.h, Mpegac.cpp, Mpegac.def, Mpegac.h, PropPage.cpp, PropPage.h, PropPage_adv.cpp, PropPage_adv.h, Property.rc, README, REG.CPP, REG.H, UIDS.H, dshow.dsp, iaudioprops.h, resource.h: directshow filter for LAME from Peter Gubanov 2000-11-10 23:18 pfk * frontend/get_audio.c, libmp3lame/lame.c, libmp3lame/machine.h, libmp3lame/resample.c, libmp3lame/resample.h, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/i386/scalar.nas, misc/scalartest.c: Resample continued. The old code now uses a 31 Tap FIR for HQ coding and a 7 Tap FIR for MQ and LQ coding. 2000-11-10 14:42 aleidinger * frontend/.cvsignore, libmp3lame/.cvsignore, mpglib/.cvsignore: add lclint.txt 2000-11-10 14:41 aleidinger * frontend/Makefile.in, libmp3lame/Makefile.in, mpglib/Makefile.in: regen (lclint target) 2000-11-10 14:40 aleidinger * config.h.in: regen (HAVE_EFENCE) 2000-11-10 14:39 aleidinger * configure: regen (disalbe-shared/HAVE_EFENCE) 2000-11-10 14:36 aleidinger * configure.in: - new default: no shared lib - define HAVE_EFENCE if apropriate 2000-11-10 14:33 aleidinger * mpglib/Makefile.am: add lclint target (564 code "errors" found so far) 2000-11-10 14:33 aleidinger * frontend/Makefile.am: add lclint target (471 code "errors" found so far) 2000-11-10 14:32 aleidinger * libmp3lame/Makefile.am: add lclint target (1505 code "errors" found so far) 2000-11-10 14:31 aleidinger * libmp3lame/quantize.c: fix RH_AMP (gfc = gfp->internal_flags) 2000-11-09 22:01 pfk * include/lame.h, libmp3lame/bitstream.c, libmp3lame/resample.c, libmp3lame/resample.h, libmp3lame/i386/scalar.nas, misc/ath.c, misc/scalartest.c: Start of resampling. 2000-11-09 00:29 pfk * testcase.mp3, libmp3lame/bitstream.c, libmp3lame/id3tag.c, libmp3lame/machine.h, libmp3lame/version.h, misc/ath.c: Small changes. - removed an old function strcasecmp (replaced by fuzzy_strcmp) - optimized region 2 bitcoder - remark about version.h (stringification) - INLINE = inline + static 2000-11-08 19:59 aleidinger * libmp3lame/resample.c, mpglib/layer1.c: include assert.h, seems to be forgotten in last commit (how could this compile?) 2000-11-07 23:06 pfk * frontend/get_audio.c, frontend/parse.c, frontend/timestatus.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/id3tag.c, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/version.c, libmp3lame/version.h, misc/ath.c, mpglib/layer1.c: Changed back to old report interface until we've discussed all possible versions and make a decision. Some bugfixes. Some remarks. 2000-11-07 15:36 aleidinger * configure: regen after: - HAVE{MPGLIB,VORBIS,GTK} -> HAVE_$1 - --disable-analyzer-hooks - --enable-efence 2000-11-07 15:36 aleidinger * config.h.in: HAVE{MPGLIB,VORBIS,GTK} -> HAVE_$1 2000-11-07 15:35 aleidinger * configure.in: - HAVE{MPGLIB,VORBIS,GTK} -> HAVE_$1 - --disable-analyzer-hooks - --enable-efence (use the ElectricFence malloc debugging library) 2000-11-07 15:31 aleidinger * frontend/get_audio.c, frontend/main.c, frontend/parse.c, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/vorbis_interface.c: HAVE{MPGLIB,VORBIS,GTK} -> HAVE_$1 2000-11-07 12:42 aleidinger * frontend/Makefile.in, libmp3lame/Makefile.in: regen after amiga_mpega.c move 2000-11-07 12:41 aleidinger * frontend/Makefile.am, libmp3lame/Makefile.am: follow the move of amiga_mpega.c from libmp3lame to frontend 2000-11-07 01:59 pfk * frontend/brhist.c, frontend/get_audio.c, frontend/get_audio.h, frontend/main.c, libmp3lame/bitstream.c, libmp3lame/version.h: minor changes. some options can be passed via "export LAMEOPT=..." 2000-11-07 00:58 cisc * Makefile.unix, frontend/amiga_mpega.c, libmp3lame/amiga_mpega.c: Moved amiga_mpega.c to frontend where it belongs, and added it to Makefile.unix 2000-11-07 00:14 markt * libmp3lame/: bitstream.c, encoder.c, lame.c, psymodel.c, psymodel.h, quantize.c, quantize.h, quantize_pvt.c, quantize_pvt.h, reservoir.c, reservoir.h, util.c, util.h, vbrquantize.c: removed lame_global_flags pointer from lame_internal_flags. 2000-11-06 23:19 markt * libmp3lame/: lame.c, quantize_pvt.c, util.c, util.h: fixed resample bug when resampling by integer amounts. 2000-11-06 19:26 cisc * API: Improved get_lame_xxx() API a little bit more 2000-11-06 19:22 cisc * frontend/gtkanal.c, frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/version.c, libmp3lame/version.h: Improved get_lame_xxx() API a little bit more 2000-11-06 17:29 robert * libmp3lame/: quantize.c, quantize_pvt.c: fixed segmentation fault in Frank's noise calculation implemented Todd Richmond's idea to speed up the outer_loop() 2000-11-06 12:31 aleidinger * libmp3lame/i386/.cvsignore: add .lst files 2000-11-06 08:22 markt * Makefile.am, configure.in, frontend/.indent.pro, frontend/brhist.c, libmp3lame/.indent.pro: went back to frame counts in VBR display 2000-11-06 04:24 markt * frontend/get_audio.c, mpglib/interface.c, mpglib/mpglib.h: cleaned up mpeg header search code in get_audio.c modified mpglib so we can move VBR header code into mpglib and out of the frontend code. a little more work is still needed. 2000-11-06 01:13 pfk * libmp3lame/: bitstream.c, bitstream.h, id3tag.c, util.o: Small changes for fuzzy ID3 tag compare. 2000-11-06 00:58 cisc * frontend/gtkanal.c, frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/version.c, libmp3lame/version.h: Modified get_lame_xxx() API so it's more re-entrance friendly (returning a const pointer from a static var that's changed every time the function is called is really dirty!). 2000-11-05 22:27 pfk * testcase.mp3, frontend/parse.c, frontend/rtp.h, frontend/timestatus.c, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h: Minor changes. Added -X8. 2000-11-05 18:29 pfk * frontend/get_audio.c, include/lame.h, libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/util.h, libmp3lame/util.o: Changed lame_init_???_init to Class_ID. On initialization this variable gets the value LAME_ID. Advantages documented. Some little Bugs fixed. 2000-11-05 17:13 takehiro * Makefile.in, configure, configure.in, Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, frontend/Makefile.in, frontend/main.c, frontend/parse.c, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/newmdct.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: configure.in: typo fix newmdct.c: precision fix(?) 2000-11-05 14:52 aleidinger * libmp3lame/i386/Makefile.in: regen (clean of generated .lst files) 2000-11-05 14:52 aleidinger * libmp3lame/i386/Makefile.am: add generated .lst files to files to clean 2000-11-05 14:41 aleidinger * misc/Makefile.in: regen after adding scalartest.c 2000-11-05 14:40 aleidinger * misc/Makefile.am: add scalartest.c 2000-11-05 14:34 aleidinger * libmp3lame/: util.c~, util.d, util.o: remove generated/backup files, seems they are commited by accident 2000-11-05 13:15 pfk * libmp3lame/: tools.c, tools.h: add file for generic tools. 2000-11-05 13:09 pfk * testcase.mp3, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/lame.c, libmp3lame/lameerror.h, libmp3lame/psymodel.c, libmp3lame/resample.c, libmp3lame/resample.h, libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/util.c, libmp3lame/util.c~, libmp3lame/util.d, libmp3lame/util.h, libmp3lame/util.o, libmp3lame/version.h, libmp3lame/i386/scalar.nas, misc/scalartest.c: * Changed psy_data from double to float (this ssem not to change any bit in MP3, but saves 20 KB). * Other, but small modifications 2000-11-05 00:19 pfk * frontend/brhist.c: bugfix. Sorry 2000-11-04 18:15 pfk * frontend/brhist.c, frontend/brhist.h, frontend/mp3rtp.c, frontend/rtp.c, frontend/rtp.h, frontend/timestatus.c, include/lame.h, libmp3lame/resample.c, libmp3lame/resample.h, libmp3lame/tables.c, libmp3lame/version.c, libmp3lame/i386/Makefile.am, libmp3lame/i386/Makefile.in, libmp3lame/i386/scalar.nas, misc/ath.c: small changes in brhist. some tests and modifications for streaming MP3. other unremarkable stuff 2000-11-04 02:18 pfk * doc/html/switchs.html, frontend/get_audio.c, frontend/timestatus.c: Unimportant changes. 2000-11-03 14:21 aleidinger * libmp3lame/id3tag.c: more 'const'nes, also saves some bytes in the generated .o 2000-11-03 14:13 aleidinger * libmp3lame/i386/Makefile.in: regen after change in Makefile.am 2000-11-03 14:13 aleidinger * libmp3lame/i386/Makefile.am: remove trailing backslash in last line of EXTRA_DIST 2000-11-03 14:08 aleidinger * doc/html/contributors.html: add myself to contributors 2000-11-03 14:07 aleidinger * configure: NOTERMCAP/TERMCAP_AVAILABLE -> HAVE_TERMCAP 2000-11-03 14:04 aleidinger * frontend/brhist.c, configure.in, config.h.in: NOTERMCAP/TERMCAP_AVAILABLE -> HAVE_TERMCAP 2000-11-03 14:00 aleidinger * frontend/parse.c: add missing include 2000-11-03 00:47 pfk * frontend/brhist.c, frontend/console.c, frontend/console.h, frontend/mp3rtp.c, frontend/parse.c, frontend/timestatus.c, include/lame.h, libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/resample.h, libmp3lame/util.c, libmp3lame/version.c, libmp3lame/version.h, libmp3lame/i386/Makefile.am, libmp3lame/i386/Makefile.in, libmp3lame/i386/scalar.nas: Minor changes. Biggest ist in bitstream.c, but triggered by KLEMM_14. 2000-11-02 17:16 pfk * TODO, frontend/brhist.c, frontend/console.c, frontend/console.h, libmp3lame/resample.c, libmp3lame/resample.h, libmp3lame/version.c, libmp3lame/i386/scalar.nas: These are minor changes to a version which fails on my computer. * MMX reporting added to get_lame_version(9 as requested by TODO. * Added 5 files for resampling and console IO. 2000-11-02 12:57 aleidinger * mpglib/: common.c, common.h: bugfix for --disable-decoder-layer1 case 2000-11-01 21:56 markt * LICENSE, frontend/parse.c, include/lame.h: updated LICENSE to remove comments about libsndfile, since libsndfile no longer included in library 2000-11-01 21:54 markt * libmp3lame/: .indent.pro, bitstream.c, version.h: added indent.pro back to CVS 2000-11-01 18:25 markt * STYLEGUIDE, libmp3lame/encoder.c: some more context fixes 2000-11-01 18:22 markt * libmp3lame/: newmdct.c, psymodel.c, quantize.c, quantize_pvt.c, reservoir.c, reservoir.h, takehiro.c, util.c, vbrquantize.c: removed more 'context'. lame now segfaults. 2000-11-01 18:06 markt * libmp3lame/: .indent.pro, VbrTag.c, fft.c, fft.h, id3tag.c, lame.c, newmdct.h, psymodel.h, quantize.h, quantize_pvt.h: removing 'context' 2000-11-01 17:56 markt * libmp3lame/: bitstream.c, bitstream.h, util.h: restored bitstream.c to original. drain_into_ancillary_data was written the way it is on purpose. dont change it without checking with me first 2000-11-01 17:46 markt * libmp3lame/util.h: [no log message] 2000-11-01 17:40 markt * libmp3lame/util.h: removed 'context' why was lame_internal_flags renamed context? This is under the catagory of cosmetic. 2000-11-01 17:32 markt * STYLEGUIDE, frontend/get_audio.c, frontend/parse.c, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c: removed some cosmetic changes. 2000-11-01 16:09 robert * frontend/: mp3rtp.c, rtp.c: mp3rtp was broken, does now compile again 2000-11-01 14:35 robert * libmp3lame/: quantize.c, quantize_pvt.h: only cosmetic changes, done by indent 2000-11-01 14:31 robert * frontend/.indent.pro, libmp3lame/.indent.pro, misc/.indent.pro: these files are used by the indent program to pretty format sources 2000-11-01 00:01 robert * frontend/: brhist.c, brhist.h, main.c, timestatus.c: some more brhist pretty print 2000-10-31 13:58 aleidinger * frontend/Makefile.in: regen after bugfix in Makefile.am 2000-10-31 13:57 aleidinger * frontend/Makefile.am: fix build of mp3x 2000-10-31 13:18 robert * Makefile.MSVC, frontend/brhist.c, frontend/lametime.h: fixes for bitrate histogram and MS compilation 2000-10-31 12:18 robert * frontend/: lametime.c, parse.c, timestatus.c: quick fixes for Console_IO stuff Console_IO is declared in brhist.c, but when compiling without bitrate histogram capabilities the code would not compile anymore 2000-10-30 23:58 robert * Makefile.MSVC, Makefile.unix: analyzer stuff was moved to frontend because of automake/configure 2000-10-30 22:34 robert * libmp3lame/vbrquantize.c: Takehiro's IEEE754 hack for VBR modes new and mtrh 2000-10-30 11:28 aleidinger * Makefile.in: we didn't need acconfig.h, so don't depend on it 2000-10-30 10:51 robert * libmp3lame/util.c: BUG fix for debug code for BUG fix for fill_buffer_resample() ;-( 2000-10-30 10:48 robert * libmp3lame/util.c: BUG fix for fill_buffer_resample() 2000-10-29 22:26 robert * libmp3lame/util.c: small fix for fill_buffer_resample() some buffers where too small allocated, but this will not really help, the routine has some ugly looking points left that need to be fixed. 2000-10-29 21:11 robert * libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, encoder.c, id3tag.c, lame.c, quantize.c, quantize_pvt.c, reservoir.c, reservoir.h, util.c, util.h, vbrquantize.c: gfp gfc stuff FINISHED for now 2000-10-29 20:03 robert * libmp3lame/: encoder.c, fft.c, fft.h, newmdct.c, newmdct.h, psymodel.c, psymodel.h, quantize_pvt.h, takehiro.c: a step further with this gfp gfc stuff 2000-10-29 19:15 robert * libmp3lame/: quantize_pvt.h, takehiro.c, util.h: some more gfc stuff 2000-10-29 18:12 robert * libmp3lame/: encoder.c, quantize.c, quantize.h, quantize_pvt.c, quantize_pvt.h, takehiro.c, vbrquantize.c: more on gfp gfc reorganization 2000-10-29 16:37 robert * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c, vbrquantize.c: gfp gfc reorganization 2000-10-29 13:58 robert * libmp3lame/: fft.c, lame.c, psymodel.c, quantize.c, quantize_pvt.c, util.h: data encapsulating Naoki's psymode 2000-10-29 12:52 aleidinger * .cvsignore: add some config.h related files 2000-10-29 12:51 aleidinger * configure: now with support for config.h 2000-10-29 12:50 aleidinger * Makefile.in, Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: regenerated after adding support for config.h 2000-10-29 12:49 aleidinger * frontend/Makefile.am, libmp3lame/Makefile.am, mpglib/Makefile.am: support for config.h 2000-10-29 12:47 aleidinger * config.h.in, stamp-h.in: config.h support 2000-10-29 12:45 aleidinger * frontend/brhist.c, frontend/get_audio.c, frontend/gpkplotting.c, frontend/gtkanal.c, frontend/ieeefloat.c, frontend/lametime.c, frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c, frontend/portableio.c, frontend/rtp.c, frontend/timestatus.c, configure.in, aclocal.m4: support for config.h 2000-10-29 12:41 aleidinger * mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/interface.c, mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c, mpglib/tabinit.c, libmp3lame/VbrTag.c, libmp3lame/amiga_mpega.c, libmp3lame/bitstream.c, libmp3lame/debugscalefac.c, libmp3lame/encoder.c, libmp3lame/fft.c, libmp3lame/id3tag.c, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/psymodel.c, libmp3lame/quantize.c, libmp3lame/quantize_pvt.c, libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/vbrquantize.c, libmp3lame/version.c, libmp3lame/vorbis_interface.c: support for config.h 2000-10-28 21:57 pfk * configure, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/lame.c: CRC table based code removed Ease CRC header calculation 2000-10-28 14:23 pfk * frontend/get_audio.c, frontend/lametime.c, frontend/lametime.h, frontend/main.c, frontend/mp3x.c, frontend/parse.c, include/lame.h, libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h: Moved 2 functions from util.c to lametime.c Fixed a memory leak caused by an early return bitstream: Local crc moved to gfp->crcvalue, next step can be to remove a function parameter minor changes 2000-10-28 12:31 robert * include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h: hunting some BUGs, but still not found encoding a mono VBR resampled to 11 kHz shows some strange behaviour 2000-10-28 10:47 aleidinger * Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: don't use gtar instead of tar 2000-10-28 10:42 aleidinger * lame.spec: lame.spec gets now generated at configure time from lame.spec.in 2000-10-28 10:40 aleidinger * Makefile.am, Makefile.in: - add lame.spec.in to distribution - remove lame.spec from distribution - show how long lame needs for the testcase 2000-10-28 10:35 aleidinger * configure.in, configure: - generate lame.spec from lame.spec.in - CPU specific optimizations (x86, gcc 2.7.3.x or better) 2000-10-28 10:32 aleidinger * lame.spec.in: template for configure to generate lame.spec 2000-10-28 01:29 pfk * include/lame.h, libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/version.h: short => sample_t in lame_encode_buffer and all the related stuff some essential but simple speedups in resampling code resulting MP3 will be different from previous code modification not finished, this is only half of the work 2000-10-27 23:04 robert * libmp3lame/vbrquantize.c: max_range tables 2000-10-27 21:50 pfk * frontend/main.c, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/util.c, libmp3lame/util.h: KLEMM_04(old) removed, scalar routines introduced. 2000-10-27 21:34 robert * libmp3lame/vbrquantize.c: LSF needs some different max_range tables I plugged some in and it seems to work they are designed after max_sfac_tab[6][4] you may look into scale_bitcount_lsf() 2000-10-27 16:30 robert * libmp3lame/: quantize.c, vbrquantize.c: LSF hack for vbr-mtrh VBR mode 2000-10-27 15:48 takehiro * libmp3lame/newmdct.c: bit optimization 2000-10-27 11:27 robert * libmp3lame/quantize_pvt.c, mpglib/layer3.c: BUG in frame analyzer fixed, there was some wild pointer used in layer3.c in preflag condition 2000-10-27 11:19 takehiro * libmp3lame/: machine.h, tables.c, tables.h, i386/choose_table.nas: 64bit int lookup table moved from C code to asm code. 2000-10-26 19:07 pfk * frontend/brhist.c, frontend/get_audio.c, frontend/mp3rtp.c, frontend/timestatus.c, include/lame.h, libmp3lame/bitstream.c, libmp3lame/psymodel.c, libmp3lame/util.c, misc/ath.c: Make some modifications active. No Termcap terms are now handled in the same way like termcap terms. 2000-10-25 22:18 robert * libmp3lame/: quantize.c, quantize.h, quantize_pvt.h, vbrquantize.c: improved vbr_mtrh VBR mode 2000-10-25 14:03 aleidinger * frontend/Makefile.am: prevent the CVS Id from being integrated into Makefile.in 2000-10-24 22:47 robert * Makefile.MSVC, Makefile.unix, libmp3lame/quantize.c: improved RH_AMP 2000-10-24 22:17 pfk * frontend/get_audio.c, libmp3lame/mpglib_interface.c, libmp3lame/psymodel.c: Better syncword recognization 2000-10-24 18:11 takehiro * configure, configure.in, frontend/Makefile.in, libmp3lame/machine.h: configure/configure.in added "--enable-all-float", which make FLOAT8 as float machine.h FLOAT (and FLOAT8) typedef fix for alpha processor 2000-10-24 17:44 takehiro * libmp3lame/newmdct.c: loop integration. "make test" may find some difference caused by some rounding problem 2000-10-24 15:01 robert * libmp3lame/quantize.c: fix for -q7 mode 2000-10-24 13:54 robert * libmp3lame/quantize.c: typo 2000-10-24 13:28 robert * libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h: some simplifications 2000-10-24 11:40 robert * Makefile.MSVC, Makefile.unix, libmp3lame/quantize.c: improvements, need some compile time defines, look into Makefile.unix 2000-10-23 18:59 robert * libmp3lame/machine.h: FLOAT is float, FLOAT8 is double again ;-) 2000-10-23 15:50 takehiro * Makefile.am, Makefile.in, frontend/Makefile.in: more make test update 2000-10-23 15:44 takehiro * libmp3lame/machine.h: sorry, mistaken check in.... 2000-10-23 15:40 takehiro * Makefile.am, Makefile.in, lame.spec, Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, frontend/Makefile.in, include/Makefile.in, libmp3lame/Makefile.in, libmp3lame/machine.h, libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in: "make test" update 2000-10-23 15:40 takehiro * libmp3lame/bitstream.c: cosmetic change 2000-10-23 10:16 aleidinger * Makefile.in: update after change to Makefile.am 2000-10-23 10:16 aleidinger * Makefile.am: let test targetbuild frontend/lame if it isn't already build - didn't work with "make -j 4 test" - IMHO the previous version was a feature (requested by Takehiro-san) splittet test target into more subtargets corrected testg target added CVS_RSH=ssh to update/diff target 2000-10-22 22:50 robert * libmp3lame/psymodel.c: fix for short block I introduced 2000-10-19 2000-10-22 18:20 pfk * Makefile.unix, frontend/brhist.c, frontend/brhist.h, frontend/get_audio.c, frontend/main.c, frontend/parse.c, frontend/parse.h, include/lame.h, libmp3lame/bitstream.c, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/lame.c, libmp3lame/reservoir.c, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/version.c, libmp3lame/version.h, misc/ath.c: A lot of small changes, most of them must be switched on via compile time defines. vbr displays shows MS and LR frames different. vbr displays depends on the current display width. 2000-10-22 15:36 takehiro * Makefile.am: do "make test" with one step 2000-10-22 15:28 takehiro * .cvsignore, Dll/.cvsignore, doc/.cvsignore, doc/html/.cvsignore, doc/man/.cvsignore, frontend/.cvsignore, include/.cvsignore, libmp3lame/.cvsignore, libmp3lame/i386/.cvsignore, misc/.cvsignore, mpglib/.cvsignore: igonore Makefile.am things (.libs, .deps, and so on) 2000-10-22 15:17 takehiro * libmp3lame/.cvsignore, mpglib/.cvsignore: added *.lo 2000-10-22 12:06 aleidinger * ltconfig, ltmain.sh, missing, mkinstalldirs: generated by automake/libtool 2000-10-22 12:02 aleidinger * frontend/Makefile.in, libmp3lame/Makefile.in, mpglib/Makefile.in: generated by automake 2000-10-22 12:01 aleidinger * configure: now with automake/libtool support 2000-10-22 12:00 aleidinger * confdefs.h: seems to get generated at configure time 2000-10-22 11:58 aleidinger * aclocal.m4: generated by aclocal 2000-10-22 11:58 aleidinger * configure.in: - add asm support if nasm is found (if we support this, see ASM_FOR_ARCH) - added automake support - added libtool support (a Dll user should look into "AC_LIBTOOL_WIN32_DLL" of the libtool documentation and send apropriate patches) - --enable-{mp3x,mp3rtp} - only build analyzer if GTK is present - set CPUTYPE (to use asm routines where supported) - --enable-decoder* -> --disable-decoder* 2000-10-22 11:57 aleidinger * acinclude.m4: remove GTK entry, "aclocal" takes care of it in aclocal.m4 2000-10-22 11:53 aleidinger * misc/Makefile.am: Initial automake support 2000-10-22 11:52 aleidinger * Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in, include/Makefile.in, libmp3lame/i386/Makefile.in, misc/Makefile.in, Makefile.in: generated by automake 2000-10-22 11:50 aleidinger * frontend/: README.Win32, gpkplotting.c, gpkplotting.h, gtkanal.c, gtkanal.h, mp3x.c, mp3x.dsp, mp3x.dsw: moved from analyzer/... because automake didn't allows sources for one program/library to be in more than one directory (at least without hacks) 2000-10-22 11:46 aleidinger * Makefile.am: - initial automake support - delete testcase.new.mp3 on "clean" - added "update" target, does a cvs update - added "diff" target, does a cvs diff -u 2000-10-22 11:44 aleidinger * frontend/Makefile.am: - initial automake support - conditionally build mp3x/mp3rtp 2000-10-22 11:43 aleidinger * libmp3lame/: Makefile.am, i386/Makefile.am: Initial automake/libtool support: - if nasm is detected and we have asm for this @CPUTYPE@: * include asm support - didn't build without decoder: "undefined reference to `mpg123_pinfo'" 2000-10-22 11:41 aleidinger * mpglib/Makefile.am: Initial automake/libtool support: - mpglib gets linked to libmp3lame.{a,so} - isn't installed on it's own 2000-10-22 11:39 aleidinger * Dll/Makefile.am, doc/Makefile.am, doc/html/Makefile.am, doc/man/Makefile.am, include/Makefile.am: Initial automake support. 2000-10-22 10:19 takehiro * libmp3lame/: l3side.h, newmdct.c, quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c, vbrquantize.c: 1. changed sfb_smax to sfb_smin. it is really minimum number, and so confusing. 2. prepare for mixed block 3. prepare for asm quantize code 2000-10-22 09:41 takehiro * libmp3lame/: fft.c, util.h: no need to be in internal flag for constants 2000-10-22 09:27 takehiro * libmp3lame/: Makefile.in, encoder.c, newmdct.c, newmdct.h, util.h: 1 (util.h) deleted unused flag from internal flags 2 (newmdct) in place code of mdct_short 3 some cosmetic change 2000-10-22 08:25 takehiro * libmp3lame/newmdct.c: code clean up 2000-10-22 06:56 takehiro * libmp3lame/machine.h: deleted old remark about asm routine 2000-10-22 06:56 takehiro * libmp3lame/newmdct.c: code cleanup 2000-10-21 19:28 takehiro * libmp3lame/: quantize_pvt.c, i386/choose_table.nas: reduce memory assumption little and bit faster choose_table 2000-10-21 19:11 takehiro * libmp3lame/newmdct.c: add coment and remove unused code 2000-10-21 19:01 takehiro * libmp3lame/newmdct.c: bit optimization and now thread safe, I think. 2000-10-21 17:24 takehiro * libmp3lame/newmdct.c: brute force loop unrolling and some elimination of multiple. bit faster. 2000-10-21 13:05 robert * libmp3lame/: encoder.c, quantize.c, quantize_pvt.c, quantize_pvt.h, vbrquantize.c: frame analyzer info will now be set up in main encoding routine only, for the whole frame. problem with SCFSI fixed 2000-10-20 21:46 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h: Added lame alpha, beta version and if MMX is enabled to the version interface, should be backward compatible 2000-10-20 21:43 afaber * frontend/brhist.c: Fixed histgramming display for Win32, added fflush 2000-10-20 20:50 afaber * frontend/: brhist.c, brhist.h: Resolved const mistach beween BRHIST function declartions 2000-10-20 20:49 afaber * libmp3lame/libmp3lame.dsp: Added MPGLIB define 2000-10-20 19:28 robert * misc/: abx.c, ath.c: initial checkin 2000-10-20 13:04 robert * libmp3lame/: quantize.c, vbrquantize.c: I think I fixed a BUG in subblock gain code 2000-10-19 21:10 robert * frontend/parse.c, include/lame.h, libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize.c: fixed BUG in atQ table, removed --raise-smr stuff 2000-10-18 17:34 robert * libmp3lame/lame-analysis.h: no way to disable analysis for lame-lib 2000-10-18 16:47 robert * libmp3lame/lame-analysis.h, mpglib/layer3.c, mpglib/mpglib.h: fixed some ambiguities define NOANALYSIS as suggested in INSTALL if you don't want to collect some analysis data 2000-10-18 11:18 robert * frontend/brhist.c, include/lame.h, libmp3lame/lame.c: some tweaks 2000-10-18 11:02 shibatch * libmp3lame/psymodel.c: Rewrote double to FLOAT8. 2000-10-18 10:55 shibatch * libmp3lame/psymodel.c: Added short block pre-echo control to --nspsytune. This improves castanets.wav. 2000-10-17 22:59 pfk * STYLEGUIDE, frontend/brhist.c, frontend/brhist.h, frontend/get_audio.h, frontend/main.c, frontend/parse.c, frontend/parse.h, frontend/timestatus.c, include/lame.h, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/psymodel.c, libmp3lame/util.h: * small changes to prepare to add a lame float interface * other stuff 2000-10-17 00:13 pfk * Makefile.unix, frontend/brhist.c, frontend/brhist.h, frontend/get_audio.c, frontend/timestatus.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/fft.c, libmp3lame/lame.c, libmp3lame/mpglib_interface.c, libmp3lame/quantize_pvt.c, libmp3lame/version.c, libmp3lame/version.h: removed some shorts. two version of version report some minor changes 2000-10-16 22:19 robert * frontend/: brhist.c, main.c: cosmetics 2000-10-16 19:55 florian * Makefile.in, configure, configure.in, libmp3lame/Makefile.in, libmp3lame/lame.c, mpglib/Makefile.in: integrated Alexanders patch, minor bug fixes 2000-10-16 19:29 robert * libmp3lame/: tables.c, tables.h, takehiro.c: takehiro.c now thread safer 2000-10-16 19:27 robert * frontend/brhist.h: missing include files 2000-10-16 10:03 robert * Makefile.unix: some convenience 2000-10-16 02:40 markt * include/lame.h, libmp3lame/VbrTag.c: [no log message] 2000-10-16 02:29 markt * include/lame.h: added some prototypes. no code yet 2000-10-16 02:29 markt * API: added some lame_set_variable prototypes in lame.h 2000-10-16 02:17 markt * frontend/mp3rtp.c, include/lame.h, libmp3lame/fft.h, libmp3lame/lame.c: fixed fft.h defines 2000-10-16 02:12 markt * API, Makefile.in, configure, configure.in: broken frame analyzer fixed - -DANALYSIS was missing from default library build 2000-10-16 01:38 markt * frontend/: get_audio.c, main.c, mp3rtp.c: fixed broken fskip() 2000-10-16 01:37 markt * STYLEGUIDE, Dll/BladeMP3EncDLL.c: fixed Frank's broken fskip() 2000-10-16 00:44 markt * libmp3lame/: Makefile.in, mpglib_interface.c, util.c, util.h: made data for resampling dynamically allocated 2000-10-16 00:28 pfk * STYLEGUIDE, frontend/brhist.c, frontend/brhist.h, frontend/get_audio.c, frontend/parse.c, frontend/timestatus.c, frontend/timestatus.h: Most changes must be switched on via KLEMM_0[0-9]. Also some minor changes. Start of short documenation of the source code. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ **************** *** #defines *** **************** KLEMM_01: Use my experimental data to calculate ATH But masking for >16 kHz seems to be buggy. KLEMM_02: lame_set_stream_binary_mode() and lame_get_file_size() as lib function, still searching a better place for that KLEMM_03: not more used KLEMM_04: faster FIR filter with less rounding errors KLEMM_05: sparse VBR bitrate display KLEMM_06: fskip() uses fseek() if possible KLEMM_07: use of timestatus_klemm.c which only uses timestatus.c functions, some code clarification and documentation 2000-10-15 22:46 markt * libmp3lame/: util.c, util.h: lowpass filtering data structurs made dynamic 2000-10-15 21:23 markt * USAGE: [no log message] 2000-10-15 21:17 markt * frontend/get_audio.c, libmp3lame/VbrTag.c: Fixed bug parsing Xing VBR header: lame will now compute correct number of frames when decoding 2000-10-15 20:54 markt * Makefile.unix, frontend/get_audio.c, frontend/main.c: playback bugfix 2000-10-15 20:12 markt * Dll/BladeMP3EncDLL.c: msv6 dll project files updated 2000-10-15 20:11 markt * Dll/: MP3EncDll.dsp, MP3EncDll.dsw (MSVC6): msvc6 update 2000-10-15 20:05 markt * Dll/: MP3EncDll.dsp, MP3EncDll.dsw: reverted back to MSVC5 project files. accidently changed them to my MSVC6 versions. Albert, when are you goint to upgrade!!!! 2000-10-15 20:02 markt * Dll/: MP3EncDll.dsp, MP3EncDll.dsw: msv6 dll project files updated 2000-10-15 19:51 markt * libmp3lame/lame.c: fixed typo 2000-10-15 19:33 markt * USAGE, include/lame.h, libmp3lame/lame.c: updated USAGE 2000-10-15 19:10 markt * API, USAGE, Dll/BladeMP3EncDLL.c: edited API, USAGE 2000-10-14 19:18 robert * libmp3lame/i386/cpu_feat.nas: BUG in 3DNow detection fixed, was my faulty porting to NASM 2000-10-14 11:42 robert * libmp3lame/: takehiro.c, util.h: takehiro.c now thread safe ? 2000-10-14 10:08 pfk * frontend/brhist.c, libmp3lame/psymodel.c: psymodel: FIR filter changed, trigger with KLEMM_04 brhist: display changed back to the old display, new display must be triggered by KLEMM_05 2000-10-13 22:58 pfk * frontend/brhist.c, frontend/brhist.h, frontend/main.c, frontend/timestatus.c, include/lame.h, libmp3lame/util.c: Changes are commented in brhist.c or must be enabled with KLEMM_xx. 2000-10-13 16:43 robert * frontend/brhist.c, frontend/brhist.h, frontend/main.c, include/lame.h, libmp3lame/lame.c: bitrate histogram is working again 2000-10-13 15:24 robert * Makefile.unix: small fixes 2000-10-13 05:37 florian * frontend/Makefile.in, frontend/Makefile.in.old, libmp3lame/Makefile.in, libmp3lame/Makefile.in.old: prepare for automake: new vars, system dependent checks to configure.in 2000-10-13 05:17 florian * Makefile.in, Makefile.in.old, configure, configure.in, configure.in.old: prepare for automake: new vars, system dependent checks to configure.in 2000-10-12 19:19 florian * acinclude.m4, aclocal.m4, configure.in: Preparing for automake 2000-10-12 17:48 robert * Makefile.MSVC, Makefile.unix: NASM specific fixes 2000-10-12 17:19 robert * libmp3lame/i386/cpu_feat.nas: CPU feature code using NASM 2000-10-12 17:18 robert * Makefile.MSVC, libmp3lame/Makefile.in, libmp3lame/util.c: CPU feature detection code now using NASM 2000-10-12 08:59 shibatch * libmp3lame/: psymodel.c, quantize.c, quantize_pvt.c, util.h: Add two new features to --nspsytune. 1. New block type selecting algorithm. 2. Improved noise shaping at high bitrate CBR. Turned on by -q1 --nspsytune. 2000-10-12 00:50 robert * Makefile.MSVC: it's getting better :-) 2000-10-12 00:49 robert * frontend/parse.c: BUG fix in case LAME compiled without GTK, then called with -g 2000-10-11 23:08 robert * libmp3lame/: Makefile.in, quantize_pvt.c, util.c: fixes for Frank's ATH 2000-10-11 18:45 robert * include/lame.h, libmp3lame/lame.c: added alternative to lame_encode_finish: - lame_encode_flush, does the same as lame_encode_finish but will not free lame internal buffers - lame_close, will free lame internal buffers So the following is equivalent to lame_encode_finish lame_encode_flush() lame_close() But this adds the possibility to get some more analyzing after all frames are encoded. Suggested to use with lame_bitrate_hist() lame_stereo_mode_hist() 2000-10-11 17:54 robert * libmp3lame/: encoder.c, lame.c, util.c, util.h: simple statistics (histogram) added, problem: lame_encode_finish() also frees internal buffer solution: two new functions splitting lame_encode_finish() into lame_encode_flush() and lame_close() 2000-10-10 23:18 pfk * libmp3lame/util.c: Additional ATH calculation (enabled by KLEMM_01). 2000-10-10 20:26 robert * libmp3lame/: lame.c, takehiro.c: use of MMX should be safe on non MMX CPUs now, but this will not work on Microsoft platforms. We will have to adapt the assembler routines for the MS assembler or for NASM. 2000-10-10 19:36 robert * Makefile.MSVC, libmp3lame/util.c: Makefile work 2000-10-10 18:34 robert * libmp3lame/lame.c: cut'n'paste devil :( 2000-10-10 18:28 robert * libmp3lame/: lame.c, util.c, util.h: Frank's CPU feature detection code added 2000-10-10 17:59 afaber * Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.h, frontend/brhist.c, libmp3lame/VbrTag.c, libmp3lame/libmp3lame.dsp: MSVC Win32 updates, added Alpha Beta version numbers to DLL version structure (should be backward compatible) 2000-10-10 05:31 markt * TODO: notes about what needs to be done for configure 2000-10-09 19:55 markt * libmp3lame/: encoder.h, lame-analysis.h: [no log message] 2000-10-09 19:55 markt * TODO, frontend/timestatus.c, include/lame.h: generic cleanup 2000-10-09 19:42 markt * TODO: frame analyzer now works with ./configure, at least for linux 2000-10-09 19:29 markt * Makefile.B32, Makefile.DJGPP, Makefile.MSVC, TODO, configure, configure.in, frontend/get_audio.c, frontend/get_audio.h: attept to fix Makefiles.B32, DJGPP, MSVC. 2000-10-09 16:27 markt * libmp3lame/lame-analysis.h: [no log message] 2000-10-09 16:23 markt * Makefile.in, Makefile.unix, aclocal.m4, configure, configure.in, frontend/Makefile.in, frontend/main.h, libmp3lame/lame-analysis.h: moved mp3x -> analyzer (name was clashing with executable name) work on configure to get mp3x to compile (not yet done) but gtk stuff in configure.in now working 2000-10-09 14:38 markt * libmp3lame/lame.c: added a comment about downsampling 2000-10-08 20:08 markt * frontend/main.c, frontend/timestatus.c, include/lame.h, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h, libmp3lame/encoder.c, libmp3lame/lame.c: cleaned up VBR tag stuff 2000-10-08 19:43 markt * frontend/get_audio.c, frontend/get_audio.h, frontend/main.c, frontend/main.h, frontend/mp3rtp.c, frontend/parse.c, frontend/parse.h, frontend/timestatus.c, frontend/timestatus.h, include/lame.h, libmp3lame/lame.c, libmp3lame/version.c, libmp3lame/version.h: lots of changes, just trying to get things to compile. 2000-10-08 17:48 markt * libmp3lame/id3tag.h: Trying to add id3tag.h again. 2000-10-07 08:25 robert * lame4dos.bat: bug fixes by Alexander Stumpf 2000-10-07 05:04 markt * libmp3lame/: id3tag.c, util.h: missing id3tag.h include files for util.h, id3tag.c 2000-10-07 05:00 markt * INSTALL, Makefile.unix, Dll/LameDLLInterface.htm, frontend/main.c, frontend/main.h, include/lame.h, libmp3lame/id3tag.c, libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h: id3tag_spec made it back into lame.h. deleted. frameNum has to be in the library - the front end has no way of correctly counting frames unless it parses the mp3 output headers. totalframes should also probably be in the library. 2000-10-06 21:16 florian * Makefile.in, configure, configure.in, frontend/Makefile.in, libmp3lame/Makefile.in: minor changes for install and uninstall 2000-10-06 13:19 takehiro * libmp3lame/: id3tag.c, lame.c, util.h: quick fix, maybe work but not checked hard 2000-10-06 13:19 takehiro * frontend/main.c, include/lame.h: quick fix, I don't check this 2000-10-06 00:55 markt * libmp3lame/: id3tag.c, lame.c, util.h: id3tag cleanup 2000-10-06 00:54 markt * frontend/parse.c, include/lame.h: id3 stuff cleaned up. id3 related strucs made internal to the library 2000-10-05 19:53 cisc * frontend/: get_audio.c, get_audio.h: small correction 2000-10-05 05:18 markt * TODO, frontend/Makefile.in: [no log message] 2000-10-05 05:13 markt * Makefile.in, configure, configure.in, libmp3lame/Makefile.in: more configure work. 2000-10-05 04:50 markt * testcase.mp3: updated testcase 2000-10-05 04:49 markt * Makefile.in, libmp3lame/psymodel.c: added comment about Naoki's blocktype bug fix. also, for JSTEREO but with the '-d' option, L and R channels can have different block types, so we cant just look at the block type for channel 0 2000-10-05 04:31 markt * Makefile.in, frontend/Makefile.in: forgot to add Makefile.in 2000-10-04 22:37 robert * Lame.vbs: needs Windows Script >= 5.1, donated by Ralf Kempkens 2000-10-04 17:13 afaber * Dll/Example.dsw, Dll/MP3EncDll.dsp, libmp3lame/libmp3lame.dsp, mpglib/mpglib.dsp: MSVC project update(s) to new layout of the libmp3lame files 2000-10-04 12:48 shibatch * libmp3lame/psymodel.c: Bugfix of long block pre-echo control. 2000-10-04 12:13 takehiro * libmp3lame/i386/: choose_table.nas, fft.nas, fft3dn.nas, fftfpu.nas, fftsse.nas, ffttbl.nas, nasm.h: moved i386 directory 2000-10-04 04:26 markt * libmp3lame/Makefile.in: [no log message] 2000-10-04 04:23 markt * configure, configure.in: make still does not work. some kind of infinite loop 2000-10-04 04:00 markt * Makefile.unix: more configure work 2000-10-04 03:54 markt * Makefile.in, Makefile.unix, VbrTag.c, VbrTag.h, amiga_mpega.c, bitstream.c, bitstream.h, configure, configure.in, debugscalefac.c, encoder.c, encoder.h, fft.c, fft.h, id3tag.c, l3side.h, lame-analysis.h, lame.c, machine.h, mpglib_interface.c, newmdct.c, newmdct.h, psymodel.c, psymodel.h, quantize.c, quantize.h, quantize_pvt.c, quantize_pvt.h, reservoir.c, reservoir.h, tables.c, tables.h, takehiro.c, util.c, util.h, vbrquantize.c, version.c, version.h, vorbis_interface.c, libmp3lame/Makefile.am, libmp3lame/Makefile.in, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h, libmp3lame/amiga_mpega.c, libmp3lame/bitstream.c, libmp3lame/bitstream.h, libmp3lame/debugscalefac.c, libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c, libmp3lame/fft.h, libmp3lame/id3tag.c, libmp3lame/l3side.h, libmp3lame/lame-analysis.h, libmp3lame/lame.c, libmp3lame/machine.h, libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c, libmp3lame/newmdct.h, libmp3lame/psymodel.c, libmp3lame/psymodel.h, libmp3lame/quantize.c, libmp3lame/quantize.h, libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h, libmp3lame/reservoir.c, libmp3lame/reservoir.h, libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c, libmp3lame/version.c, libmp3lame/version.h, libmp3lame/vorbis_interface.c: Moved everything to libmp3lame. worked on configure, but not quite working. 2000-10-04 03:01 markt * frontend/aclocal.m4, frontend/configure, frontend/configure.in, mpglib/configure, mpglib/configure.in: removed more configure files in subdirectories. There should only be one ./configure, in the main directory 2000-10-04 02:57 markt * configure, configure.in, frontend/get_audio.c, frontend/get_audio.h, frontend/timestatus.c, frontend/timestatus.h: more configure work 2000-10-04 01:07 markt * configure, configure.in, frontend/Makefile.in: more configure patches for frontend. 2000-10-04 01:02 markt * TODO, configure, configure.in, frontend/configure: new configure that doesn't run configure in all the subdirectories! 2000-10-03 22:08 afaber * README.WINGTK, lamelib.dsp, frontend/lame.dsp, frontend/lame.dsw, libmp3lame/libmp3lame.dsp, mpglib/mpglib.dsp: Re-organized some of the MSVC project files, fixes to compile mp3x again on Win32 platform 2000-10-03 17:56 robert * fft.c: removed unused includes 2000-10-03 10:32 robert * fft.c, fft.h, lame.c, psymodel.c, quantize.c, quantize_pvt.c, util.h: fft.c now thread safe !? 2000-10-03 09:44 robert * encoder.c, newmdct.c, newmdct.h: removed redundancies 2000-10-03 09:43 robert * testcase.mp3: updated testcase for LAME 3.88 alpha 1 2000-10-03 04:07 markt * INSTALL: Some configure options are for the library, some are for the front end. How do we pass front end options to frontend/configure? 2000-10-03 03:57 markt * Makefile.in: [no log message] 2000-10-02 10:15 markt * Makefile.in: make -> $(MAKE) 2000-10-02 09:00 markt * quantize_pvt.h: Fix for winamp bug. (commented out for now) 2000-10-02 06:20 markt * aclocal.m4, configure, configure.in, frontend/configure, frontend/configure.in: configure updates 2000-10-01 19:05 afaber * lamelib.dsp, frontend/lame.dsp, mpglib/mpglib.dsp: Adapted project file in order to compile it again with the MSVC compiler 2000-10-01 18:34 markt * Makefile.in: [no log message] 2000-10-01 18:25 markt * INSTALL, Makefile.in, id3tag.c, lame-analysis.h, lame.c, frontend/Makefile.in, frontend/configure, frontend/configure.in, frontend/main.c, frontend/parse.c, include/lame-analysis.h, include/lame-id3tag.h, include/lame.h: trying to move decoding back into library 2000-10-01 17:58 afaber * frontend/get_audio.c: Make it compile again with MSVC compiler 2000-10-01 17:17 markt * frontend/: gpkplotting.c, gpkplotting.h, gtkanal.c, main.c, mp3x.c: moved GTK frame analyzer stuff into mp3x 2000-10-01 15:29 takehiro * Makefile.in, aclocal.m4, configure, configure.in, mpglib_interface.c, vorbis_interface.c, frontend/Makefile.in, frontend/get_audio.c, frontend/main.c, frontend/vorbis_interface.c, mpglib/Makefile.in, mpglib/configure, mpglib/configure.in, mpglib/main.c: more modularization work. VORBIS and mpglib interface is now in the libmp3lame library. functions in these files are wrapper of mpglib/libvorbis. I think it is ok to include them in libmp3lame. 2000-10-01 15:19 takehiro * VbrTag.c: merged VbrTag.h into lame.h 2000-10-01 15:03 takehiro * encoder.c, lame.c, util.h, Dll/BladeMP3EncDLL.c, frontend/get_audio.c, include/lame.h: merged VbrTag.h into lame.h 2000-10-01 11:28 afaber * mpglib/: common.c, common.h, dct64_i386.c, decode_i386.c, interface.c, interface.h, layer1.c, layer1.h, layer2.c, layer2.h, layer3.c, layer3.h, main.c, mpg123.h, mpglib.dsp, mpglib.h, dct64_i386.h, decode_i386.h: More MPGLIB cleanup, got rid of the global mpstr struct gmp (in order to make lib thread safe) 2000-10-01 10:40 afaber * mpglib/: common.c, common.h, decode_i386.c, interface.c, layer3.c, mpg123.h: Cleanup of mpg123.h file (still need to get rid of the dirty extern gmp hack) 2000-10-01 10:05 afaber * mpglib/: layer1.c, mpg123.h: Removed unused stuff in MPG123.h file, removed stuff that was commented out in Layer1.c 2000-10-01 10:00 afaber * mpglib/: mpg123.h, tabinit.c: Removed some double/float warnings, removed disable warnings pragma for MSVC compiler 2000-10-01 09:52 takehiro * lame.c, frontend/main.c: moved main_crc_init from frontend to library 2000-10-01 09:51 afaber * mpglib/: common.c, common.h, dct64_i386.c, decode_i386.c, interface.c, layer2.c, layer3.h, mpg123.h, mpglib.dsp, tabinit.c, tabinit.h: Reorganized some of the function prototypes, removed non existing function prototypes from common.h 2000-10-01 09:32 takehiro * libmp3lame/.cvsignore: initial check in for libmp3lame 2000-10-01 09:29 takehiro * libmp3lame/Makefile.am: check in for the feauture... 2000-10-01 09:09 afaber * bitstream.h, frontend/main.c: Added void main_CRC_init (void) function prototype in bitstream.h 2000-10-01 06:24 takehiro * frontend/: Makefile.in, mp3x.c: making frameanalyzer problem fixed 2000-10-01 04:56 markt * util.c: added Frank's normalization of Blackman filter coefficients. This had no effect on any of my resample test cases. 2000-09-30 15:32 markt * STYLEGUIDE: more notes on identation and int in STYLEGUIDE 2000-09-30 15:09 afaber * id3tag.c: fixed signed/unsigned mismatch 2000-09-30 14:50 markt * HACKING, bitstream.c, bitstream.h, util.c, util.h: added stuff in HACKING on how to handle global data moved freegfc() into util.c 2000-09-30 14:28 markt * util.c: number of pre-computed convolution windows determined dynamically. (storage still needs to malloc'd and free'd in lame_encode_finish). 2000-09-30 14:17 robert * Makefile.in: small fix 2000-09-30 13:14 afaber * Dll/: BladeMP3EncDLL.c, MP3EncDll.dsp: Changes in order to get it compile on a Win32 platform 2000-09-30 12:49 afaber * lamelib.dsp, VbrTag.h, lame.dsp, lame.dsw, frontend/brhist.c, frontend/get_audio.c, frontend/lame.dsp, frontend/lame.dsw, frontend/timestatus.c, mpglib/mpglib.dsp: Changes in order to get it compile on a Win32 platform 2000-09-30 08:29 takehiro * frontend/parse.c: renamed some functions 2000-09-30 08:21 takehiro * doc/html/: contributors.html, examples.html, history.html, id3.html, index.html, lame.css, modes.html, node6.html, switchs.html: new document for 3.87 from Gaby. 2000-09-30 08:15 takehiro * frontend/: configure, configure.in: debug about gtk detection 2000-09-30 07:54 takehiro * lame.c, frontend/get_audio.c, frontend/main.c, frontend/main.h, frontend/mp3rtp.c, frontend/parse.c, include/lame.h: removed outpath from library. 2000-09-30 06:58 takehiro * bitstream.c, bitstream.h, util.c, util.h: moved some code from util to bitstream 2000-09-30 04:40 markt * VbrTag.c, lame.c, frontend/vorbis_interface.c: re-enabled id3v2 tag and Xing vbr header 2000-09-29 18:16 takehiro * lame.c, frontend/get_audio.c, frontend/main.c, frontend/main.h, frontend/parse.c, frontend/timestatus.c, include/lame.h: "silent" and "brhist" is moved to frontend 2000-09-29 18:07 takehiro * lame.c, frontend/main.c, frontend/main.h, frontend/parse.c, frontend/timestatus.c, include/lame.h: "update_interval" is moved to frontend 2000-09-29 17:49 takehiro * encoder.c, lame.c, psymodel.c, quantize.c, vbrquantize.c, frontend/main.c, frontend/parse.c, include/lame-analysis.h, include/lame.h, frontend/mp3x.c: changed from "gtkflag" to "analysis", because it is not only for gtk. 2000-09-29 17:48 takehiro * frontend/timestatus.c: oops, timestatus not correctly displayed 2000-09-29 17:43 takehiro * id3tag.c, lame.c, quantize.c, quantize_pvt.c, util.h, vbrquantize.c, frontend/gtkanal.c, frontend/main.c, frontend/mp3x.c, frontend/parse.c, include/analysis.h, include/id3tag.h, include/lame-analysis.h, include/lame-id3tag.h, include/lame.h, mpglib/layer3.c, mpglib/mpglib.h: OK, Florian, I renamed include file avoid confusing. (it's so generic and not likely to be unique) 2000-09-29 17:31 takehiro * Makefile.in, encoder.c, lame.c, parse.c, psymodel.c, util.c, util.h, vbrquantize.c, frontend/Makefile.in, frontend/brhist.c, frontend/get_audio.c, frontend/get_audio.h, frontend/gtkanal.c, frontend/main.c, frontend/main.h, frontend/parse.c, frontend/parse.h, frontend/timestatus.c, frontend/vorbis_interface.c: 1. timestatus things are moved to frontend(maybe complete ?) 2. input file handling is moved to frontend(so the file input API is removed) 2000-09-29 04:51 markt * frontend/brhist.c, frontend/get_audio.c, frontend/get_audio.h, mpglib/main.c: removed analysis.h from get_audio.c typo in brhist.c 2000-09-28 23:31 robert * lame4dos.bat: improved lame.bat for 4DOS users, donated by Alexander Stumpf 2000-09-28 16:36 takehiro * Makefile.in, VbrTag.c, brhist.c, brhist.h, configure, configure.in, encoder.c, get_audio.c, get_audio.h, gpkplotting.c, gpkplotting.h, gtkanal.c, id3tag.h, ieeefloat.c, ieeefloat.h, lame.c, lametime.c, lametime.h, main.c, mp3rtp.c, mp3x.c, parse.c, portableio.c, portableio.h, psymodel.c, quantize.c, quantize_pvt.c, rtp.c, rtp.h, tables.c, timestatus.c, timestatus.h, util.c, util.h, vbrquantize.c, version.c, version.h, vorbis_interface.c, frontend/.cvsignore, frontend/Makefile.in, frontend/aclocal.m4, frontend/brhist.c, frontend/brhist.h, frontend/configure, frontend/configure.in, frontend/get_audio.c, frontend/get_audio.h, frontend/gpkplotting.c, frontend/gpkplotting.h, frontend/gtkanal.c, frontend/ieeefloat.c, frontend/ieeefloat.h, frontend/lametime.c, frontend/lametime.h, frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c, frontend/portableio.c, frontend/portableio.h, frontend/rtp.c, frontend/rtp.h, frontend/timestatus.c, frontend/timestatus.h, frontend/vorbis_interface.c, include/id3tag.h, include/lame.h, mpglib/Makefile.in, mpglib/layer3.c, mpglib/mpglib.h: moved frontend staffs into frontend/ Need to debug vorbis/mpglib/analyzer/bitrate histgram. still long way to go... HAVEGTK is changed ANALYSIS(library side) and HAVEGTK(frontend side) BRHIST is deleted from library. all the bitrate histogram works are now in frontend(but not works properly, yet). timestatus things are also moved to frontend. parse.c is now out of library. 2000-09-27 12:05 takehiro * include/analysis.h, gtkanal.h: moved gtkanal.h to include/analysis.h 2000-09-27 04:17 florian * Makefile.in: fixed make install -> move of lame.h broke it. 2000-09-26 17:47 takehiro * Makefile.in, gtkanal.h: more clean up and debug "make clean" 2000-09-26 17:35 takehiro * Makefile.in: moved more staff out of libmp3lame 2000-09-26 17:28 takehiro * Makefile.in: removed brhist.o etc from library 2000-09-26 17:25 takehiro * include/lame.h: lame.h moved to include 2000-09-26 17:24 takehiro * timestatus.c: little clean up 2000-09-26 17:03 takehiro * Makefile.in, configure, configure.in, lame.h: 1 moved lame.h into include/ 2 modularized work with mpglib 2000-09-26 16:59 cisc * amiga_mpega.c: Mark, you broke lame_decode_initfile(), what were you thinking? ;) .. anyways, fixed, and added new mp3data struct variables... 2000-09-26 15:48 takehiro * mpglib/: .cvsignore, Makefile.in, common.c, configure, configure.in, dct64_i386.c, decode_i386.c, interface.c, layer3.c, main.c, tabinit.c: configure support and more modularized work 2000-09-26 15:47 takehiro * mpglib/Makefile: now this is generated by configure 2000-09-26 05:22 markt * version.h: CVS is now 3.88 alpha 1 2000-09-26 04:49 markt * version.h: updated to 3.87 beta 2000-09-26 04:48 markt * get_audio.c, get_audio.h, gtkanal.c, timestatus.c, mpglib/main.c: removed all references to gfc-> from get_audio.c this was needed if we are going to move get_audio.c out of libmp3lame and into the front end code. 2000-09-26 01:00 markt * HACKING, STYLEGUIDE: [no log message] 2000-09-26 00:55 markt * CodingStyle.c, lametype.h: Removed two files 2000-09-26 00:09 markt * amiga_mpega.c, get_audio.c, lame.c, lame.h, timestatus.c, timestatus.h, util.h: when input file was a mp3, it was trashing a bunch of variables (mode, bitrate, etc..) 2000-09-25 21:37 robert * Makefile.MSVC: MMX choose table support, needs NASM (can be disabled) 2000-09-25 21:23 florian * configure, configure.in: changed default installation prefix to /usr (/usr/local/lib doesn't seem to be in default linker path) 2000-09-25 20:58 florian * Makefile.in: fixed shared lib (runtime linker information) 2000-09-25 15:20 markt * Makefile.in: removed ?= from makefile 2000-09-25 14:36 shibatch * psymodel.c: A small bugfix of --nspsytune. 2000-09-25 02:13 florian * configure, Makefile.in, configure.in: cleaner version handling of libmp3lame.so, uninstall target in Makefile 2000-09-25 00:30 markt * id3tag.c: fixed genre bug in id3tag.c 2000-09-24 22:59 markt * id3tag.c, vbrquantize.c: removed yet another unsigned loop counter 2000-09-24 21:53 robert * Makefile.MSVC: enabled Takehiro's IEEE hack 2000-09-24 14:59 robert * configure, configure.in: BUG fixed, which prevented using Layer1/2 decoding abilities 2000-09-24 14:34 robert * encoder.c, lame.c, quantize.c, quantize_pvt.c, quantize_pvt.h, util.h, vbrquantize.c: code cleanup and very little speedup 2000-09-24 12:38 robert * quantize.c: minor RH_AMP tweak, and once again, do not use tabulator within this file 2000-09-24 12:29 robert * quantize.c: please do not use tabulators within this file (better in no files) 2000-09-24 12:22 robert * VbrTag.c: minor BUG fix for MPEG-2(.5) 2000-09-24 11:39 takehiro * quantize.c: sorry, scalefac_scale did not have a bug. that was my compiler bug... 2000-09-24 10:38 afaber * mpglib/interface.c: Fixed MP1/2 decoding problem, for files that were encoded with a CRC 2000-09-24 01:32 markt * get_audio.c: minor fix to mp3 header parsing 2000-09-23 23:36 afaber * bitstream.c: removed unused variable bits 2000-09-23 23:36 afaber * id3tag.c: fixed signed/unsigned mismatch, added bitstream.h include file 2000-09-23 22:31 markt * VbrTag.c, bitstream.c, bitstream.h, id3tag.c, id3tag.h, lame.c, lame.h, main.c, parse.c: id3v1 and id3v2 tags now get written directly into the bitstream instead of into the output file. The only file I/O left in libmp3lame will be the VBR tag. 2000-09-23 21:13 markt * get_audio.c, lame.h, mpglib/main.c: removed lame_decode_fromfile() calls from the API, moved them into get_audio.c 2000-09-23 20:08 markt * lame.h, mpglib/main.c: some mpglib restructering. All mp3 routines which work with files now only make calls to lame_decode_* that are in the API. 2000-09-23 14:48 markt * VbrTag.c: bug in Xing header for MPEG2.5 fixed 2000-09-23 09:07 takehiro * quantize.c, quantize_pvt.c, util.c, util.h: workaround for subblock_gain and scalefac_scale artifact. I hope this will fix -q1 problems. 2000-09-23 02:11 markt * version.c: [no log message] 2000-09-23 01:23 markt * mpglib/main.c: [no log message] 2000-09-23 01:23 markt * VbrTag.c, VbrTag.h, lame.h, parse.c, util.c, util.h: bug fixed in decoding: if syncword found in Xing VBR header toc, it would confuse things. Also fixed overflow in vbrtag.c, and changed size of xing vbr header to 128kbs. This will make non-vbr aware players give a more reasonable playing time estimate. 2000-09-23 00:51 robert * psymodel.c: minor fix 2000-09-22 22:54 shibatch * quantize.c, quantize_pvt.c: Minor bugfixes of --nspsytune. Frame analyzer works correctly with --nspsytune. 2000-09-21 23:55 shibatch * parse.c, psymodel.c, quantize.c: Tweaks to --nspsytune. This improves CBR quality. 2000-09-21 16:50 afaber * Dll/LameDLLInterface.htm: Updated lame_enc.dll documentation file 2000-09-20 22:56 takehiro * Makefile.in, configure, configure.in, encoder.c, lame.c, timestatus.c: more configure updates. not compiling/linking BRHIST routine when it is disabled. 2000-09-20 20:50 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h, Example.cpp: Added bNoRes option in LHV1 structure, updated example to have default settings as in testcase.wav test case 2000-09-20 19:08 afaber * brhist.c, lame.h: Changed BRHST un-signed variables to signed variables 2000-09-20 18:50 afaber * Dll/BladeMP3EncDLL.c: High quality was not enabled 2000-09-20 18:49 afaber * Dll/MP3EncDll.dsp: Added TAKEHIRO_IEEE754_HACK define to project file 2000-09-20 18:41 afaber * lame.dsp: Added TAKEHIRO_IEEE754_HACK define to project file 2000-09-20 16:40 robert * quantize.c: VBR old quality tuning for --raise-smr 2000-09-19 14:40 takehiro * Makefile.in: update glibc inline math error detection 2000-09-19 14:32 takehiro * configure, configure.in: oops, needless gabage removed 2000-09-19 14:26 takehiro * configure: newer configure script made by configure.in 2000-09-19 14:12 takehiro * Makefile.in, configure.in: not compiling/linking mpglib code when it disabled. not compiling/linking gtk related code when it disabled. control LAYER1 and LAYER2 decoding function with --enable-decode-layer1 and --enable-decode-layer2 autodetect math inline bug of glibc < 2.1.3 2000-09-19 14:11 robert * quantize_pvt.c: modified --ATHlower to not touch sfb21 2000-09-19 14:06 takehiro * .cvsignore: ignore files related configure script and library itself 2000-09-19 05:33 markt * mpglib/main.c: got rid of a size_t in main.c 2000-09-19 05:19 markt * lame.dsp (MSVC6), Dll/MP3EncDll.dsp: updated msvc6 project files 2000-09-19 04:54 markt * mpglib/main.c: removed unsigned int being used as a loop counter. 2000-09-19 04:18 markt * encoder.h, lame.c, util.c, util.h: updated filter settings 2000-09-18 22:29 afaber * Dll/Example.cpp: Bug fixes in example file 2000-09-18 21:57 markt * testcase.mp3, util.c, util.h: changed BPC to 160 on Frank's advice. This means pre-compute 160 filter-sinc-windows, instead of just 16. Should also fix the aliasing problem shown in mp3.com bulliten board 2000-09-18 21:30 markt * Makefile.B32, Makefile.DJGPP, Makefile.in, Makefile.unix: Makefiles updated to reflect that all the ASM code has been removed and replaced with IEEE754_HACK. I'm glad to see it gone - but I didn't remove it! 2000-09-18 21:28 markt * STYLEGUIDE, VbrTag.c, brhist.c, get_audio.c, machine.h, quantize.c, quantize_pvt.c, takehiro.c, vorbis_interface.c: minor code cleanup. 2000-09-18 20:53 afaber * lame.dsp: Fixed library problem in ReleaseGTK mode 2000-09-18 20:09 markt * config.log: removed config.log from repository 2000-09-18 19:43 afaber * brhist.c: Fixes for Cygwin compiler 2000-09-18 18:52 markt * INSTALL, Makefile.in, Makefile.unix, config.log: more configure updates 2000-09-18 18:34 markt * INSTALL, INSTALL.configure, Makefile, Makefile.in, Makefile.unix, aclocal.m4, confdefs.h, config.guess, config.log, config.sub, configure, configure.in, install-sh: added configure stuff from Florian! original Makefile is now in Makefile.unix 2000-09-18 01:48 cisc * util.c, vbrquantize.c, version.h: warning fixes & bumped alpha version 2000-09-17 23:25 markt * Makefile, lame.h: added note about shared library 2000-09-17 22:25 markt * USAGE, encoder.c, lame.c, lame.h, parse.c: --scale option added 2000-09-17 21:47 afaber * bitstream.c, get_audio.c, quantize.c: removed unecessary (int) casts 2000-09-17 21:21 markt * HACKING, STYLEGUIDE, lame.h: some editing 2000-09-17 21:04 afaber * encoder.c, lame.dsp: Enabled BRHIST in MSVC project file, and changed calls to brhist functions in encoder.c 2000-09-17 20:55 markt * encoder.c, takehiro.c: forgot to add encoder.c to cvs 2000-09-17 20:53 markt * bitstream.c, machine.h, util.c, util.h: more 'unsigned's removed 2000-09-17 20:52 afaber * brhist.c, brhist.h, lame.c, lame.h, timestatus.c: Moved BRHIST variables to lame_global_flags structure, so a library (like lame_enc.dll) can have access to the histogramming data 2000-09-17 20:20 markt * lame.c, testcase.mp3, version.c: resampling nolonger needs to quantize back to integers since internal representation of PCM samples is now floating point 2000-09-17 19:50 markt * Makefile, fft.c, gtkanal.c, lame.c, machine.h, newmdct.c, newmdct.h, psymodel.c, psymodel.h, testcase.mp3, util.c, util.h, mpglib/main.c: sample_t changes updated, sample_t = FLOAT 2000-09-17 18:52 markt * INSTALL, Makefile, Makefile.B32, Makefile.DJGPP, Makefile.MSVC, encoder.h, lame.c, lame.dsp, lametime.h, main.c, timestatus.h, Dll/MP3EncDll.dsp: added encoder.c which has the core encoding function. fixed sample_t stuff 2000-09-17 17:55 robert * Makefile, l3side.h, quantize.c, quantize_pvt.c, takehiro.c: not everyone has access to Vorbis in Mark's home directory ;-) 2000-09-17 17:54 afaber * mpglib/main.c: Changed return value from zero to -1 when EOF has been reached 2000-09-17 16:19 takehiro * quantize.c: added #include 2000-09-17 10:07 takehiro * get_audio.c: trivial warning fix 2000-09-17 09:32 takehiro * quantize_pvt.c: removed old assembler code 2000-09-17 09:30 takehiro * main.c: quick hack for "sample_t is not defined" 2000-09-17 05:00 cisc * get_audio.h, version.c: updated some libsndfile related stuff 2000-09-17 04:19 cisc * VbrTag.h, bitstream.h, brhist.h, encoder.h, fft.h, get_audio.h, gpkplotting.h, gtkanal.h, id3tag.h, ieeefloat.h, l3side.h, lame.h, lametime.h, lametype.h, machine.h, newmdct.h, portableio.h, psymodel.h, quantize.h, quantize_pvt.h, reservoir.h, rtp.h, tables.h, timestatus.h, util.h, version.h: conformed all this-is-included-defines to match 'project_file_name' style 2000-09-16 22:52 afaber * lame.dsp, reservoir.c, reservoir.h, tables.c, tables.h, timestatus.c, timestatus.h, util.c, util.h, vbrquantize.c: Changed lame header/source to LGPL license where necessary, added LGPL header to files when applicable 2000-09-16 22:39 afaber * encoder.h, fft.h, get_audio.c, get_audio.h, gpkplotting.c, gpkplotting.h, gtkanal.c, gtkanal.h, l3side.h, lametime.c, lametime.h, newmdct.h, parse.c, psymodel.h, quantize.c, quantize.h, quantize_pvt.c, quantize_pvt.h, Dll/MP3EncDll.dsp: Changed lame header/source to LGPL license where necessary, added LGPL header to files when applicable 2000-09-16 22:16 afaber * fft.c, machine.h, psymodel.c: Removed the float/double compiler warnings 2000-09-16 22:08 afaber * Dll/: BladeMP3EncDLL.h, MP3EncDll.dsp: Small changes to the lame_enc project settings 2000-09-16 21:52 afaber * brhist.c, brhist.h, get_audio.c, gtkanal.c, lametime.h, main.c, psymodel.c, quantize.c, takehiro.c, timestatus.c, vbrquantize.c, mpglib/layer2.c, mpglib/layer3.c, mpglib/main.c: Removed a bunch of signed/unsigned compiler warnings and removed const/no const assignements compiler warnings welcome to const hell Frank! 2000-09-16 21:07 markt * Makefile, quantize_pvt.c: shared lib support, IEEE stuff the default on i386 2000-09-16 21:07 cisc * amiga_mpega.c: added mode & mode_ext support to mp3data struct, like mpglib/main.c 2000-09-16 21:06 afaber * lame.dsp: Added lametime.c and lametime.h files to project 2000-09-16 19:03 markt * HACKING, STYLEGUIDE: style updates 2000-09-16 18:54 markt * STYLEGUIDE: adding STYLEGUIDE 2000-09-16 18:54 markt * CodingStyle.c, LICENSE, USAGE, bitstream.c, get_audio.c, gtkanal.c, id3tag.c, l3side.h, lame.c, lame.h, lametime.c, machine.h, parse.c, quantize.c, quantize_pvt.c, quantize_pvt.h, tables.c, tables.h, takehiro.c, testcase.mp3, timestatus.c, util.h, vbrquantize.c, version.c, mpglib/common.h, mpglib/interface.h, mpglib/main.c: got rid of a bunch of unsigned variables. 2000-09-16 13:59 afaber * brhist.c, psymodel.c, quantize_pvt.c, takehiro.c, vbrquantize.c: Removed the signed/unsigned mismatch compiler warnings 2000-09-16 13:30 afaber * bitstream.c: Removed the signed/unsigned mismatch compiler warnings 2000-09-16 12:53 afaber * mpglib/layer1.c: Switched include from mpg123.h to common.h to avoid compiler warnings 2000-09-16 00:43 cisc * psymodel.c, timestatus.c: warning fixes 2000-09-15 16:36 shibatch * psymodel.c: Tweaks to --nspsytune. 2000-09-15 15:01 takehiro * quantize_pvt.c: oops, foolish bug ... 2000-09-15 13:03 takehiro * quantize_pvt.c: TAKEHIRO_IEEE754_HACK now C99 aliasing rule compliant. it runs correctly with "-fstrict-aliasing" (GCC) 2000-09-14 03:32 markt * brhist.c, mpglib/mpg123.h: fixed VBR display 2000-09-13 23:31 markt * Makefile, quantize.c, reservoir.c: NORES_TEST turned back of 2000-09-13 18:46 afaber * Dll/BladeMP3EncDLL.c: Fixed bug in lame_enc.dll when using preset option, and return proper frame size when using MPEG-2 2000-09-13 18:24 afaber * mpglib/: common.c, common.h, interface.c, interface.h, layer2.c, layer3.c, main.c, mpg123.h, mpglib.dsp, mpglib.h: Added common.h and interface.h, and added the functions prototypes that should be in these files, instead of mpg123.h 2000-09-13 18:22 markt * util.c: precompute for filter turned back on 2000-09-13 18:19 markt * lame.c, util.c, util.h: replaced upsampling filter with 19 point blackman filter 2000-09-13 11:18 markt * parse.c: typo in documentation 2000-09-13 11:03 markt * Makefile, parse.c, testcase.mp3, vorbis_interface.c: fixed vorbis_interface.c so it would compile 2000-09-13 10:59 markt * Makefile, bitstream.c, fft.c, get_audio.c, lame.c, lame.h, psymodel.c: fixed some bugs introduced by frank. get_audio.c must count samples for .wav files. lame.c: disabling ATH is not the way to solve the problem Frank wants to solve 2000-09-13 09:23 robert * quantize.c: quality adjustment for VBR old to better use --raise-smr 2000-09-12 22:36 pfk * brhist.c, gtkanal.c, id3tag.c, lame.c, lametype.h, main.c, psymodel.c, quantize.c, quantize_pvt.c, tables.c, tables.h, takehiro.c, util.c, util.h, vbrquantize.c, vorbis_interface.c, mpglib/common.c, mpglib/huffman.h, mpglib/l2tables.h, mpglib/layer2.c, mpglib/layer3.c, mpglib/main.c, mpglib/mpg123.h, mpglib/tabinit.c: added const to all constant tables, so that they are placed in write protected RAM or in ROM (standalone DSP version). The SEGFAULT be with you (instead of debugging for hours). Also some remarks instead of changes instead of code changes. Remove them if they are fully useless. 2000-09-12 20:47 robert * Makefile, lame.c, lame.h, parse.c, psymodel.c, quantize_pvt.c: added --raise-smr <0..1> a new toy to control quality 2000-09-12 18:20 pfk * Makefile, Makefile.B32, Makefile.DJGPP, Makefile.MSVC, bitstream.c, get_audio.c, lame.c, lame.h, lametype.h, parse.c, util.h, version.h, vorbis_interface.c, mpglib/main.c: Some bug fixes Activated lametime.c Two types of display update now possible (old and new, depends on Makefile) 2000-09-12 06:26 pfk * brhist.c, lame.c, lametype.h, version.c: brhist.c Changed display of percentages between 0.1 and 1 % lame.c: ??? version.h: include as less as possible lametype.h: First try to disentangle the #include jungle of lame (this style would be the immediate death for larger projects) 2000-09-12 00:47 markt * main.c, mpglib/l2tables.h, mpglib/layer2.h: al_table struct renamed al_table2 2000-09-11 20:33 shibatch * psymodel.c: --nspsytune uses additive masking. 2000-09-11 20:05 robert * psymodel.c: disabled "additive masking" in subband calculation 2000-09-11 20:04 robert * lame.c, lame.h, parse.c, quantize.c, quantize.h, quantize_pvt.c: experimental mix of VBR new and old available with --vbr-mtrh 2000-09-10 23:24 markt * HACKING: added rule #1 LAME style guide 2000-09-10 22:13 markt * doc/html/modes.html: modes.html was not in the repository 2000-09-10 21:45 markt * testcase.mp3, testcase.wav: made the test case a little longer (100k .wav file) 2000-09-10 21:27 markt * lame.h, parse.c, mpglib/huffman.h, mpglib/l2tables.h, mpglib/layer2.h: reverted mpglib routines back to original. please keep mpglib as close as possible to the mpg123/mpglib code that it is based on. Went back to display every 100 frames, which I prefer. 2000-09-10 20:54 markt * Makefile, lame.c, timestatus.c: went back to display every 100 frames. 2000-09-10 19:54 cisc * brhist.c: small adjustment 2000-09-10 19:52 cisc * version.c: correct includes for libsndfile prototypes 2000-09-10 18:05 pfk * Makefile, USAGE, brhist.c, brhist.h, fft.c, fft.h, lame.c, lame.h, version.h, mpglib/huffman.h: some minor changes. Start to introduce sample_t. Changed VBR display. 2000-09-10 13:11 pfk * fft.c, parse.c, psymodel.c, version.h, mpglib/l2tables.h, mpglib/layer2.h: fft.c: loop variables short => size_t/int layer2.h l2tables.h: formated, structure definition changed for (possible) speedup parse.c optimized sfb21 usage for presets 2000-09-09 23:00 pfk * get_audio.c, gtkanal.c, lametime.c, lametime.h, mpglib/common.c, mpglib/l2tables.h, mpglib/layer2.c, mpglib/layer2.h, mpglib/mpg123.h: struct al_table {} <=> typedef struct {} al_table conflict removed lame/gtkanal.c: typecast of functions ptr's 2000-09-09 21:11 pfk * CodingStyle.c, Makefile, USAGE, lametime.c, lametime.h, mlame, mlame_corr.c, quantize_pvt.c, quantize_pvt.h, vbrquantize.c, version.c, version.h, mpglib/layer1.c, mpglib/layer2.c: Makefile: added option -pedantic USAGE: updated some remarks, added some remarks, kbs => kbps, HZ/hz => Hz, space between number and unit mlame: -mf => -mj uses mlame_corr mlame_corr: First try of a program which analyzes the total file and recommend flags quantize_pvt.*: made some arrays const asm => __asm__ version.* copied vom pfk1 tree mpglib/*.c added newline at the end of the file CodingStyle.c start of an CodingStyle Guide, pre-alpha lametime.* heavy system specific code should moved to this file, should not mixed with other code 2000-09-09 21:04 cisc * amiga_mpega.c: warning fix 2000-09-09 14:41 robert * bitstream.c: fixed debugging code 2000-09-09 11:40 takehiro * newmdct.c: sorry, back to old... 2000-09-09 11:22 robert * quantize.c: BUG fix for possible endless loop in RH_AMP code 2000-09-09 10:59 takehiro * newmdct.c: bit faster mdct. there's some difference caused by rounding problem, but i think this is OK. 2000-09-09 10:34 takehiro * bitstream.c: bit faster putbits 2000-09-09 10:28 takehiro * bitstream.c: small fix of debugging code 2000-09-08 19:28 robert * quantize.c: to combine VBR_rh with VBR_mt define RH_VBR_MTRH at compile time 2000-09-08 16:05 robert * quantize.c, quantize_pvt.c, quantize_pvt.h: merging branches pfk1 with main 2000-09-08 14:55 robert * gtkanal.h, quantize.c, quantize_pvt.c, quantize_pvt.h, vbrquantize.c: set_pinfo calcs noise and masking of its own 2000-09-08 12:17 robert * parse.c, quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c, vbrquantize.c: substitution of lame_global_flags with lame_internal_flags 2000-09-08 11:22 robert * parse.c: Bug fix for automatic file type recognition back into MAIN branch 2000-09-08 10:04 shibatch * psymodel.c: A minor bugfix of mask_add(). 2000-09-07 23:37 pfk * mlame_corr.c: file to use with mlame to select different modes by pre analysing wav files. 2000-09-07 18:06 afaber * mpglib/mpglib.dsp: Cleanup project file a bit 2000-09-07 18:05 afaber * README.WINGTK: Small modification to the instruction, in order to compile/link with latest GTK/GDK libs 2000-09-07 18:04 afaber * lame.dsp: Changed project file to work with latest GTK/GDK libs 2000-09-07 17:40 afaber * Dll/BladeMP3EncDLL.c: Fixed problem in VBR WriteTag function (it did not compile, MP3 file stream was not closed properly, wrong file name was used) 2000-09-07 12:26 shibatch * psymodel.c, quantize_pvt.c: Tweaks to --nspsytune. 2000-09-06 23:19 robert * quantize.c (pfk1): modularization and clean-up finished 2000-09-06 18:02 markt * Makefile (pfk1): [no log message] 2000-09-06 07:50 shibatch * psymodel.c, quantize_pvt.c: updated --nspsytune. 2000-09-06 07:15 markt * Makefile, amiga_mpega.c, bitstream.c, brhist.c, fft.c, fft.h, get_audio.c, get_audio.h, gtkanal.c, gtkanal.h, lame.c, lame.h, main.c, mp3rtp.c, newmdct.c, newmdct.h, parse.c, psymodel.c, psymodel.h, quantize.c, quantize_pvt.c, quantize_pvt.h, reservoir.c, tables.c, tables.h, takehiro.c, timestatus.c, util.c, util.h, vbrquantize.c, version.c, version.h, vorbis_interface.c, mpglib/common.c, mpglib/decode_i386.c, mpglib/huffman.h, mpglib/interface.c, mpglib/l2tables.h, mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c, mpglib/main.c, mpglib/mpg123.h: LAME CVS reverted back to Aug 30 version. code before this can be checked out with: cvs update -r pfk1 2000-09-05 23:55 pfk * HACKING, Makefile, TODO, get_audio.c, lame.c, lame.h, mlame, parse.c, version.h, mpglib/README, mpglib/huffman.h, mpglib/layer1.c, mpglib/layer2.c: HACKING: add type proposals Makefile: layer 1 enabled mlame: flaw removed get_audio: C-Linkage problem solved layer1.c: bug fixed disabled decoding enabled, works for C/C++ huffman.c: read protect/scope protect tables using 'const'/'static' lame.h: Starting RPC support, 3 macros IN/OUT/INOUT defined Starting supported for szip compressed wave/aiff parse.c: detection of raw/wav/aiff input (proposal of RH) boolean bug fixed !=||!=||!= layer2.c: common layer1/layer2 buffer moved from layer2.c to layer1.c lame.c: bug fixed: -V9 switched to mono Auto switch to mono reported wrong compression ratio report of forced joint stereo usage *: Some spelling errors removed 2000-09-05 22:20 robert * quantize.c: more modularization and clean-up, some few more to come 2000-09-05 20:39 shibatch * psymodel.c: Tweaks to --nspsytune(table optimization). 2000-09-05 16:36 cisc * parse.c, mpglib/common.c, mpglib/interface.c, mpglib/l2tables.h, mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c: quick fix to make mpglib compile, prolly still broken though. fixed mono bug in layer1.c? 2000-09-04 23:17 shibatch * psymodel.c: Tweaks to --nspsytune. 2000-09-04 19:56 robert * quantize.c: more cleanup in VBR_rh 2000-09-04 16:05 robert * quantize.c: more modularization work it is now possible to combine VBR_RH with VBR_MT 2000-09-03 22:33 cisc * brhist.c: small change 2000-09-03 19:10 robert * quantize.c: updated remarks 2000-09-03 17:21 pfk * get_audio.c, gtkanal.c, lame.h, main.c, mp3rtp.c, parse.c, util.c, util.h, version.h: some bugfixes, move some functionality to two simple functions. Added support of 24 and 32 bit BE and LE AIFF and WAV files (simple support, only using upper 16 bit) marking 3 areas which seems to be buggy. 2000-09-03 17:19 robert * quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c, vbrquantize.c: code cleanup in quantize_pvt.c 2000-09-03 15:06 robert * lame.c, quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c, vbrquantize.c: takehiro.c now free of lame_global_flags 2000-09-03 14:05 robert * quantize.c, quantize_pvt.c, quantize_pvt.h: code clean up 2000-09-03 13:06 pfk * Makefile, brhist.c, get_audio.c, get_audio.h, gtkanal.c, lame.c, lame.h, main.c, version.c, version.h: minor fixes get_audio: (simple) support of 24 bit PCM Replaced the different types of tabs by 3, 4 or 8 spaces 2000-09-03 12:42 shibatch * psymodel.c: Tweaks to --nspsytune. 2000-09-03 11:47 shibatch * psymodel.c, quantize_pvt.c: Tweaks to --nspsytune. Noise calculation using tonality is canceled. 2000-09-03 09:54 robert * tables.c: fix for i386/choose_table.nas, could not be linked 2000-09-03 06:50 cisc * lame.c: removed *extremely* annoying debug. fixed related bug? should be checked if mono encoding still works! 2000-09-03 06:48 cisc * get_audio.c: fixed conflicting prototype when LIBSNDFILE is defined 2000-09-02 18:06 robert * quantize_pvt.c: small fix to previous check in 2000-09-02 18:03 robert * gtkanal.h, quantize.c, quantize_pvt.c, quantize_pvt.h, vbrquantize.c: set_pinfo does now the noise calculation for the frame analyzer code cleanup 2000-09-02 15:36 pfk * mlame: extended functionality and feature fix 2000-09-02 13:36 pfk * main.c: bug fix. 2000-09-02 13:28 pfk * get_audio.c, main.c: Bug fix in final fwrite(). 2000-09-02 06:38 cisc * util.h: warning and error fixes 2000-09-02 05:42 cisc * mpglib/mpg123.h: It's important to remember the PARENT_IS_SLASH define when including files from previous dir. 2000-09-02 05:29 cisc * amiga_mpega.c, lame.c, util.c: warning and error fixes 2000-09-02 03:13 pfk * Makefile, get_audio.c, gtkanal.c, lame.c, lame.spec, psymodel.h, timestatus.c, util.c, util.h, vbrquantize.c, version.c, version.h, mpglib/l2tables.h, mpglib/layer2.c, mpglib/mpg123.h: Quick and Dirty: Now compilable with g++. Layer 1 and 2 decoding makes problems. structs and typedef structs with the same name. Must be patched. 2000-09-02 01:03 cisc * psymodel.c, quantize_pvt.c, timestatus.c: warning fixes 2000-09-01 23:28 pfk * Makefile, lame.c, lame.h, util.c, util.h, mpglib/layer1.c, mpglib/layer2.c: Bugfix for 9 kbps error 2000-09-01 23:28 robert * get_audio.c: small typo in remark 2000-09-01 20:21 pfk * bitstream.c, get_audio.c, gtkanal.c, gtkanal.h, lame.c, lame.h, newmdct.c, psymodel.c, quantize.c, quantize_pvt.c, reservoir.c, tables.c, tables.h, util.c, util.h, vbrquantize.c, version.h, mpglib/common.c, mpglib/interface.c, mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c, mpglib/main.c, mpglib/mpg123.h: * A lot of minor changes * Changed the name of structure element from 'stereo' to 'channels' if it has the meaning of 'channels'. This is so confusing, so that there are some bugs in lame. Rest read in 'Bad and worse programming styles' and 'job security' -- Frank Klemm 2000-09-01 16:19 robert * lame.c: small fix, lame -v x.wav did not work anymore 2000-09-01 04:04 cisc * amiga_mpega.c: some warning and error fixes 2000-09-01 04:03 cisc * LICENSE: libsndfile is now LGPL 2000-09-01 00:05 pfk * brhist.c, lame.c, parse.c, quantize.c, util.c, util.h, version.c: presets modified changed name of bitrate_table to index_to_bitrate added table bitrate_to_index, speedup of functions using it. 2000-08-31 21:33 pfk * Makefile, amiga_mpega.c, fft.c, fft.h, get_audio.c, get_audio.h, gtkanal.c, lame.c, lame.h, main.c, mp3rtp.c, newmdct.c, newmdct.h, psymodel.c, psymodel.h, quantize_pvt.c, util.c, util.h, version.c, version.h, vorbis_interface.c, mpglib/decode_i386.c, mpglib/main.c: Introduction of the type sample_t for PCM samples. 'short' should not be used in the future. 2000-08-31 11:06 shibatch * psymodel.c: minor bugfix of mask_add(). 2000-08-30 23:29 pfk * LICENSE, PRESETS.draft, bitstream.c, lame.c, parse.c, timestatus.c, util.h, version.c, version.h: [no log message] 2000-08-30 07:18 shibatch * quantize_pvt.c: Tweaks to --nspsytune. 2000-08-29 22:35 pfk * debugscalefac.c, get_audio.c, id3tag.c, lame.c, lame.h, parse.c, util.c, util.h, version.c, version.h, doc/html/switchs.html: [no log message] 2000-08-29 10:14 shibatch * psymodel.c, quantize_pvt.c: Tweakings to --nspsytune. Tonality table is optimized a little. Noise calculation now uses tonality. NSATHSCALE is decreased from 103 to 100. 2000-08-28 20:18 robert * lame.c: small tweak to RH_VALIDATE_MS 2000-08-28 19:55 robert * lame.h, parse.c, psymodel.c: small fixes 2000-08-28 19:27 shibatch * psymodel.c: Tweaks to the tonality table. vbrtest.wav is now encoded correctly with --nspsytune. 2000-08-28 18:37 pfk * lame.h, parse.c, version.c, version.h: parse.c: presets are taken from a table version.c: version incremented (should be done more often) 2000-08-28 10:04 shibatch * parse.c, quantize_pvt.c, psymodel.c: Changes to --nspsytune. 2000-08-27 11:51 robert * lame.c: tweak to validate MS switching criterion (to be enabled with RH_VALIDATE_MS) 2000-08-27 04:34 markt * parse.c: look for .mp3 or .MP3 when parsing input filename 2000-08-26 04:07 markt * Makefile: openBSD tweak 2000-08-26 04:06 markt * Makefile (debug): tweak for Open BSD 2000-08-26 04:03 markt * Dll/BladeMP3EncDLL.h: added include sys/types to BlaceMP3EncDLL.h Borland compiler needs definitions for BOOL and DWORD. 2000-08-24 20:34 robert * quantize.c: little tweak to VBR-old, side channel gets now a little lower bit skeleton 2000-08-23 23:08 robert * Makefile, lame.c, quantize.c, quantize_pvt.c: sfb21 kludge, only VBR tries to get an undistorted sfb21 at lower sample frequencies it makes more trouble than we can gain from that, so now sfb21 will be ignored in VBR mode for MPEG-2 LSF. first tweak (not enabled) for M/S switching criterion 2000-08-23 00:02 markt * lame.c, vorbis_interface.c: messages about filters, vorbis modes 2000-08-22 18:29 markt * lame.c, util.h: moved last_time into lame_internal_flags struct 2000-08-22 16:30 markt * get_audio.c: byte swapping code now only used for 16 bit input files. 2000-08-22 03:19 markt * lame.c: minor gtkflag changes 2000-08-22 00:08 pfk * get_audio.c, parse.c: get_audio.c: Support of reporting all supported input file types. 2000-08-21 20:16 robert * lame.c: pe_MS was not initialized in case we don't use our psychoacoustic model 2000-08-21 16:02 robert * lame.c, mpglib/main.c: LayerI+II LSF corrections 2000-08-21 15:47 markt * doc/html/: contributors.html, history.html, id3.html, index.html, switchs.html: updated docs from Gabriel 2000-08-21 05:32 markt * Makefile (debug), USAGE, vorbis_interface.c: added support for the four new vorbis modes. (higher bitrates) use with the -b option. 2000-08-21 04:52 markt * main.c, mp3rtp.c, Dll/BladeMP3EncDLL.c: Fixed problem with writing VBR tag if user renames mp3 output file during the encoding. 2000-08-21 00:40 markt * lame.c, lame.h, main.c, mp3rtp.c: more prep work for vbr tag problem 2000-08-21 00:28 markt * VbrTag.c, VbrTag.h, lame.c: prep work to fix Vbrtag when user renames mp3 file during encodiing. 2000-08-21 00:05 markt * main.c, testcase.mp3: fixes to main.c: it is supposed to be example code for how to use the LAME library - it should only include lame.h, all other .h files are supposed to be private to the encoding library. 2000-08-21 00:00 markt * INSTALL, Makefile, Makefile.B32, Makefile.DJGPP, Makefile.MSVC, README.B32, TODO, bitstream.c, gtkanal.c, lame.c, lame.dsp, quantize-pvt.c, quantize-pvt.h, quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c, vbrquantize.c, Dll/MP3EncDll.dsp: changed quantize-pvt.c to quantize_pvt.c Added Boland stuff_ 2000-08-20 23:21 markt * Makefile, version.h: Amiga stuff for Makefile, updated version.h to 3.87alpha 2000-08-20 21:22 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h: enhanced lame_enc dll debugging 2000-08-20 20:50 robert * lame.c: fixed bug for LSF, ms_ratio will not be calculated for the second granule because at lower sample rates there is no second granule but the M/S switching criterion relies ms_ratio on it 2000-08-19 10:54 robert * lame.c, parse.c, mpglib/main.c: total frames of LayerI files was not correctly estimated for decoding 2000-08-18 18:07 robert * USAGE, get_audio.c, gtkanal.c, lame.c, lame.h, parse.c, mpglib/main.c: LayerI+II decoding patches 2000-08-18 01:40 pfk * bitstream.c, brhist.c, lame.c, main.c, parse.c, timestatus.c, timestatus.h: bitstream.c: Table based CRC calculation code added (must be enabled to use) brhist.c: Enlighted design of the bit rate history output main.c: init of CRC Table in bitstream.c parse.c: Some parameters can be name in Hz/bps and in kHz/kbps timestatus.c: Enlighted design of the time counters lame.c: Changed screen update frequency from 50/100 frames to 2 seconds 2000-08-17 14:34 robert * Makefile, Makefile.DJGPP, Makefile.MSVC, mpglib/common.c: Layer1/2 related update 2000-08-16 17:05 robert * Makefile.MSVC: added GTK support (frame analyzer) 2000-08-16 01:22 afaber * parse.c, mpglib/common.c, mpglib/interface.c, mpglib/l2tables.h, mpglib/layer1.c, mpglib/layer1.h, mpglib/layer2.c, mpglib/layer2.h, mpglib/mpg123.h, mpglib/mpglib.dsp: Added support for Layer 1 and Layer 2 decoding 2000-08-15 19:31 robert * Makefile, lame.c, takehiro.c, util.h: patch to prevent core dump in case big value = 576 in count_bits_long() 2000-08-13 13:44 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h, Example.cpp, LameDLLInterface.htm: Added Lame presets to the DLL interface + added HTM document how to use the lame_enc.dll interface 2000-08-13 02:50 afaber * Dll/: Example.cpp, Example.dsp, Example.dsw, MP3EncDll.dsp: Added DLL Example 2000-08-12 15:42 robert * quantize.c: major speed increase for vbr-old 2000-08-11 20:53 robert * psymodel.c: RH_AMP tweak, improves vbrtest.wav 2000-08-08 21:08 afaber * Dll/BladeMP3EncDLL.c: Add new RecordItem array, not completely finsihed yet, but it compiles 2000-08-08 20:11 cisc * psymodel.c, takehiro.c: code cleanup 2000-08-08 04:01 markt * Makefile: Dec Alpha makefile fix 2000-08-07 18:24 robert * Makefile, lame.c, quantize-pvt.c, quantize.c: code cleanup 2000-08-07 05:53 markt * takehiro.c: code cleanup in count_bits_long() 2000-08-07 00:00 markt * Makefile (debug), doc/html/history.html, mpglib/interface.c, mpglib/layer3.c: bug fixed in mpglib error recovery from corrupt frames 2000-08-06 22:58 markt * get_audio.c, testcase.mp3: oops, one bug in 3.86beta. try and change this before anyone downloads source from the web site :-) 2000-08-06 22:34 markt * get_audio.c, version.h, doc/html/history.html: lame 3.86 beta release 2000-08-06 21:34 markt * lame.c, lame.h, testcase.mp3: disabled scalefac_scale (except if -q1 is used) and make old vbr mode the default 2000-08-06 20:58 markt * quantize-pvt.c, testcase.mp3: Reverted back to original definition of over_noise and tot_noise: tot_noise = is really the average over each sfb of: [noise(db) - allowed_noise(db)] and over_noise is the same average, only over only the bands with noise > allowed_noise. 2000-08-06 20:32 markt * mpglib/main.c: Album ID tag reading bug fixes 2000-08-06 20:21 markt * INSTALL, USAGE, lame.c, lame.h, parse.c, quantize-pvt.c, takehiro.c, timestatus.c, timestatus.h, util.h, vbrquantize.c, Dll/MP3export.pas, Dll/README: added the "--athlower n" option which lowers the ATH by n db. Added possible fix for region0_count and region1_count getting set to illegal negative values. 2000-08-03 20:07 robert * Makefile, lame.c, lame.spec, quantize-pvt.c, quantize.c: don't worry Mark! my noise calculation wrapped by RH_NOISE_CALC define RH_NOISE_CALC at compile time to get my version of noise calculation special: -Y amp_scalefac_bands will amplify only the maximum distorted band 2000-08-01 06:36 markt * INSTALL, bitstream.c: added a few assert's 2000-08-01 04:53 markt * quantize.c: Fixed amp_scalefac_bands (RH found this) 2000-08-01 04:38 markt * get_audio.c, util.c, util.h, mpglib/main.c: updated lame --decode to read Roel's AID stuff 2000-07-31 19:17 markt * Makefile (debug), INSTALL, Makefile.DJGPP, lame.spec: updated debug makefile 2000-07-31 19:00 markt * Makefile, TODO, USAGE: open bsd updates to makefile 2000-07-31 18:46 markt * quantize.c, takehiro.c, testcase.mp3: Takehiro's best_huffman_divide turned back on for MPEG1 only 2000-07-31 18:38 markt * quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c: many commits were made over the weekend. But: 1. MPEG2 encoding was broken 2. all my test cases failed. #11 is bad. #2 can be caused be general improvements, but coupled with #1 is a bad sign. I spent all of sunday tracking down the many changes, and trying to find what what the cause of what. I finally ran out of time and am going to revert some changes back to last working copy. Here is a summary: takehiro.c: newest version, except: count_bits_long uses old code (new code commented out). This code was breaking MPEG2 scfsi: uses old slen1_n, slen2_n. I will change this with the next commit. (in about 10min) best_huffman_divide: short block code breaks MPEG2. short block code is still there, but disabled. quantize-pvt.c: Newest version, except: all noice calculations reverted back to db. tot_noise, over_noise, ave_noise, etc. are given in db and will always be given in db. distort[], is left in units of energy, since this saves many log10() function calls. quantize.c : Reverted back to last working version, except have newest version of VBR_iteration_loop(). 2000-07-31 00:36 robert * psymodel.c: revert back to previous version, it creept in by accident 2000-07-30 23:48 robert * lame.c, psymodel.c, quantize.c: minor tweaks 2000-07-29 22:37 robert * lame.bat: long file names on in for, thanks to Ihárosi Wiktor 2000-07-27 16:42 takehiro * bitstream.c: minor change 2000-07-27 16:41 takehiro * quantize.c, vbrquantize.c: make the short block huffman coding more efficient 2000-07-27 16:39 takehiro * machine.h: oops MMX code couldn't compile... 2000-07-27 16:38 takehiro * fft.c: removed unused code 2000-07-27 16:38 takehiro * takehiro.c: restore old algorithm temporary... 2000-07-26 13:56 takehiro * newmdct.c: minor coding hack and prepare for GOGO's subband filtering code 2000-07-26 13:47 takehiro * quantize-pvt.c, quantize-pvt.h, takehiro.c, util.h: debug for region0/1 which kzmi reported 2000-07-26 13:25 takehiro * machine.h, quantize-pvt.h, takehiro.c: i hope this fix make intel native asm code available on VC 2000-07-25 22:28 robert * quantize.c: possible endless loop for different -X modes fixed, some modes do not minimize "over" and would never reach over == 0 in some rare cases 2000-07-25 20:39 robert * quantize.c: small "fast encode" fix 2000-07-25 20:09 robert * Makefile: fixed typo 2000-07-25 19:24 robert * quantize-pvt.c, quantize-pvt.h, quantize.c: fixed somehow messed up noise calculation 2000-07-25 15:42 robert * quantize.c: small bug fix 2000-07-24 23:50 cisc * get_audio.c: small fix 2000-07-24 23:32 cisc * USAGE, get_audio.c: Changed lame_decoder() to write native endian format when not writing WAV header (-x will byteswap). 2000-07-24 20:31 markt * quantize.c: removed some print statements 2000-07-24 20:30 markt * quantize-pvt.c, quantize.c, takehiro.c: fixed rare bug with -X0 getting stuck in a loop when over>0 and over and over_noise didn't change from one iteration to the next. 2000-07-24 05:51 markt * parse.c: updated docs 2000-07-24 05:42 markt * USAGE, get_audio.c, gtkanal.c, lame.h, parse.c: -t: disables Xing header for encoding, disables WAV header for decoding 2000-07-21 17:39 markt * Makefile, vorbis_interface.c: vorbis interface fixes 2000-07-21 17:09 markt * INSTALL, Makefile.DJGPP, README.DJGPP: updated some DJGPP stuff 2000-07-21 16:50 markt * VbrTag.c, encoder.h, get_audio.c: added some comments about decoder/encoder delay, 2000-07-20 04:29 kzmi * machine.h: add mingw32 support. using windows.h. 2000-07-20 04:28 kzmi * Makefile: add non-UNIX environment support. (NOUNIXCMD) specifying UNAME,ARCH,PGM on command line is available. 2000-07-19 23:19 robert * vbrquantize.c: oops, fixed typo 2000-07-19 22:42 robert * vbrquantize.c: fixed problem with Roel's clips.wav file, "pseudo endless loop" problem now gone maybe the annoying spikes too? 2000-07-18 22:57 robert * vbrquantize.c: moved calc_xmin out of VBR_noise_shaping moved xr34 calculation out of VBR_noise_shaping changed analog silence detection from granule based to frame based hacked in a first digital silence treatment per granule (can be optimized) round about 8 percent faster on my Pentium 200 machine 2000-07-18 00:09 markt * lame.c: moved some stuff into lame_init() 2000-07-17 23:36 robert * vbrquantize.c: to make someone happy ;) 2000-07-17 23:28 markt * lame.c: Changes from Kimmo: split lame_init_params() into 3 smaller routines. This somehow fixes some crashes on PPC (which OS?). 2000-07-17 23:10 markt * USAGE, lame.c, machine.h, main.c, quantize.c, util.c, mpglib/common.c, mpglib/mpg123.h: Mac patches. (in an #ifdef macintosh) 2000-07-17 15:38 robert * vbrquantize.c: analog silence treatment like in old VBR 2000-07-16 02:16 robert * quantize.c: minor tweaks 2000-07-15 19:20 robert * quantize.c: OK found what was wrong, should work now 2000-07-15 17:55 markt * Makefile, lame.c, quantize.c: Reverted back to older version of quantize.c becuase version 1.137 broke some of my CBR test cases. made scalefac_scale always on for all vbr modes 2000-07-15 16:49 robert * lame.c, quantize.c: Takehiro's scalefac_scale now default for old-VBR, no more -q1 necessary 2000-07-15 04:55 markt * Makefile: updated makefile for Dec Alpha Linux 2000-07-14 20:06 markt * USAGE, lame.h: c++ name mangling fix, type in USAGE 2000-07-12 18:03 robert * util.c, util.h: critical band width formula added 2000-07-11 02:25 markt * vbrquantize.c: tuning for vbr_mt to fix chirp from John Dalton 2000-07-11 00:47 markt * quantize.c: better tuning for ABR mode 2000-07-11 00:31 markt * gtkanal.c, quantize-pvt.c, quantize.c, vbrquantize.c, mpglib/main.c: bug in frame analyzer (causes hangs near eof) fixed better resyncing during mp3 file initialization in mpglib 2000-07-10 23:03 markt * lame.c, main.c, parse.c, reservoir.c, testcase.mp3, vbrquantize.c: tuned new VBR so Roel will be happy :-) 2000-07-10 00:24 markt * timestatus.c: timestatus overflow fix 2000-07-09 20:05 markt * Makefile.DJGPP, README.DJGPP, quantize-pvt.c, quantize.c: more updated for DJGPP 2000-07-09 13:19 shibatch * fft.h: I forgot to commit fft.h. (by Naoki Shibata) 2000-07-09 13:16 shibatch * fft.c, lame.c, lame.h, parse.c, psymodel.c, quantize-pvt.c: Added --nspsytune command line option. This should solve vbrtest problem. (By Naoki Shibata) 2000-07-09 03:22 gramps * parse.c: additional help for ID3-style comments in Ogg Vorbis output from a patch by Ralph Giles 2000-07-09 03:20 gramps * lame.c: don't add ID3 tags to Ogg Vorbis output 2000-07-09 03:18 gramps * vorbis_interface.c: partial support for ID3-style comments from a patch by Ralph Giles 2000-07-08 15:08 robert * quantize.c: long time BUG in old VBR fixed, preventing LAME from using more than 2500 bits per channel 2000-07-08 00:39 markt * README.DJGPP, get_audio.c: 8bit .wav files supported. 2000-07-07 22:44 markt * Makefile: Updateted Makefile for alpha/linux 2000-07-07 21:42 robert * quantize-pvt.h, quantize.c: little VBR-old speed up (upto 10%) 2000-07-07 20:09 markt * Makefile.DJGPP, README.DJGPP: updated DJGPP stuff from Chris Wise 2000-07-07 00:34 robert * quantize.c: more "old-VBR" tuning 2000-07-06 22:20 cisc * amiga_mpega.c: Should now work for GCC. 2000-07-06 16:54 robert * Dll/BladeMP3EncDLL.c: DLL uses now the same VBR routine by default as the EXE 2000-07-05 04:57 markt * quantize-pvt.c, timestatus.c: minor changes 2000-07-04 23:52 cisc * brhist.c, quantize-pvt.c, takehiro.c: code cleanup 2000-07-04 23:52 gramps * id3tag.h, lame.h: make id3tag.h dependent on lame.h instead of the other way around 2000-07-04 22:16 markt * lame.h, testcase.mp3, util.h, version.h: updated version to 3.86 alpha 2000-07-04 15:40 robert * lame.c, quantize.c: old VBR silence bug fixed 2000-07-04 14:46 robert * VbrTag.c: oops, 1 bit forgotten 2000-07-04 03:32 kzmi * quantize-pvt.c, quantize-pvt.h, quantize.c, vbrquantize.c: old tot_noise and over_noise are obsolete. tot_avg_noise and over_avg_noise were renamed as tot_noise and over_noise. 2000-07-04 03:28 gramps * USAGE, VbrTag.c, id3tag.c, id3tag.h, lame.c, lame.h, main.c, mp3rtp.c, parse.c, doc/html/id3.html: ID3 version 2 tag support 2000-07-03 17:10 robert * VbrTag.c: keep CRC bit for additional Xing-VBR frame 2000-07-03 16:21 markt * doc/html/history.html: [no log message] 2000-07-03 16:20 markt * README.DJGPP, lame.h, psymodel.c, quantize-pvt.c, vbrquantize.c, version.h: lame 3.85 beta release (old VBR mode back to being the default) 2000-07-03 00:58 markt * Makefile, machine.h, psymodel.c: added note about FLOAT8 = float breaking certain features 2000-07-03 00:57 markt * Makefile: [no log message] 2000-07-03 00:48 markt * psymodel.c, testcase.mp3: updated mid/side demasking thresholds with takehiro's formula 2000-07-03 00:25 markt * psymodel.c, vbrquantize.c: more tweakes to ATH/PE calculation. psymodel.c uses additive masking so ATH needed a *= numlines. 2000-07-02 23:51 markt * psymodel.c: added ATH threshold to PE calculation. 2000-07-02 23:39 markt * psymodel.c, quantize-pvt.c, quantize-pvt.h, util.c, util.h, vbrquantize.c: code so that ATH can be used for PE formula 2000-07-02 21:44 markt * Makefile: Makefile updated so float8 = double 2000-07-02 18:40 markt * lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c, util.c, vbrquantize.c: short block re-ording complete! all routines updated, but not cleaned up: it is now possible to merge most short block and long block loops 2000-07-01 22:12 robert * lame.c: code cleanup 2000-07-01 21:48 robert * util.c: integer based padding routine 2000-07-01 20:37 cisc * lame.c, quantize-pvt.h, util.h: code cleanup 2000-07-01 18:12 markt * bitstream.c, lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c, testcase.mp3, util.c, util.h, vbrquantize.c: re-order short blocks data storage. in preperation for takehiro's asm routines 2000-07-01 15:23 robert * lame.c, quantize-pvt.c, quantize.c: old VBR no ATH bug fixed 2000-07-01 13:51 robert * lame.c, quantize-pvt.h, quantize.c, util.c, util.h: code cleanup 2000-07-01 11:26 robert * lame.c, lame.h, parse.c, quantize-pvt.c, quantize.c: made switch between default VBR modes easier, look into lame.h 2000-07-01 02:35 markt * lame.c, parse.c, version.h: 3.85 alpha (CVS) version: new vbr mode is the default 2000-07-01 02:32 markt * parse.c: still bugs trying to make 3.84beta release 2000-07-01 02:16 markt * lame.c, parse.c, quantize-pvt.c: i screwed up the 3.84 beta release, lets try again. making old vbr mode the defailt, temporarily 2000-07-01 02:11 markt * Makefile, version.h: [no log message] 2000-06-30 23:32 markt * Makefile: makefile: -DFLOAT8 is float 2000-06-30 23:30 markt * lame.c, parse.c, version.h: ok, back to new vbr mode = default 2000-06-30 23:28 markt * doc/html/history.html: [no log message] 2000-06-30 23:27 markt * Makefile, lame.c, parse.c, version.h: old vbr mode made the default. --vbr-old and --vbr-new options can specify which mode. This is just for the next 10min while I put out lame 3.84. CVS will then revert back to default = new vbr mode 2000-06-30 23:15 markt * get_audio.c: 8 bit input support (maybe works?) 2000-06-30 14:25 kzmi * VbrTag.c, bitstream.c, brhist.c, debugscalefac.c, gtkanal.c, psymodel.c, quantize-pvt.c, vbrquantize.c, vorbis_interface.c: replaced fprintf/printf/exit() functions with macro 2000-06-27 13:58 kzmi * get_audio.c, lame.c, main.c, timestatus.c, timestatus.h: replace printf/fprintf/exit() with macro. decode_progress() and decode_progress_finish() are added in timestatus.c. these functions are used in lame_decode(). 2000-06-27 02:23 markt * INSTALL, Makefile, TODO: minor updates 2000-06-27 01:18 markt * mpglib/layer3.c: Sergey's bug fix for layer3.c MPEG2 tables 2000-06-26 20:47 afaber * Dll/MP3EncDll.dsp: Version 1.30 beta 1 2000-06-26 16:08 markt * quantize.c: put Roberts ABR -V n settings back in. 2000-06-26 05:56 markt * TODO, lame.c, quantize.c, vbrquantize.c: fixed one bug in VBR handling of vbrquantize.c changed ABR mode: it should not be adjusting masking thresholds based on quality settings. It doesn't make sense to change the maskings if the number of bits is fixed. 2000-06-25 19:07 robert * quantize-pvt.h, quantize.c: little improvements for experimentalX modes 2000-06-24 07:49 kzmi * parse.c, util.h: replace printf/fprintf and exit() in parse.c with macro 2000-06-24 06:00 kzmi * util.h: abolished LAME_ASSERT(). 2000-06-24 05:57 kzmi * util.c: LAME_ASSERT() macro was removed. It was replaced assert(). 2000-06-23 14:45 kzmi * util.h: FLUSH_ERR() --> FLUSH_ERROR() 2000-06-23 13:59 kzmi * util.h: new macros used instead of fprintf(), assert(), and exit(). 2000-06-23 13:53 kzmi * util.c: Alternative printing function lame_errorf() was added. It will be called instead of fprintf() by using new macro "ERRORF" 2000-06-22 20:41 robert * lame.c, parse.c: minor bugs 2000-06-22 18:42 robert * USAGE, lame.c, parse.c, quantize.c: Marks new VBR now the default, old still under there, use --vbr-old 2000-06-22 17:16 robert * lame.c, util.h: padding as in "MPEG-Layer3/Bitstream Syntax and Decoding" 2000-06-22 16:06 robert * mpglib/layer3.c: table correction, thanks to Sergey Sapelin 2000-06-21 15:38 afaber * machine.h: Update project file (added FLOAT8_is_float define) 2000-06-21 05:04 markt * lame.c, lame.h, psymodel.c, psymodel.h, quantize-pvt.c, util.h, vorbis_interface.c: added some return codes, removed some exits 2000-06-21 01:14 markt * brhist.c: added brhist display for windows, from mremondini@racine.ra.it 2000-06-21 00:05 markt * machine.h: added default settings for FLOAT8 2000-06-20 23:34 markt * psymodel.c, quantize-pvt.c, util.h: added code to compute numlines and bo,bu arrays instead of using table data 2000-06-20 13:28 takehiro * Makefile, machine.h: prepare for architecture depending optimization 2000-06-19 05:08 markt * main.c, parse.c, vorbis_interface.c: more vorbis bugs fixed 2000-06-19 01:10 markt * lame.c: oops, if (gfc->filter_type=0) statement fixed 2000-06-18 14:39 markt * mpglib/interface.c: mpglib: better resyncing code 2000-06-18 04:34 cisc * version.c: minor change 2000-06-18 04:15 cisc * takehiro.c: Removed redundant return. 2000-06-18 04:13 markt * vorbis_interface.c: more ogg updates 2000-06-18 04:09 markt * main.c (ogg), lame.c: ogg stuff 2000-06-18 04:08 cisc * version.c: Included get_audio.h for prototypes... 2000-06-18 03:59 cisc * version.c: Added version-check for libsndfile... 2000-06-18 03:43 markt * Makefile, main.c (ogg), lame.c, version.c: ogg updates 2000-06-17 14:00 robert * parse.c, quantize-pvt.c: typo in parse.c was disabling -Xn settings 2000-06-17 04:57 takehiro * TODO: something added 2000-06-17 00:35 markt * lame.c, psymodel.c, util.h: code to compute numlines_[] mostly debugged, but not in use. only remaining psycho acoustic table data: minval (for long blocks) and SNR for short blocks. 2000-06-16 18:17 markt * encoder.h, psymodel.c, testcase.mp3, util.h: psymodel cleanup, bval[] table lookup replaced with formulas. Next step: replace numlines with formulas 2000-06-16 18:03 robert * TODO: point added 2000-06-16 17:31 markt * psymodel.c, quantize-pvt.c, vbrquantize.c: code re-arrangment in psymode.c. In preperation to replace bval[] from table lookup with formulas. 2000-06-15 16:45 markt * vbrquantize.c: bug fix for -Y VBR mode: needed to check for return code for count_bits for errors. 2000-06-15 15:56 markt * parse.c, vbrquantize.c, vorbis_interface.c, mpglib/interface.c: mpglib bug fix from Naoki 2000-06-15 00:06 markt * lame.c: scalefac_scale disabled for VBR modes. 2000-06-14 21:13 markt * quantize-pvt.c, quantize-pvt.h, quantize.c, vbrquantize.c: A new noise moded(-X 7) and a new structure to keep track of all the different noise measures, from Iwasa Kazmi 2000-06-14 21:04 markt * lame.c, lame.h, main.c, parse.c, util.c, util.h: new FindNearestBitrate routine, return codes for lame_init_params. 2000-06-14 20:03 markt * USAGE, gpkplotting.c: font in frame analyzer, updates to USAGE 2000-06-14 03:15 markt * Makefile.MSVC, vorbis_interface.c: updated vorbis support (mono, different samplerates) 2000-06-13 12:42 takehiro * bitstream.c, tables.h, takehiro.c: minor optimization and debug 2000-06-13 11:27 takehiro * tables.c, takehiro.c: completely MMXed choose table routine. faster! 2000-06-12 05:29 markt * psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.c, vbrquantize.c: added a different FFT->MDCT normalization, disabled. 2000-06-10 09:38 robert * Makefile.MSVC, machine.h: vorbis support 2000-06-10 03:39 cisc * quantize-pvt.c, vbrquantize.c: Aaargh, and now it suddenly doesn't work anymore, just gives me tons and tons of bitreservoir errors. :P 2000-06-10 02:43 cisc * vbrquantize.c: Ooops, fixed redefinition... 2000-06-10 01:56 cisc * quantize-pvt.c, vbrquantize.c: TAKEHIRO_IEEE754_HACK works great now, let's put it as default. 2000-06-10 00:26 markt * Makefile, quantize-pvt.c: Mat's ROUNDFAC fix. If #define TAKEHIRO_IEEE754_HACK is used, ROUNDFAC should be set to -0.0946 2000-06-10 00:10 markt * Makefile, README, USAGE, lame.c, parse.c, quantize.c: trivial changes 2000-06-09 22:54 robert * USAGE: average bitrate coding (--abr) usage added 2000-06-09 22:18 robert * get_audio.c, lame.c, lame.h, parse.c, quantize.c, quantize.h: Safe VBR mode available as --abr x, targetting x kbits you can use -b and -B switches as usual with VBR 2000-06-09 20:34 markt * get_audio.c, get_audio.h, quantize-pvt.c: minor changes 2000-06-09 01:00 markt * tables.c: fixed bug in tables.c 2000-06-09 00:30 markt * Makefile: [no log message] 2000-06-09 00:28 markt * Makefile, lame.c: fix for when compiling without #define HAVEVORBIS 2000-06-09 00:22 markt * INSTALL, Makefile, Dll/MP3EncDll.dsp: updated makefiles for VORBIS option 2000-06-08 23:19 markt * USAGE, lame.c, parse.c, vorbis_interface.c: .ogg encoding now works. 2000-06-08 21:15 markt * lame.c, vorbis_interface.c: more .ogg encoding stuff. still not working 2000-06-08 20:46 markt * Makefile, get_audio.c, gtkanal.c, lame.c, lame.h, parse.c, vorbis_interface.c: --ogg option to produce .ogg files. not yet working 2000-06-08 06:04 markt * API: updated API to include HAVEVORBIS info 2000-06-08 05:59 markt * Makefile: makefile for libvorbis support 2000-06-08 05:58 markt * Makefile, USAGE, get_audio.c, lame.h, parse.c, vorbis_interface.c, mpglib/main.c: added .ogg file decoding. Re-encode all your Vorbis files to MP3 !!! (or, lame --decode input.ogg output.wav might be usefull) 2000-06-07 23:36 markt * INSTALL, get_audio.c, lame.h, reservoir.c: started to add .ogg decoding 2000-06-07 22:56 sbellon * VbrTag.c, get_audio.c, ieeefloat.c, ieeefloat.h, machine.h, portableio.c, reservoir.c, mpglib/decode_i386.c, mpglib/mpg123.h: added support for FPA10 hardware (RISC OS only) 2000-06-07 22:54 sbellon * main.c: changed RISC OS file typing code 2000-06-07 13:26 takehiro * lame.spec: spec file for RPM. contributed by ramsy@linux.or.jp 2000-06-05 18:44 markt * gpkplotting.c, gtkanal.c: updated X windows font selection (thanks Iwasa) 2000-06-05 17:38 markt * testcase.mp3: updated testcase 2000-06-03 05:39 takehiro * takehiro.c: more aggressive scfsi using and little bit memory optimization 2000-06-03 02:46 cisc * get_audio.c: code cleanup 2000-06-01 18:30 cisc * amiga_mpega.c: code cleanup 2000-05-31 21:00 markt * quantize.c: SAFE_VBR mode fixes 2000-05-31 20:40 markt * USAGE, lame.c, parse.c, psymodel.c, quantize.c: SAFE_VBR mode added. not enabled yet 2000-05-31 19:52 cisc * vbrquantize.c: code cleanup 2000-05-31 03:37 cisc * timestatus.c: code cleanup 2000-05-31 00:25 robert * Makefile: [no log message] 2000-05-31 00:24 robert * mpglib/: interface.c, layer3.c, main.c, mpg123.h: code cleanup 2000-05-30 23:47 markt * lame.c: -f "fast mode" is now a little slower. It now *will* compute psycho acoustics, used for total bits and pre-echo detection. But it will not spend any time trying to find optimal scalefactors. 2000-05-30 23:37 markt * TODO, bitstream.c, lame.c, takehiro.c, vbrquantize.c: fixed scfsi bug in vbrquantize.c 2000-05-30 22:29 cisc * VbrTag.c, bitstream.c, get_audio.c, l3side.h, main.c, quantize-pvt.c, quantize-pvt.h, util.c: code cleanup 2000-05-30 22:01 cisc * takehiro.c, timestatus.c: code cleanup 2000-05-30 20:01 robert * VbrTag.c, gtkanal.c, lame.c, newmdct.c, psymodel.c, quantize-pvt.c, reservoir.c, takehiro.c, timestatus.c, util.c, util.h, vbrquantize.c, Makefile: code cleanup 2000-05-30 16:01 robert * fft.c, get_audio.c, main.c: code cleanup 2000-05-30 15:16 robert * bitstream.c, l3side.h, quantize.c, quantize.h, util.h: signed/unsigned fixes 2000-05-30 00:20 markt * Makefile: updated Makefile comment about Sun OS 2000-05-30 00:12 markt * bitstream.c, psymodel.c, reservoir.c, takehiro.c, vbrquantize.c: psymodel.c: yet another loop check added vbrquantize.c: best_scalefac_store can change scalefac values. scalefactors must be saved and restored before each call. bitstream.c: added part2_length assert check 2000-05-29 22:11 cisc * get_audio.c: Included portableio.h for prototypes. 2000-05-29 21:49 cisc * amiga_mpega.c: Skip bad frames. 2000-05-29 19:59 robert * VbrTag.c, get_audio.c, quantize.c, vbrquantize.c: compiler warnings fixed 2000-05-29 17:15 afaber * VbrTag.c: Private bit was not retained in VBR header, changes masking bit from 0x0c to 0x0d 2000-05-29 17:14 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h: Some minor fixes to the DLL inteface, added Write VBR tag prototype Added LGPL header to *.h file 2000-05-29 17:12 afaber * lame.dsp: Set proper defines in the debug mode 2000-05-29 16:50 markt * mpglib/: layer3.c, main.c, mpglib.h: parent_is_slash #define, for the Amiga 2000-05-29 14:39 markt * brhist.c, machine.h, psymodel.c, mpglib/interface.c: fixed loop problems with large --cwlimit 2000-05-28 23:48 markt * Makefile: makefile debug branch 2000-05-28 23:47 markt * Makefile: makefile now -O3 (linux) by default 2000-05-28 23:46 markt * Makefile, USAGE, psymodel.c, quantize.c, reservoir.c, vbrquantize.c, mpglib/interface.c: code cleanup 2000-05-28 06:56 takehiro * quantize-pvt.c: restored old GCC asm routine 2000-05-28 05:01 takehiro * Makefile, takehiro.c: initial MMX implementation attempt.. use MMX to huffman coding. 2000-05-27 07:41 takehiro * takehiro.c: more pseudo SIMD code 2000-05-27 07:23 takehiro * testcase.mp3: testcase update for new scalefac_scale 2000-05-27 07:22 takehiro * quantize-pvt.c, quantize-pvt.h, takehiro.c: pseude SIMD countbit routine preparing for MMX 2000-05-27 07:21 takehiro * quantize.c: oops, foolish typemiss... 2000-05-27 03:22 takehiro * lame.c, quantize.c, version.h: scalefac_scale debug and use it as default new subblock_gain algorithm (initial release, -Z to enable it, but not works fine) 2000-05-27 03:08 takehiro * newmdct.c: minor changing 2000-05-27 03:06 takehiro * quantize-pvt.c, quantize.c, quantize-pvt.h: scalefac_scale debug and use it as default new subblock_gain algorithm (initial release, -Z to enable it, but not works fine) 2000-05-26 19:03 markt * gtkanal.c, lame.c, vbrquantize.c: vbrquantize.c work 2000-05-26 01:49 cisc * amiga_mpega.c, get_audio.c, lame.h: Fixed a bunch of errors that must have been committed whilst sleepwalking. ;) 2000-05-26 00:49 markt * get_audio.c, lame.h, main.c: moved WAV writing routines and lame_decoder() into get_audio.c 2000-05-26 00:31 markt * main.c: another bug in WriteWav 2000-05-26 00:02 markt * main.c, quantize-pvt.c: tweaked .wav file output. Fixed small bug in short block bit allocation (thanks Iwasa!) 2000-05-25 23:02 markt * lame.dsp (MSVC6): updated project files MSVC6 tag 2000-05-25 15:27 markt * amiga_mpega.c, get_audio.c, gtkanal.c, lame.h, main.c, vbrquantize.c, mpglib/interface.c, mpglib/main.c: updated frame analyzer to show difference between original/decoded updated --decode to return bitrate, samplerate, numchannels. if samplerate or numchannels changes in mp3 stream, --decode will quite with an error message 2000-05-24 16:53 markt * gtkanal.c, gtkanal.h, quantize-pvt.c, vbrquantize.c, mpglib/layer3.c: tweeks to frame analyzer: added preflag display 2000-05-24 00:24 cisc * get_audio.c: Fixed silly bug preventing mp3input working together with libsndfile. 2000-05-23 04:12 markt * bitstream.c, gtkanal.c, quantize-pvt.c, quantize.c, vbrquantize.c: fixed a bug in the frame analyzer: was rescaling axis between plotting energy, masking and noise 2000-05-22 18:20 shibatch * mpglib/tabinit.c: Changed decwin to more precise one. 2000-05-22 17:11 markt * quantize-pvt.c: make IEEE stuff the default on GNU i386 2000-05-22 13:14 cisc * main.c: fwrite() returns number of objects actually written 2000-05-22 05:39 markt * main.c: fixed bug for mono .wav headers for lame --decode 2000-05-22 05:27 markt * quantize-pvt.c: GNU C ASM code is temporarily disabled. It looks like Takehiro's changes to 1.107 have broken this code. 2000-05-22 05:07 markt * mpglib/: common.c, interface.c: more robust frame resyncing 2000-05-22 05:07 markt * quantize.c, vbrquantize.c: more robust mpglib decoding (frame re-syncing) 2000-05-21 20:54 cisc * quantize-pvt.c: TAKEHIRO_IEEE754_HACK should not be default 2000-05-21 20:31 robert * parse.c: PRESET tunings: + after we dropped the ISO 7680 bit buffer limit allow more often 320 kbits frames + for MPEG2.5 allow more often short blocks only 8 kHz streams have now problems with short blocks, so don't use them then - dropped all highpass filters, cos the results did not satisfy me (in my opinion they actually do more harm than good) - tuned some lowpass filters cos of the sfb21 noise calculation in VBR 2000-05-21 19:33 markt * l3side.h, parse.c, psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.c, quantize.h, reservoir.c, reservoir.h: comments and other code cleanup 2000-05-21 16:42 takehiro * quantize.c: new scalefac_scale algorithm option changed -Y -> -Z 2000-05-21 16:25 takehiro * quantize.c: new scalefac_scale algorithm 2000-05-21 16:19 takehiro * quantize-pvt.h, quantize.c: new scalefac_scale algorithm. enables with -Y option. 2000-05-21 13:15 takehiro * quantize-pvt.h: VBR bug related sfb22 fixed 2000-05-21 12:52 takehiro * quantize-pvt.c: VBR bug related sfb22 fixed 2000-05-20 23:49 robert * quantize-pvt.c, quantize.c: minor tweaks 2000-05-20 23:33 robert * quantize.c: VBR hack 2000-05-20 21:05 markt * bitstream.c, main.c, mpglib/main.c: totbit buffer overflow fix 2000-05-20 20:57 cisc * takehiro.c: choose_table() argument is int *, not unsigned * 2000-05-20 20:36 markt * bitstream.c, main.c, util.h, mpglib/main.c: mpglib will not decode Xing VBR header. write_timing changed to unsigned long to allow encoding more than 4 hours at 128kbs. 2000-05-20 15:13 markt * main.c, takehiro.c: .wav output with --decode was putting wrong filesize in .wav header. 2000-05-19 23:01 markt * quantize-pvt.c, testcase.mp3, version.h: updated version.h lame 3.84 alpha (CVS version) 2000-05-19 20:07 markt * doc/html/history.html: updated history for 3.83beta 2000-05-19 20:06 markt * version.h: lame 3.83beta 2000-05-19 18:43 markt * encoder.h, lame.c: possible serious buffering problem fixed. LAME buffers input data until it has at least 1904 samples. It then starts processing them. The old MDCT routines processed 1728 samples and had a delay of 528. (introduced in 3.54) But the new MDCT routines, because the delay is so small (48 samples) actually need 2014 samples to be in the buffer! If you use the lame input routines, for MPEG1, this bug would not be found because the buffer always has well over 2014 samples in it. But it was possible to trigger it in MPEG2 encodings. It would also be possible to trigger this bug in programs that use lame_enc.dll and pass LAME data that is not in chunks of 1152 samples. 2000-05-19 17:23 markt * bitstream.c, lame.c, lame.h, parse.c, psymodel.c, testcase.mp3, vbrquantize.c: tweaks to psymodel initialization more work on vbrquantize.c 2000-05-19 01:38 markt * bitstream.c, gtkanal.c, l3side.h, lame.c, main.c, psymodel.c, quantize-pvt.c, takehiro.c, testcase.mp3, vbrquantize.c: more work on vbrquantize.c 2000-05-18 18:50 markt * main.c: updated decoder to remove initial delay 2000-05-18 05:38 markt * main.c, parse.c: lame --decode now outputs .wav files file length in header is set to 2^32-1, since we dont really know ahead of time how many samples are in the mp3 file. 2000-05-17 22:25 markt * quantize.c: ath lower bug in quantize.c fixed 2000-05-17 22:08 markt * quantize-pvt.c: calc_noise1 will compute noise (and related info) for last scalefactor band 2000-05-17 21:33 markt * quantize-pvt.c, takehiro.c: frame analyzer displays more data in scalefactor band 22 2000-05-17 19:50 markt * gtkanal.h, quantize-pvt.c, quantize-pvt.h, quantize.c, vbrquantize.c: modified frame analyzer to show last scalefactor band, energy and masking (from the ATH). distortion is not yet calculated in this band. 2000-05-17 18:08 markt * gtkanal.c, l3side.h, quantize-pvt.c, quantize.c, util.h: Possible fix for recent VBR/sweep bug: min bitrate not strictly enforced with -F, and analog silence was only being computed up th 16khz. 2000-05-17 17:16 markt * USAGE, brhist.c, get_audio.c, lame.c, lame.h, main.c, quantize.c, reservoir.c, util.c, util.h, vbrquantize.c: moved framenum, totalframes into lame.h (so programs which use libmp3lame can compute statis info.) 2000-05-15 14:34 takehiro * newmdct.c: more coding hack. 2000-05-14 23:38 cisc * newmdct.c: Changed M_PI to PI 2000-05-14 08:12 takehiro * newmdct.c: Naoki's short block mdct and more my coding hack for mdct 2000-05-14 05:51 takehiro * newmdct.c, util.h: mdct_long coding hack 2000-05-12 11:59 robert * util.h, lame.c, newmdct.c: code cleanup 2000-05-12 09:51 takehiro * newmdct.c, doc/html/history.html: more work in mdct_long and window_filtering 2000-05-12 05:03 markt * testcase.mp3: updated testcase.mp3 2000-05-12 05:02 markt * version.h: updated version to 3.83 alpha 2000-05-12 05:01 markt * API, README, version.h, doc/html/history.html: version 3.83 2000-05-10 13:55 takehiro * quantize-pvt.c: dirty hack for IEEE 754 FPU 2000-05-09 16:31 afaber * Dll/BladeMP3EncDLL.c: Fixed problem with build date string, temp string was not initialized properly (was missing a terminator character) 2000-05-09 11:30 takehiro * newmdct.c: Naoki's mdct_long with my coding hack. 2000-05-09 02:45 cisc * API, brhist.c: Added NOTERMCAP define and changed brhist.c accordingly. 2000-05-08 22:48 markt * testcase.mp3: [no log message] 2000-05-08 22:41 markt * quantize-pvt.c, doc/html/history.html: updated side channel 320kbs fix 2000-05-08 22:30 robert * Makefile, quantize-pvt.c: M/S reduce_side bug fixed, nonISO buffer mode should work now for 320 kbits MS streams too 2000-05-08 19:55 afaber * Dll/BladeMP3EncDLL.c: Bumped up version number of DLL version library, fixed some of the debugging code 2000-05-08 17:46 markt * doc/html/: contributors.html, examples.html, id3.html, index.html, lame.css, node5.html, node6.html, switchs.html: updated docs from Gaby 2000-05-08 17:40 markt * version.h: 3.82 alpha(CVS) version 2000-05-08 17:38 markt * version.h, doc/html/history.html: 3.81beta release 2000-05-08 17:31 markt * Makefile, USAGE, VbrTag.c, brhist.c, lame.h, parse.c, reservoir.c, util.c: removed ISO buffer limitation, added --strictly-enforce-ISO option 2000-05-08 00:06 markt * quantize-pvt.c, reservoir.c, vbrquantize.c: started work on vbrquantize.c 2000-05-07 11:09 robert * Makefile, Makefile.MSVC, lame.c, parse.c: -F option now working, updated Makefile for DOS 2000-05-07 03:59 takehiro * newmdct.c, util.h: new IDCT32 routine from Naoki and optimized by me. and more thread safe coding. 2000-05-06 22:20 markt * testcase.mp3: updated testcases 2000-05-06 22:20 markt * l3bitstream-pvt.h, lame.dsp, Dll/MP3EncDll.dsp: updated project files (for removal of ISO code) 2000-05-06 22:18 markt * Makefile, VbrTag.c, VbrTag.h, formatBitstream.c, formatBitstream.h, l3bitstream.c, l3bitstream.h, lame.c, quantize.c, util.c, util.h, vbrquantize.c: removed all ISO code 2000-05-06 22:09 markt * version.h: updated version to 3.81 alpha 1 (CVS version) 2000-05-06 22:07 markt * Makefile: updated makefile for beta release 2000-05-06 22:05 markt * version.h, doc/html/history.html: updated version for 3.80 beta release 2000-05-06 22:04 markt * USAGE, lame.c, lame.h, main.c, parse.c, quantize.c, vbrquantize.c: added -F option and compression ratio options 2000-05-06 19:16 markt * USAGE, lame.c, lame.h, parse.c, util.c: --freeformat option added. Allows lame to write free format bitstreams 2000-05-06 18:45 markt * bitstream.c, gtkanal.c, lame.c, parse.c, psymodel.c, quantize.c, util.h, mpglib/interface.c, mpglib/main.c: fixed buffer overflow in bitstream.c, some improvements to mpglib mp3 playback 2000-05-06 09:27 afaber * Dll/MP3EncDll.dsp: Update workspaces 2000-05-05 20:48 markt * get_audio.c, mpglib/common.c, mpglib/interface.c, mpglib/main.c, mpglib/mpg123.h, mpglib/mpglib.h: free format mp3 decoding now supported, not fully tested 2000-05-04 00:07 takehiro * takehiro.c: new count bits routine, speed up by coding hack. 2000-05-03 07:23 markt * psymodel.c: updated comments 2000-05-03 07:21 markt * psymodel.c, testcase.mp3: minor change to long block pre-echo control 2000-05-03 07:18 markt * psymodel.c, testcase.mp3: minor improvement to long block pre-echo control 2000-05-03 03:03 markt * mpglib/interface.c: one last tweak to interface.c 2000-05-03 02:37 markt * bitstream.c, mpglib/common.c, mpglib/interface.c, mpglib/layer3.c, mpglib/mpg123.h, mpglib/mpglib.h: worked on mpglib/interface.c to make it handle free format bitstreams. (not yet working) 2000-05-02 18:31 afaber * Dll/: BladeMP3EncDLL.c, MP3EncDll.dsp: Update lame version, bug fixes to play list file generation 2000-05-02 02:53 markt * reservoir.c: for CBR encoding, 320kbs, dont allow main_data_begin > 0 2000-05-02 01:24 markt * gtkanal.c, lame.c, psymodel.c, quantize-pvt.c, quantize.c, testcase.mp3: tweaked a bunch of bit allocation on PE settings, based on tunings of testsignal2.wav and castanets.wav 2000-05-01 18:18 markt * bitstream.c, brhist.c, brhist.h, lame.c, lame.dsp, lame.h, parse.c, quantize-pvt.c, reservoir.c, util.h, Dll/MP3EncDll.dsp: bunch of vbr histogram tweaks, and added --athshort option for internal testing only 2000-04-30 17:54 robert * lame.bat: DOS batch file to put on Win9x Desktop you can drag and drop waves on it and lame will encode them to mp3 2000-04-29 23:41 markt * bitstream.c, reservoir.c, testcase.mp3: moved where main_data_begin was corrected when padding into ancillary data 2000-04-26 18:14 markt * USAGE, lame.h, main.c, parse.c: added the '--decode' option 2000-04-26 00:54 markt * machine.h, main.c, mpglib/decode_i386.c, mpglib/layer3.c: moved calls to open the output file until after all arguments and other conditions are checked. 2000-04-24 22:22 markt * reservoir.c, testcase.mp3: disabled acillary drain (pre-frame) because of bugs at 320kbs Could be player or encoder bug - have to investigate 2000-04-19 21:35 robert * psymodel.c: MPEG2.5 related bug fixed 2000-04-19 19:35 markt * lame.c, lame.h, parse.c, quantize-pvt.c: fixed bug allowing more than 4096 bits in a granule 2000-04-18 22:57 markt * lame.c, lame.h, psymodel.c, reservoir.c, takehiro.c, util.h: lame is now (*maybe*) thread safe! 2000-04-18 08:35 markt * VbrTag.c, VbrTag.h, bitstream.c, brhist.c, get_audio.c, get_audio.h, id3tag.c, id3tag.h, l3bitstream.c, lame.c, lame.h, parse.c, psymodel.c, quantize-pvt.c, quantize.c, reservoir.c, reservoir.h, testcase.mp3, util.c, util.h, vbrquantize.c, Dll/BladeMP3EncDLL.c: more thread-safe work, and id3/vbr tag bug discovered by Iwasa Kasmi 2000-04-17 23:29 markt * lame.c, psymodel.c, quantize-pvt.c, quantize.c, util.h, vbrquantize.c: tweaks to vbrquantize.c 2000-04-17 06:12 markt * lame.c, testcase.mp3, vbrquantize.c: updated test cases 2000-04-17 05:16 markt * bitstream.c, l3bitstream.c, l3side.h, lame.c, quantize-pvt.c, reservoir.c, mpglib/main.c: fixed VBR stuffing bits problem. if VBR uses a large frame, then ResvMax may become small, and we have to make sure that main_data_begin doesn't create a buffer which violates this condition. The old code wouldn't check the above, but it would pad the current frame with 0's (wasting bits) to make sure the *next* frame didn't violate the ResvMax condition. But this results in wasted bits because in VBR there is a change the *next* frame will be at a lower bitrate and thus have a larger ResvMax. 2000-04-17 02:25 markt * API, Makefile, get_audio.c, gtkanal.c, lame.c, lame.h, main.c, mp3x.c, parse.c, psymodel.c, quantize-pvt.c, quantize.c, reservoir.c, util.h, vbrquantize.c, mpglib/layer3.c, mpglib/main.c, mpglib/mpglib.h: Removed gtk specific code from libmp3lame.a: libmp3lame.a can now be compiled to support the mp3 frame analyzer but does not require gtk to be installed. (and thus, HAVEGTK does not occure in any of the library routines). To compile the frame analyzer (mp3x) you of course still need gtk installed. 2000-04-17 00:38 markt * VbrTag.c, mpglib/main.c: another attempt at fixing mpeg2.5 xing header 2000-04-16 20:56 markt * VbrTag.c: VBR header for MPEG2.5 fixed. 2000-04-14 00:37 markt * lame.c, main.c, parse.c, quantize-pvt.c, reservoir.c, reservoir.h, vbrquantize.c: tweaks to vbrquantize.c 2000-04-13 01:57 markt * version.h (lame3_70): fixed version 2000-04-13 01:19 markt * lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, util.h, vbrquantize.c: vrbquantize bounds checking 2000-04-12 18:44 markt * lame.c, psymodel.c, quantize.c, testcase.mp3, util.h, vbrquantize.c: removed gfc->masking_lower 2000-04-12 18:29 markt * Makefile, quantize-pvt.c, quantize.c: Robert's VBR quality control mode now the default! 2000-04-12 18:19 markt * lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, util.h, vbrquantize.c: removed static masking_lower 2000-04-12 18:10 markt * quantize-pvt.c, quantize.c: removed reduce_sidechannel static 2000-04-12 18:08 markt * quantize-pvt.c, quantize.c, vbrquantize.c: removed convert_mdct static variable 2000-04-12 18:06 markt * quantize-pvt.c, util.h: removed static variables ATH_l, ATH_s 2000-04-12 15:47 markt * lame.c, psymodel.c, quantize.c, vbrquantize.c, doc/man/lame.1: removed qthr_l, qthr_s from psymodel.c fixed man pages. enabled new VBR code with -Y disabled -Z option: it was broken since subblock gains were not scaled into xrpow 2000-04-12 01:37 markt * mpglib/layer3.c: gtk changes 2000-04-12 01:36 markt * gtkanal.c, lame.c, psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.h, testcase.mp3, vbrquantize.c: new vbr quantize code mostly done! 2000-04-11 18:24 markt * Makefile, get_audio.c, get_audio.h, gtkanal.c, gtkanal.h, lame.c, lame.h, quantize.c, util.h, vbrquantize.c: removed all static variables from get_audio.c 2000-04-11 15:59 markt * HACKING: updated HACKING 2000-04-11 15:55 markt * API, l3side.h, lame.c, quantize-pvt.c, quantize-pvt.h, util.h, vbrquantize.c: updated API 2000-04-11 00:33 markt * lame.c, vbrquantize.c: work on vbrquattize.c 2000-04-10 20:24 markt * lame.c, main.c, quantize-pvt.c, quantize.c, util.c, util.h: bug fixed: mfbuf overflow, and check for overflow was being done, but after the overflow and in this case the overflow was causing the check to pass. 2000-04-10 16:41 markt * lame.c, quantize.h, util.c, util.h, vbrquantize.c: precompute 16 windows for downsampling. much faster. 2000-04-09 21:53 markt * bitstream.c, quantize-pvt.c, quantize.c, reservoir.c, util.c, mpglib/layer3.c, mpglib/main.c: MPEG2.5 8khz sampling rate fixes 2000-04-09 02:08 markt * encoder.h, lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, reservoir.c, testcase.mp3: tweaked bit reservoir growth, bits on pe allocation 2000-04-08 23:33 markt * lame.c, quantize-pvt.c, takehiro.c, testcase.mp3: tweaks to on_pe, side channel bit allocation 2000-04-08 20:33 markt * encoder.h, testcase.mp3: switched to encoder delay of 576 2000-04-08 20:31 markt * bitstream.c, tables.c: [no log message] 2000-04-08 20:22 markt * bitstream.c, quantize.c, takehiro.c, testcase.mp3, util.c, util.h: Takehiro's more efficient short block huffman coding. 2000-04-08 18:08 markt * lame.c: VBR compression ratio calculation 2000-04-08 01:26 cisc * bitstream.c: Use INLINE dammit! ;) 2000-04-07 00:11 markt * util.c: fixed M_PI problem 2000-04-06 21:08 robert * bitstream.c: scalefac_band compile fix 2000-04-06 19:26 markt * doc/html/history.html (lame3_70): [no log message] 2000-04-06 19:17 markt * Makefile, version.h (lame3_70): [no log message] 2000-04-06 18:49 markt * Makefile (lame3_70): [no log message] 2000-04-06 18:48 markt * version.h, doc/html/history.html (lame3_70): version 3.70 2000-04-06 18:30 markt * gtkanal.c, l3bitstream-pvt.h, l3bitstream.c, l3side.h, lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c, testcase.mp3, util.h, vbrquantize.c: made scalefac_band non-local 2000-04-06 18:23 markt * bitstream.c: [no log message] 2000-04-06 18:19 markt * bitstream.h: [no log message] 2000-04-06 18:18 markt * bitstream.c: opps, forgot to add this... 2000-04-06 17:31 markt * Makefile.MSVC, lame.dsp, Dll/MP3EncDll.dsp: MSVC project files updated 2000-04-06 17:29 markt * VbrTag.c, VbrTag.h, lame.c, util.c, util.h: takehiro bitstream.c now on by default! 2000-04-06 16:32 markt * takehiro.c, mpglib/layer3.c: takehiro bitstream.c now working for CBR, disabled by default 2000-04-05 08:54 markt * Makefile, l3bitstream.c, lame.c, quantize-pvt.c, quantize-pvt.h, tables.c, tables.h, takehiro.c, util.c, util.h: takehiro's bitstream.c package close to being interface into lame. 2000-04-05 01:38 markt * lame.c, util.c: mode_fixed bug 2000-04-05 01:38 markt * lame.c (lame3_70): mode_fixed bug fixed 2000-04-04 22:49 markt * version.h, doc/html/history.html (lame3_70): updated version 2000-04-04 21:36 robert * parse.c: [no log message] 2000-04-04 20:37 cisc * amiga_mpega.c (lame3_70): Fixed nsamp overflow problem. 2000-04-04 19:51 markt * lame.c, util.c, util.h: upsampling uses old interpolation code downsampling uses good, FIR/blackman window code 2000-04-04 19:27 markt * version.h (lame3_70): updated version 2000-04-04 19:05 markt * Makefile.MSVC: loopold removed from makefile.msvc 2000-04-04 17:45 markt * parse.c (lame3_70), parse.c: cwlimit parsing fixed 2000-04-04 16:05 markt * lame.c (lame3_70), lame.c: default mode will use jstereo 2000-04-04 03:20 markt * Dll/BladeMP3EncDLL.c (lame3_70): [no log message] 2000-04-04 03:20 markt * Dll/BladeMP3EncDLL.c: more fixes 2000-04-03 19:50 markt * quantize-pvt.c: more gfc changes 2000-04-03 19:19 markt * HACKING, lame.c, newmdct.c, quantize-pvt.c, quantize.c, util.c, util.h: more thread-safe work. (moving all static variables into gfc-> struct) 2000-04-03 18:24 markt * brhist.c, get_audio.c, gtkanal.c, l3bitstream.c, l3bitstream.h, lame.c, lame.h, newmdct.c, parse.c, psymodel.c, quantize-pvt.c, quantize.c, quantize.h, reservoir.c, takehiro.c, util.c, util.h, vbrquantize.c: more massive internal changes in the goal of making lame thread safe. gfp-> user controlled varialbes gfc-> all other internal parameters. eventually all global variables which very from encode to encode need to go in here. 2000-04-03 16:00 markt * Dll/BladeMP3EncDLL.c: dll finally fixed! 2000-04-03 15:59 markt * Dll/BladeMP3EncDLL.c (lame3_70): dll fixes 2000-04-03 15:39 markt * lame.c, Dll/BladeMP3EncDLL.c (lame3_70): bug in lame_enc dll fixed? 2000-04-03 15:38 markt * Dll/BladeMP3EncDLL.c: bug in lame_enc.dll finally fixed? 2000-04-03 01:19 markt * lame.c: tweaked output display 2000-04-03 01:07 markt * lame.c, Dll/BladeMP3EncDLL.c: new resample routine. very slow, but much higher quality. 2000-04-02 19:38 robert * parse.c: overhauled presets: + redesign of help page + phone uses now MPEG2.5 8kHz + sw new, for short wave radio @ 11.025 kHz 24kbits + am new, for am radio @ 16 kHz 32 kbits + fm changed, 22.05 kHz 64 kbits + radio new, the old fm at 112 kbits rest minor tunings 2000-04-02 02:57 markt * Dll/BladeMP3EncDLL.c (lame3_70): [no log message] 2000-04-02 02:44 markt * Dll/: BladeMP3EncDLL.c (lame3_70), BladeMP3EncDLL.c: [no log message] 2000-04-02 01:56 markt * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h (lame3_70): Dll updates 2000-04-02 01:55 markt * Dll/BladeMP3EncDLL.c: more DLL updates 2000-04-02 01:39 markt * parse.c, util.c: MPEG2.5 docs 2000-04-02 01:35 markt * l3bitstream.c, lame.c, lame.h, psymodel.c, quantize-pvt.c, quantize-pvt.h, util.c, util.h, Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.h: MPEG2.5 support 2000-04-01 11:47 robert * lame.c, parse.c: + added --version and --license switch + changed --help to give only most important options so that it fits on a 80x24 terminal display + added --longhelp switch to get the full options list + changed -v and -Vx, now they switch quality to 2 you can go down below 2 by adding -f or -q5 + changed presets: turned off highpass filters except for "phone" voice sample freq now 22.05 kHz, due to mpg123 bug 2000-04-01 01:09 markt * Dll/BladeMP3EncDLL.c (lame3_70): more dll bug fixes (mono) 2000-04-01 00:04 markt * version.h (lame3_70): updated version to 3.68 alpha 1 2000-03-31 23:56 markt * Dll/BladeMP3EncDLL.c (lame3_70): fixed mono bug 2000-03-31 23:53 markt * lame.c, vbrquantize.c, Dll/BladeMP3EncDLL.c: mono encoding bug in DLL fixed 2000-03-31 22:47 robert * Makefile, quantize-pvt.c, quantize-pvt.h: removed RH_ATH/RH_SIDE_CBR code 2000-03-31 22:45 robert * quantize.c: minor frame analyzer fix for VBR, removed RH_ATH/RH_SIDE_CBR code 2000-03-30 23:39 markt * lame.c, parse.c (lame3_70): undocumented -q option for internal testing 2000-03-30 23:38 markt * get_audio.c, gtkanal.c, lame.c, main.c, parse.c, quantize.c: added -q option for internal testing. sets value of gfp->quality 2000-03-30 19:51 markt * testcase.mp3: updated test case for new CVS version 2000-03-30 09:37 markt * INSTALL: wingtk doc 2000-03-30 09:36 markt * INSTALL: [no log message] 2000-03-30 08:24 markt * INSTALL, README: updated docs 2000-03-30 08:04 markt * README.WINGTK, lame.dsp, Dll/MP3EncDll.dsp: new directions for compiling mp3x under windows 2000-03-30 07:54 markt * lame.dsp (MSVC6), README.WINGTK: updated project files 2000-03-30 07:00 markt * lame.dsp (MSVC6), Dll/MP3EncDll.dsp: updated project files 2000-03-30 05:39 markt * VbrTag.c, gtkanal.c, gtkanal.h, l3bitstream.c, lame.c, machine.h, psymodel.c, quantize.c, takehiro.c, mpglib/layer3.c: added big_values display to mp3x 2000-03-30 05:38 markt * VbrTag.c, l3bitstream.c, lame.c, machine.h, quantize.c, takehiro.c, vbrquantize.c: fixed 2 bugs: l3bitstream.c: 1. The quadruples were encoded with the wrong sign: Any non-zero coefficient in the count1 block was marked as negative! takehiro.c: 2. short blocks were using a cod_info->big_values=288 (which should be 576, because big_values was multiplied by 2 in the new version of takehiro.c) 2000-03-29 20:49 markt * doc/html/: contributors.html, examples.html, history.html, id3.html, index.html, lame.css, node6.html, switchs.html: new docs from Gabriel 2000-03-29 02:00 markt * l3bitstream.c, psymodel.c, quantize-pvt.c, quantize.c, reservoir.c, takehiro.c, util.c, vbrquantize.c, brhist.c, fft.c, get_audio.c, globalflags.h, gtkanal.c, gtkanal.h, lame.c, newmdct.c, parse.c: removed globalflags.h 2000-03-29 01:55 markt * globalflags.h (lame3_70), brhist.c, fft.c, get_audio.c, gtkanal.c, gtkanal.h, lame.c, newmdct.c, parse.c, vbrquantize.c: removed "globalflags.h" 2000-03-29 01:06 markt * lame.c: missing free() calls in lame_encode_buffer_interleave 2000-03-28 16:41 takehiro * takehiro.c: oops, this may remove any seg.fault bug... 2000-03-28 15:39 takehiro * takehiro.c: Oops, I mistake count1 for big_values 2000-03-28 13:08 cisc * amiga_mpega.c: Fixed overflow problem with nsamp calculation. 2000-03-27 22:09 markt * lame.c: fixes to lame_encode_buffer_interleave 2000-03-27 22:09 markt * lame.c: fixes to lame_encode_buffer_interleave() 2000-03-27 21:46 robert * takehiro.c: added assertion, cos here is a bug 2000-03-27 21:34 markt * doc/html/history.html: updated history.html 2000-03-27 21:33 markt * version.h: [no log message] 2000-03-27 21:09 markt * lame.c: minor change with ms_ener_ratio_ave 2000-03-27 21:06 markt * lame.c: ms_ener_ratio_ave M/S override switch turned off 2000-03-27 20:58 markt * version.h: changed version number. 3.80 is the next beta version, 3.70 is the stable version 2000-03-27 19:42 markt * version.h (lame3_80): updated version in the lame3_80 branch 2000-03-27 19:42 markt * version.h: this is new the future version 3.81beta 2000-03-27 19:39 markt * l3bitstream.c, quantize.c, tables.c, takehiro.c (lame3_80): The next "official" stable release, lame3.80. lame3_80 is a branch. This will not include Takehiro's latest lossless encoding stuff. (l3bitstream.c, quantize.c, tables.c, takehiro.c) 2000-03-27 19:26 markt * takehiro.c: gfp->use_scfsi replaced by mode_gr==2 2000-03-27 17:53 markt * get_audio.c, lame.c, main.c, util.c, version.h: Ingo -f fast-math rounding problem fix 2000-03-27 15:59 takehiro * takehiro.c: debugged seg.fault when count1 is 576 2000-03-26 21:21 markt * quantize.c: opps, i screwed up quantize.c! fixed version 2000-03-26 10:05 markt * Makefile, gtkanal.c, gtkanal.h, lame.c, quantize.c, mpglib/layer3.c: disabled noise_shaping_stop=1, fixed jstereo default mode problem, updated frame analyzer 2000-03-25 18:16 cisc * takehiro.c: Use INLINE define instead of inline. 2000-03-25 16:18 takehiro * lame.c: enable noise_shaping==1 when high quality mode even without -X 2000-03-25 16:17 takehiro * takehiro.c: debug seg.fault when big_values==0 2000-03-25 15:01 takehiro * l3bitstream.c, quantize-pvt.c, quantize-pvt.h, quantize.c, tables.c, takehiro.c: best huffman divide now "more best" huffman coding. 2000-03-25 03:35 takehiro * Makefile, l3bitstream.c, l3side.h, lame.c, psymodel.c, quantize-pvt.c, tables.c, takehiro.c: new faster lossless coding routine(especially with -h) 2000-03-25 00:06 markt * get_audio.c, main.c, quantize-pvt.h, quantize.c, takehiro.c, testcase.mp3: added some code to best_scalefac_store: if ix=0 in a scalefactor band, set the scalefactor to 0 also, to save a few bits. 2000-03-24 23:06 markt * lame.dsp (MSVC6), Dll/MP3EncDll.dsp: updated project files 2000-03-24 23:02 markt * get_audio.c, machine.h: _setmode stuff for windows 2000-03-24 22:37 markt * lame.h, quantize-pvt.c, mpglib/layer3.c: fixed MPEG2 tables in mpglib, added more accurate mp3buffer size bound in lame.h 2000-03-24 18:21 markt * quantize-pvt.c, quantize-pvt.h, quantize.c: [no log message] 2000-03-24 18:08 markt * lame.dsp, loopold.c, Dll/MP3EncDll.dsp: removed loopold.c 2000-03-24 18:07 markt * Makefile, gtkanal.c, lame.c, lame.h, psymodel.c, psymodel.h, quantize-pvt.c, quantize.c: Removed old M/S stereo mode which uses L/R masking functions. removed loopold.c and all that other "dual channel" stuff 2000-03-24 02:00 markt * VbrTag.c, lame.c: MPEG2 VBR tag should now work 2000-03-24 01:38 markt * VbrTag.c, VbrTag.h, lame.c, Dll/BladeMP3EncDLL.c: Xing MPEG2 headers work 2000-03-23 22:13 markt * Makefile: uncommented options in makefile 2000-03-23 22:12 markt * API, Makefile, lame.c, lame.h, util.c, mpglib/common.c: strange bug with -f fast-math option under gcc: it would compute the mp3 framesize wrong, due to incorrect integer truncation. Replaced implicit integer truncation with floor() to fix this. 2000-03-23 20:30 markt * Makefile, get_audio.c, lame.c, lame.h: autoconvert moved into lame_encode_buffer 2000-03-23 20:02 markt * Makefile, lame.c, lame.h: lame_encode_buffer_interleaved added to API 2000-03-22 17:14 markt * vbrquantize.c: minor fixes 2000-03-22 04:15 markt * version.h, doc/html/history.html: lame 3.66 2000-03-22 02:03 markt * USAGE, gtkanal.c, lame.c, machine.h, main.c, parse.c, quantize-pvt.c: float/double version of ASM quantize routines 2000-03-21 23:02 markt * brhist.c, brhist.h, gtkanal.c, gtkanal.h, l3bitstream-pvt.h, l3bitstream.c, l3bitstream.h, lame.c, loopold.c, newmdct.c, newmdct.h, psymodel.c, psymodel.h, quantize-pvt.c, quantize-pvt.h, quantize.c, quantize.h, reservoir.c, reservoir.h, takehiro.c, util.c, util.h, vbrquantize.c, mpglib/layer3.c: replaced all "gf." by gfp-> 2000-03-21 20:58 markt * lame.c: fixed bug in lame_encode_finish: if user informs lame that mp3buffer has size 0, lame will not check to make sure the mp3buffer is big enough to store the encoded data 2000-03-19 22:29 afaber * lame.c, Dll/BladeMP3EncDLL.c: Fixes to the lame DLL encoder: If last frame is too short, set number of output bits to 0 instead of -1 Don't disable the bWriteVBRTag flag if input file is null 2000-03-19 20:07 cisc * get_audio.c: Byteswapping (-x) didn't work when using LIBSNDFILE 2000-03-18 00:33 cisc * parse.c: Fixed typo in define. 2000-03-18 00:32 cisc * amiga_mpega.c: Erk, didn't spot the array/pointer relation, restored to previous version. 2000-03-17 22:09 cisc * amiga_mpega.c: b[] is a pointer, so supply addresses of pcm_l&r. 2000-03-17 19:29 markt * lame.c: VBR was displaying MPEG2 bitrates - fixed. 2000-03-17 04:31 markt * machine.h: added note to machine.h 2000-03-17 04:30 markt * version.h, doc/html/history.html: uncommented gcc ASM code 2000-03-17 04:27 markt * quantize-pvt.c: uncommended the GCC ASM code for quantize_xrpow() 2000-03-17 00:07 markt * doc/html/history.html: updated history 2000-03-17 00:05 markt * amiga_mpega.c, get_audio.c, lame.h, version.h, mpglib/main.c, mpglib/mpglib.dsp: some tweaks to API for lame_decode_fromfile 2000-03-16 23:59 markt * lame.dsp, mpglib/mpglib.dsp (MSVC6), Dll/BladeMP3EncDLL.c: project file tweaks 2000-03-16 23:36 markt * get_audio.c, lame.dsp, lame.h, parse.c: updated project files MSVC5 2000-03-16 23:19 markt * lame.dsp, mpglib/mpglib.dsp (MSVC6), main.c: updated MSVC6 branch project files 2000-03-16 19:42 markt * Dll/BladeMP3EncDLL.c: update to bladedll 2000-03-16 19:38 markt * gtkanal.c, lame.h, mpglib/main.c: one last change to lame_decode()... 2000-03-16 19:05 markt * get_audio.c, get_audio.h, gtkanal.c, gtkanal.h, lame.c, lame.h, main.c, mp3rtp.c, mp3x.c, parse.c, util.c, util.h: more and these really should be the last changes to the API 'gf' is no substantiated by the calling program, and passed to all lame_routines(). This is so lame can eventually be made re-entrant by putting all static vars in the gf struct. 2000-03-16 16:44 markt * VbrTag.c, loopold.c, machine.h, takehiro.c, timestatus.c, util.h: strict ansi patches from Heiko.Eissfeld 2000-03-16 05:33 markt * USAGE, main.c: updated USAGE 2000-03-16 05:28 markt * mpglib/mpglib.dsp: revert back to MSVC5 2000-03-16 05:26 markt * lame.dsp, lame.dsw (MSVC6), main.c, mpglib/mpglib.dsp: MSVC changes to compile lame.exe 2000-03-16 00:24 markt * timestatus.c: fixed CPU/playing time display bug 2000-03-15 20:37 markt * encoder.h, l3bitstream.c, lame.h, parse.c, psymodel.c, takehiro.c: minor changes 2000-03-15 01:34 markt * filters.c, filters.h: removed filters.c, filters.h 2000-03-15 01:30 markt * Dll/MP3EncDll.dsp: updated MSVC6 project files (in MSVC6 branch) 2000-03-15 01:20 markt * Dll/: MP3EncDll.dsp, MP3EncDll.dsw: reverting back to MSVC5 2000-03-15 01:14 markt * parse.c, Dll/BladeMP3EncDLL.c, Dll/MP3EncDll.dsp, Dll/MP3EncDll.dsw: updated bladeenc dll 2000-03-14 21:01 markt * lame.c, loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c, quantize.h, reservoir.c, reservoir.h, util.c, util.h, vbrquantize.c: removed fr_ps struct 2000-03-14 20:45 markt * brhist.c, brhist.h, l3bitstream.c, l3bitstream.h, lame.c, lame.h, psymodel.c, psymodel.h, quantize-pvt.c, quantize-pvt.h, quantize.c, reservoir.c, timestatus.h, util.c, util.h, vbrquantize.c: removed "info" sturct. Removing fr_ps struct 2000-03-14 07:21 markt * brhist.c, l3bitstream.c, lame.c, lame.h, loopold.c, psymodel.c, quantize-pvt.c, quantize.c, reservoir.c, timestatus.c, timestatus.h, util.c, util.h: removed more info-> variables 2000-03-14 06:36 markt * lame.c, lame.h: removing some of the info-> variables 2000-03-10 23:21 cisc * amiga_mpega.c: Had to make a dummy break-function to make atexit() work. 2000-03-10 23:18 markt * loopold.c: segfault fixed in loopold.c when count[] was zero for one channel and non-zero for the other 2000-03-10 20:56 markt * API, Makefile, gtkanal.c, lame.c, lame.h, version.c: added lame_version to the API 2000-03-10 20:13 markt * Dll/BladeMP3EncDLL.c: removed some unnecessary #includes 2000-03-10 19:48 markt * Dll/MP3EncDll.dsp: added #define LAMEPARSE to Blade project files 2000-03-10 19:38 markt * Dll/: BladeMP3EncDLL.c, MP3EncDll.dsp: Blade dll updated to handle new interface Albert: Sorry if I broke anything, the old version is still in CVS :-) 2000-03-10 18:55 markt * Dll/BladeMP3EncDLL.c (test): testing... 2000-03-10 16:01 markt * Dll/BladeMP3EncDLL.c: BladeMP3 changes 2000-03-10 01:41 markt * Dll/BladeMP3EncDLL.c: some changes to update BaldeMP3encdll 2000-03-09 19:42 markt * quantize-pvt.c, takehiro.c: quantize_xrpow_ISO also uses tablelookup, so it also needed the "xr too big" check 2000-03-09 18:05 markt * HACKING, get_audio.c, gtkanal.c, lame.c, lame.h, main.c, parse.c: [no log message] 2000-03-08 00:16 markt * Makefile, parse.c: Robert's presets restored. polyphase filters now except filterwidth arguments. 2000-03-08 00:05 markt * lame.c, lame.h, newmdct.c: polyphase filter now supports lowpasswidth and highpasswidth option 2000-03-07 23:10 cisc * API: Added AMIGA_MPEGA #define, and fixed a few minor spelling errors... ;) 2000-03-07 22:56 cisc * amiga_mpega.c: Made sure lame_decode_fromfile() won't return an empty frame (unless there's an error). 2000-03-07 18:33 markt * API, Makefile, get_audio.c, lame.c, main.c, parse.c: minor tweeks to compile w/o decoding library 2000-03-07 08:01 sbellon * lame.c: fixed RISC OS FPE support 2000-03-06 23:28 markt * API: API description 2000-03-06 19:55 markt * lame.dsp: [no log message] 2000-03-06 19:53 markt * Makefile, Makefile.MSVC, get_audio.c, get_audio.h, id3tag.h, lame.c, lame.dsp, lame.h, parse.c, Dll/MP3EncDll.dsp, mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/interface.c, mpglib/layer3.c, mpglib/main.c, mpglib/tabinit.c: More library work. Sorry to all the non-unix developers out there, but this will break all project files. (but we are very close to the end of the modularization work). New code needs the following #defines set somewhere: #define HAVEMPGLIB to use mpglib's mp3 *decoding* capibility (or AMEGA_MPEGA on amiga systems, and dont define HAVEMPGLIB) #define BRHIST to allow the display of the VBR historgram #define LIBSNDFILE to use Erik de Castro Lopo's libsndfile #define LIBSNDLAME to use LAME's minimial internal sndfile I/O #define LAMEPARSE to use LAME's command line parsing/option setting routines #define HAVEGTK to compile in support for the GTK mp3 frame analyzer 2000-03-06 15:16 markt * filters.c, lame.c, lame.h, newmdct.c, parse.c, testcase.mp3: polyphase filters are now working! some tuning of polyphase fiters. removed MDCT filters, sfb21 cutoff. 2000-03-06 03:59 markt * gtkanal.c, lame.c, newmdct.c, psymodel.c: new polyphase filters 2000-03-05 19:07 markt * psymodel.c: Gabriel: L/R block matching fix 2000-03-05 18:37 markt * id3tag.c, id3tag.h, lame.c, lame.h, newmdct.c, parse.c, doc/html/id3.html: id3v1.1 tags from Don Melton 2000-03-04 17:19 markt * get_audio.c, lame.c: resampling moved to fill_buffer_resample() in lame.c, which has linear and 3rd order resampling 2000-03-04 15:31 markt * amiga_mpega.c, get_audio.c, lame.c, main.c, quantize-pvt.c, quantize.c, vbrquantize.c: patch from kimmo to remove more c++ comments, fill_buffer_linear_resample code 2000-03-04 05:13 markt * lame.c: fill_buffer routines 2000-03-03 19:25 markt * encoder.h, mp3rtp.c: mp3rtp uses new, simplified lame_encode_buffer interface 2000-03-03 19:01 markt * encoder.h, lame.c, lame.h, main.c, testcase.mp3: added lame_encode_buffer, the new, prefered encoding interface 2000-02-29 21:19 robert * parse.c: minor change, exit if wrong preset type was given 2000-02-29 19:54 robert * fft.c: minor speed up (at least for gcc) 2000-02-29 18:00 sbellon * lame.c: moved RISC OS floating point exception part into debugging area 2000-02-27 19:11 robert * quantize-pvt.c, quantize-pvt.h, quantize.c: removed unused parameter 2000-02-27 18:36 robert * psymodel.c: code clean up, giving an overall speed up of 3-4% 2000-02-25 07:00 markt * lame.c: minor cleanup 2000-02-24 15:30 robert * loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c: code cleanup, removed unused parameter 2000-02-23 02:40 cisc * amiga_mpega.c: Fixed up the cleanup function. 2000-02-22 23:21 robert * quantize-pvt.c, testcase.mp3: switched back to original bin_search_stepsize routine 2000-02-22 03:14 markt * quantize-pvt.c, testcase.mp3: RH bin_search_stepsize now the default 2000-02-22 00:54 cisc * amiga_mpega.c: Oh, nevermind, wasn't very efficient here, proper place would be in sndfile.lib 2000-02-22 00:15 cisc * lame.h, main.c: Minor fixes. 2000-02-21 23:58 cisc * amiga_mpega.c: Make sure input-file is closed when CTRL-C is received. 2000-02-21 23:05 markt * Makefile, get_audio.c, gtkanal.c, ieeefloat.c, l3bitstream.c, main.c, util.c, doc/html/history.html, mpglib/main.c: some 64bit DEC Alpha patches 2000-02-21 22:40 robert * quantize-pvt.c: speed up of bin_search_stepsize, the bin_search is about 20% faster, resulting in an average speed up of 2-3%, disabled by default as it breaks the testcase 2000-02-21 22:39 sbellon * main.c: further RISC OS support added 2000-02-21 00:21 markt * lame.c: minor 2000-02-20 23:36 markt * get_audio.c, lame.c, lame.h, main.c, mp3rtp.c, parse.c: num_samples /eof fix, ABORTFP fix, stdout mode setting fix 2000-02-20 20:31 markt * mpglib/common.c: better error message 2000-02-20 20:03 robert * get_audio.c: removed warning about fill up with zeros again, it is common at the end of an input file 2000-02-20 19:26 robert * Makefile, quantize-pvt.c, quantize-pvt.h, quantize.c: code cleanup 2000-02-20 18:45 robert * psymodel.c: code cleanup 2000-02-20 14:09 robert * formatBitstream.c: fixed assertion failure while flushing bitstream at end of encoding 2000-02-20 14:08 robert * get_audio.c: applied patch from Jeremy Hall to fix stdin problem 2000-02-19 13:32 afaber * fft.c, formatBitstream.c, formatBitstream.h, get_audio.c, ieeefloat.c, l3bitstream.c, machine.h, quantize-pvt.c, quantize.c, takehiro.c, mpglib/mpg123.h: Fixed many warning messages when compiling with MSVC 2000-02-19 12:15 afaber * VbrTag.c: Applied patch from Mathew Hendry to avoid divide by zero 2000-02-18 16:21 robert * quantize-pvt.c: Mathew Hendry: line 813 should read "#define USE_MSC_ASM" and not "#define USE_MSC_AMS" 2000-02-18 16:20 robert * Makefile.MSVC: Mathew Hendry: "stray space character following the \" patched 2000-02-18 16:07 robert * lame.c: Mathew Hendry's CYGWIN gcc FPU control patch 2000-02-18 06:16 markt * Makefile, gtkanal.c, lame.c, testcase.mp3: changed sizeof frame analyzer so it fits on a 800x600 screen. make --nores also set info->padding = 0. Avoids problem with small changes in frac_SpF causing different padding patterns and mp3 file differences. 2000-02-17 20:12 robert * loopold.c, quantize-pvt.h, quantize.c: code clean-up, it seems the SIGFPE exceptions are gone 2000-02-16 22:42 cisc * machine.h: Fixed INLINE define for SAS/C. 2000-02-16 21:18 cisc * main.c: Include machine.h so that needed prototypes get added. 2000-02-16 07:06 markt * quantize-pvt.c, quantize-pvt.h, quantize.c: new quantize xrpow for PowerPC 2000-02-16 03:56 markt * lame.c, quantize-pvt.c: patches for risc_os 2000-02-15 22:16 robert * quantize.c: forgot to save plotting data for best quantization in VBR_iteration_loop 2000-02-15 17:12 robert * quantize-pvt.h, quantize.c: VBR_iteration_loop speedup, removed extra quantizations 2000-02-15 14:51 markt * Makefile: [no log message] 2000-02-15 14:40 markt * lame.c: some non-initilized memory patches 2000-02-15 02:01 robert * quantize-pvt.c: bug in ms_convert fixed when source and target are the same 2000-02-14 21:48 robert * quantize-pvt.c: Mathew Hendry's quantize-xrpow gcc asm patch 2000-02-14 21:47 robert * quantize.c: missing line added 2000-02-14 21:01 afaber * lame.c: Intialize float arrays to avoid floating point errors when ABORTFP is set Added floating point trapping code for MSVC compiler 2000-02-14 20:53 afaber * psymodel.c: Intialize tot_ener to avoid floating point errors 2000-02-14 05:50 markt * Makefile, loopold.c, parse.c, quantize-pvt.c, quantize-pvt.h, quantize.c: merged takehiro2 branch back into main branch. there is still a floating point exception which I cannot track down. 2000-02-14 04:53 markt * psymodel.c, takehiro.c, doc/html/contributors.html, doc/html/examples.html, doc/html/id3.html, doc/html/index.html, doc/html/switchs.html: updated html from Gabriel 2000-02-13 18:52 robert * fft.c, fft.h, psymodel.c: modified energy calculation, fast MS fft patch should work now 2000-02-11 17:21 markt * Makefile, quantize.c, reservoir.c: fixed scalefac not-initialized problem. This would happen when xr = 0 and outer_loop() was skipped. 2000-02-11 16:34 markt * psymodel.c: m/s fft patch was not working. 2000-02-10 19:00 robert * parse.c: added help info for --preset option and shuffled help text to bring it more in line 2000-02-10 16:33 robert * fft.c, fft.h, psymodel.c: applied Takehiro Tominaga's fast MS fft patch 2000-02-10 14:22 markt * doc/html/history.html: updated history file from web page 2000-02-10 06:43 markt * version.h: updated version 2000-02-10 06:15 markt * lame.c, parse.c, version.c, version.h: added version info to help output 2000-02-10 05:42 markt * psymodel.c, testcase.mp3: fixed bug in s3_s spreading function calculation. 2000-02-10 05:35 markt * loopold.c, quantize-pvt.h, quantize.c: undo some of takehiro's speedup improvements until we can track down floating point exceptions 2000-02-10 05:23 markt * Makefile, brhist.c, brhist.h, lame.c, loopold.c, psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.c: some bug fixes: psymodel partition band calculations done *before* the spreading function need to use npart_l_orig. After spreading function, use npart_s_orig. 3 cases of scalefac->l[i][sfb] which should be scalefac->l[sbf][i] VBR min & max bitrate index setting problem fixed 2000-02-08 17:20 afaber * lame.c: Guarded disp_brhist with #ifdef BRHIST, in order to compile with MSVC 2000-02-06 10:57 takehiro * loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c, psymodel.c: new spread matrix calculation is now default(faster!) 2000-02-06 05:59 markt * gtkanal.c: Iwasa's changes to gtkanal.c 2000-02-05 12:32 robert * lame.c, lame.h, parse.c, util.c, util.h: applied Ingo Saitz command line usage patch 2000-02-05 05:16 markt * Makefile.MSVC, brhist.c, lame.c, loopold.c, machine.h, parse.c, quantize.c: minor code cleanup 2000-02-04 23:49 robert * parse.c: added "--preset type" option to offer users some usefull presettings that should shorten the commandline for most cases 2000-02-04 21:42 afaber * lame.c, lame.dsp: Fixed WIN32 compiler errors 2000-02-04 21:26 robert * parse.c: added '--help' option to allow DOS users to scroll thru the usage page with "lame --help | more" 2000-02-04 13:57 takehiro * loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c: speed up hack on the array index. 2000-02-04 13:49 takehiro * psymodel.c: and more faster calculation 2000-02-04 02:29 markt * lame.h, quantize-pvt.c: minor editing 2000-02-03 15:43 takehiro * psymodel.c: some assertion bug(?) has removed 2000-02-03 15:31 takehiro * psymodel.c: more faster calculation 2000-02-02 22:30 afaber * mpglib/main.c: Added MPGLIB library 2000-02-02 22:25 takehiro * psymodel.c: faster spread function calculation 2000-02-02 17:12 markt * get_audio.h, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c, vbrquantize.c: minor code cleanup 2000-02-02 10:31 markt * Makefile: testcase update 2000-02-02 10:25 markt * Makefile, filters.c, lame.c, quantize-pvt.c, quantize.c: fixed some minor bugs in new scalefac data structure code 2000-02-02 10:17 markt * Makefile, fft.c, filters.c, filters.h, gtkanal.c, l3bitstream-pvt.h, l3bitstream.c, l3bitstream.h, l3side.h, lame.c, loopold.c, psymodel.c, psymodel.h, quantize-pvt.c, quantize-pvt.h, quantize.c, quantize.h, tables.c, tables.h, takehiro.c, vbrquantize.c (takehiro0): The pre-takehiro1 scalefac datastructure code 2000-02-02 09:19 markt * Makefile, filters.c, lame.c, quantize-pvt.c, quantize.c (takehiro1): some bugs fixed with new scalefac struct 2000-02-01 14:09 takehiro * l3side.h, lame.c, loopold.c, psymodel.c, psymodel.h, quantize-pvt.c, quantize-pvt.h, quantize.c, quantize.h, vbrquantize.c: code clean up. changed definition of structure to optimize array index calculation 2000-02-01 11:26 takehiro * Makefile, fft.c, filters.c, filters.h, gtkanal.c, l3bitstream-pvt.h, l3bitstream.c, l3bitstream.h, l3side.h, lame.c, loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c, quantize.h, tables.c, tables.h, takehiro.c, vbrquantize.c: scalefactor's structure changed 2000-01-31 22:21 robert * quantize-pvt.c, quantize.c: little VBR tweaks 2000-01-31 18:56 markt * get_audio.c, lame.c, lame.h, main.c, mp3rtp.c, mp3x.c, version.h: updated comments, added lame_close_infile() 2000-01-31 18:22 markt * lame.c, lame.h, main.c, mp3rtp.c, mp3x.c: more modularizaton, fixes to mp3rtp 2000-01-31 05:49 markt * mlame: spelling error 2000-01-30 23:00 cisc * fft.c: Use INLINE define instead of inline. 2000-01-30 22:19 markt * get_audio.c, lame.c, lame.h, parse.c: renamed highq quality 2000-01-30 22:01 markt * mp3rtp.c: added Felix's email to mp3rtp.c code :-) 2000-01-30 20:44 markt * lame.h: minor editing 2000-01-30 20:27 markt * lame.c, lame.h, loopold.c, parse.c, psymodel.c, quantize-pvt.c, quantize.c, takehiro.c: cleaned up highq option. highq=0 (best quality)... 9(worst quality) values supported so far: highq=9 (turned on with -f) highq=5 (default) highq=2 (turned on with -h) 2000-01-30 19:34 markt * lame.c, lame.h, machine.h, parse.c, quantize-pvt.c, takehiro.c: fixed bug in overflow check in count_bits 2000-01-30 16:19 robert * Makefile, quantize-pvt.c, quantize-pvt.h, quantize.c: introduced new RH_ATH compile switch and splitted RH_masking into RH_SIDE_VBR, RH_SIDE_CBR and RH_QUALITY_CONTROL=n (n=1,2) RH_SIDE_CBR turns off side channel reduction for CBR RH_SIDE_VBR turns off side channel reduction for VBR RH_QUALITY_CONTROL=1 plus above switches equals RH_masking RH_QUALITY_CONTROL=2 is tuned to be used with RH_ATH RH_ATH changes the definition of distortion a bit: a)PSY: noise over the PSY model threshold as average quantization noise over PSY model threshold b)ATH: max quantization noise of a single freq line over the ATH threshold of that freq line the resulting distortion is the min of a) and b) 2000-01-30 10:54 markt * parse.c: parse_args and related code moved to parse.c 2000-01-30 10:53 markt * brhist.c, brhist.h: vbr histogram code in seperate file 2000-01-30 10:50 markt * Makefile, TODO, get_audio.c, gtkanal.c, id3tag.c, id3tag.h, lame.c, lame.h, main.c, mp3rtp.c, mp3x.c, util.c, util.h, Dll/BladeMP3EncDLL.c, Dll/MP3EncDll.dsp, mpglib/main.c: more modularization work. Calling program is now responsible for mp3 file output 2000-01-30 07:41 markt * l3side.h, loopold.c, machine.h, psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c, vbrquantize.c: #ifdef NOPOW removed, replaced by table lookup. You can still go back to pow() function or exp() by changing the POW20 and IPOW20 macros in machine.h 2000-01-30 06:17 takehiro * l3side.h, loopold.c, psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c: use lookup table to calculate pow(2.0, xx).(when not defined NOPOW) 2000-01-30 06:09 takehiro * fft.c: faster FFT implementation 2000-01-28 00:57 cisc * lame.c: Fixed -m bug when bitrate>=160 (gf.mode_fixed was not set). 2000-01-27 17:16 markt * lame.h: comments about varius quality options 2000-01-27 08:27 markt * quantize-pvt.c: Fixed bug in scale_bitcount_lsf which was severely limiting the possible scalefacters used by MPEG2. (Lionel Bonnet) 2000-01-27 07:49 markt * Makefile, get_audio.c, get_audio.h, gtkanal.c, machine.h: minor changes 2000-01-27 05:05 markt * fft.c, fft.h, psymodel.c, testcase.mp3: Takehiro's fft_short and fft_long now the defaults. 2000-01-27 04:35 markt * rtp.c: more updates from Felix 2000-01-27 03:52 cisc * loopold.c, psymodel.c, quantize-pvt.c, quantize.c, takehiro.c, util.h, vbrquantize.c: Added NOPOW define, will replace certain pow()s with optimized variant. 2000-01-27 02:06 cisc * get_audio.c: Removed faulty undef of bitwidth. 2000-01-26 12:37 takehiro * fft.c: window[] and window_s[]'s buffer overrun is corrected 2000-01-26 10:27 markt * filters.c, lame.c, lame.h: more bugs in specifigy a lowpass filter fixed. --voice mode recast in terms of lowpass filter and other options 2000-01-26 08:39 markt * psymodel.c: removed two c++ commends (by request) 2000-01-26 08:00 markt * lame.c: moved frameNum=0 from lame_init to lame_init_params 2000-01-26 07:44 markt * HACKING, get_audio.c, get_audio.h, globalflags.h, gtkanal.c, lame.c, lame.h, main.c, mp3rtp.c, mp3x.c, Dll/BladeMP3EncDLL.c, Dll/MP3EncDll.dsp: more modularizatin work. LAME can now be used as a true library, without the need to construct simulated argument lists. See HACKING for some details, and mp3rtp.c for an example. 2000-01-25 17:50 markt * get_audio.c, get_audio.h, globalflags.h, lame.c: major work down towards libmp3lame.a: split out parse_args and parameter setting routines. might have broken some things... 2000-01-25 17:48 markt * rtp.h: bug fix from Felix 2000-01-20 23:21 robert * lame.c: sfb21 parameter messages added 2000-01-20 08:03 markt * lame.c: tweaked filter and other encoding parameter messages 2000-01-20 07:21 markt * gtkanal.c, gtkanal.h, mpglib/layer3.c: fixed gtk scfsi printout - mpglib/layer3.c seems correct now. 2000-01-20 06:09 markt * Makefile, TODO, mpglib/layer3.c: scfsi fixes to mpglib from Iwasa Kazmi 2000-01-19 22:11 takehiro * mpglib/layer3.c: scalefactor for short block last sfb(12) was wrong. 2000-01-18 18:51 afaber * l3bitstream.c: Made my bug fixes against version 1.9 instead of a previous version 2000-01-17 22:31 afaber * l3bitstream.c: Guarded BF_FlushBitstream function call if PartHoldersInitialized equals zero. This to avoid GPF when III_Flushbitstream is called when no data is encoder 2000-01-16 06:49 markt * lame.c, lame.h, main.c: cleaned up main.c 2000-01-15 20:33 markt * loopold.c, takehiro.c, testcase.mp3: added best_scalefac_store to non -h code also 2000-01-15 14:35 takehiro * psymodel.c: little bit optimization 2000-01-14 13:05 takehiro * takehiro.c: debug message is removed... 2000-01-14 12:56 takehiro * l3bitstream.c, loopold.c, quantize-pvt.c, quantize.c, psymodel.h, takehiro.c: to make it use scfsi 2000-01-14 07:47 markt * doc/html/history.html: [no log message] 2000-01-14 07:34 markt * version.h: version 3.61 2000-01-14 06:35 markt * lame.c, quantize.c: filters were incorrectly being used under VBR 2000-01-14 05:54 markt * USAGE, lame.c: more on the -k option 2000-01-14 05:46 markt * USAGE, lame.c, mpglib/main.c: -k option will disable *all* filtering and frequency cutoffs 2000-01-13 20:41 robert * Makefile, quantize.c: more VBR (RH_masking) finetuning now -V3 should give the same result as -V6 before 2000-01-13 17:21 markt * lame.c, psymodel.h: fixed noshort option, fixed l3psycho_anal.h 2000-01-13 16:26 takehiro * filters.c, get_audio.c, l3bitstream.c, lame.c, loopold.c, newmdct.c, newmdct.h, psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.c, reservoir.c, reservoir.h, takehiro.c, util.c, util.h, vbrquantize.c: moved info.stereo into gf.stereo 2000-01-13 07:43 markt * loopold.c, quantize.c: got rid of old, no longer used preemph code 2000-01-13 02:07 markt * filters.c, get_audio.c, globalflags.h, gtkanal.c, lame.c, psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c, vbrquantize.c, mpglib/main.c: moved the rest of the global variables into gf struct 2000-01-13 00:37 markt * quantize.c (debug-mat): some debug code 2000-01-12 22:38 afaber * .cvsignore, VbrTag.c, lame.dsp: fixed a few casting warnings Updated .cvsignore to ignore output of testcase 2000-01-12 14:30 takehiro * filters.c, globalflags.h, l3bitstream.c, lame.c, newmdct.c, newmdct.h, quantize-pvt.c, quantize-pvt.h, reservoir.c, takehiro.c, util.c, vbrquantize.c: more simple & fast scalefac_scale use and mode_gr is moved into gf structure. 2000-01-11 20:23 cisc * amiga_mpega.c: Fixed timestatus bug (forgot nsamp variable). 2000-01-11 05:46 markt * quantize.c (debug-mat), gtkanal.c, lame.c: changed axis in gtk flag 2000-01-10 16:37 cisc * VbrTag.h, get_audio.c, machine.h, util.c: Removed AMIGA_ASYNCIO, custom modified libsndfile worked better. 2000-01-10 09:34 takehiro * mpglib/layer3.c: debug for scalefactor reading with scfsi. 2000-01-10 03:44 cisc * get_audio.c: Disabled open/close of mp3 when AMIGA_MPEGA and LIBSNDFILE is enabled. 2000-01-10 02:44 cisc * amiga_mpega.c: MPGLIB replacement using mpega.library. (AmigaOS) 2000-01-10 02:40 cisc * get_audio.c, mpglib/main.c: Removed AMIGA_ASYNCIO stuff for mpglib now that we got AMIGA_MPEGA. 2000-01-10 02:07 cisc * get_audio.c, lame.h: Added mpega.library support for decoding mpeg audio, enable with AMIGA_MPEGA. (AmigaOS) 2000-01-10 00:45 markt * loopold.c, quantize.c: fixed bug in loopold: scalesave loop was using SBMAX instead of SBPSY, and exceeding bounds. 2000-01-09 23:11 markt * Dll/BladeMP3EncDLL.c, doc/html/examples.html, doc/html/id3.html, mpglib/layer3.c: globalflags update 2000-01-09 23:10 markt * get_audio.c, globalflags.h, gtkanal.c, gtkanal.h, lame.c, loopold.c, main.c, mp3x.c, psymodel.c, quantize-pvt.c, quantize.c, reservoir.c, vbrquantize.c: moved more globalflags into the gf. struct 2000-01-09 22:56 cisc * VbrTag.h, get_audio.c, machine.h, util.c, mpglib/main.c: Added usage of asyncio.library for improved I/O, enable with AMIGA_ASYNCIO. (AmigaOS) 2000-01-09 22:26 markt * quantize.c, testcase.mp3, doc/html/history.html: updated validation testcase. 2000-01-09 20:59 markt * Makefile, version.h: release 3.60beta 2000-01-09 20:55 markt * testcase.mp3, testcase.wav: new test case: testcase.wav and 'official' output testcase.mp3 'make test' will perform a comparison. see makefile for details 2000-01-09 20:52 markt * Makefile: new validation procedure 2000-01-09 20:21 markt * doc/html/: history.html, index.html, switchs.html: updated web pages from Gabriel 2000-01-09 16:08 cisc * mpglib/main.c: VbrTag.h wasn't included on Amiga 2000-01-09 16:07 cisc * fft.c: Removed INLINE from fht (will get inlined as a local function anyway) 2000-01-09 10:54 takehiro * l3bitstream.c, l3side.h, loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c: All Huffman code search algorithm is implemented. (-h option to enable this) more slower, but better quality. 2000-01-09 07:51 markt * Makefile, psymodel.c, quantize.c: AAC masking function now the default. This represents less masking then the old masking function. 2000-01-09 07:34 markt * gtkanal.c, gtkanal.h, lame.c, psymodel.c, psymodel.h, quantize.c: compute mid/side energy rations in addition to masking ratios. in the future we might use this for side channel bit allocation. it is not used at all right now. 2000-01-09 04:11 markt * Makefile, psymodel.c, quantize.c: someone mistakenly uncommented the call to preemphasis(). this routine should *not* be used. preemph is now taken care of in scale_bitcount. 2000-01-08 17:57 robert * psymodel.c: define AAC_TMN_NMT at compile time to activate AAC tone masking noise and noise masking tone values 2000-01-08 17:56 robert * quantize.c: tuned VBR code, inactive until you define RH_masking at compile time 2000-01-08 17:54 robert * Makefile: added suggested compiler options for gcc 2.95.2, uncomment them to activate them 2000-01-08 17:52 robert * PRESETS.draft: changed frequencies to Lames format 2000-01-07 06:40 markt * HACKING, Makefile: updated HACKING notes 2000-01-07 06:13 markt * get_audio.c, globalflags.h, lame.c, loopold.c, psymodel.c, quantize-pvt.c, quantize.c, reservoir.c: Robert's cw_lower_limit, upper_limit code back in. Default is compute cw[] up to 8.9Khz. set with --cwlimit started putting global variables into global_flags struct. 2000-01-06 05:12 markt * mp3rtp.c: more rtp updates 2000-01-06 04:58 markt * lame.c, mp3rtp.c, rtp.c: more rtp updates 2000-01-05 23:52 robert * quantize.c: VBR: masking lower was not set correctly it was only set for sloppy mode, fixed now 2000-01-05 17:40 afaber * mpglib/mpglib.h: Fixed BOOL definition conflict for Win32 systems 2000-01-05 16:47 markt * Makefile, mp3rtp.c, rtp.c, rtp.h: added mp3rtp code. uses lame library, but not part of normal lame encoder 2000-01-05 10:04 markt * VbrTag.c, VbrTag.h, get_audio.c, l3side.h, lame.h, mpglib/main.c: Check for Xing header in mp3 input files 2000-01-05 06:29 markt * version.h: updated version 2000-01-05 06:20 markt * Makefile, psymodel.c: norm_l, norm_s table data replaced by formulas. 2000-01-03 05:15 markt * INSTALL, Makefile, encoder.h, gtkanal.c, lame.c, main.c, doc/html/contributors.html, doc/html/index.html, doc/html/lame.css, doc/html/node6.html, doc/html/node7.html, doc/html/switchs.html: new html from Gabriel. Fixed but that was causing the first frame to always be zero. changed encoder delay to 800 to fix some other problems and remove the buffering of the first frame in lame_encode(). 1999-12-29 15:34 takehiro * doc/html/: contributors.html, history.html, index.html, node6.html, node7.html, switchs.html: updated html doc written by Gabriel Bouvigne. 1999-12-28 22:02 afaber * lame.dsp, Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.h, Dll/MP3EncDll.dsp, mpglib/mpglib.dsp: Some fixes to the Encoder DLL: use -h instead of -k flag for high qualtiy The voice option was set in HQ mode, which is obviously not correct 1999-12-26 14:48 takehiro * l3bitstream.c, lame.c: some foolish bug is removed :) 1999-12-26 09:51 takehiro * globalflags.h, lame.c, quantize-pvt.c: new option "--noath" to disable the ATH masking 1999-12-26 09:50 takehiro * .cvsignore: ignore mp3x binary exe. 1999-12-23 12:27 takehiro * quantize-pvt.c: guess wiser initial StepSize for bin_search_stepsize 1999-12-22 17:38 markt * Makefile, psymodel.c: AAC NMT/TMN values (commented out) 1999-12-22 08:03 markt * quantize-pvt.c: back to oringal (ave_noise < ATH) definition of analog silence for VBR mode. 1999-12-22 07:39 markt * psymodel.c: added AAC spreading function (disabled by default) 1999-12-21 08:18 markt * Makefile, fft.c, l3side.h, lame.c, psymodel.c, psymodel.h, quantize-pvt.c, quantize.c: Bug fix in Mid/Side masking thresholds 1999-12-19 21:33 afaber * Dll/BladeMP3EncDLL.c: Set home page link to Lame home page 1999-12-19 01:47 markt * Makefile, globalflags.h, lame.c, psymodel.c: went back to ISO layer III recommended cw formulas 1999-12-19 01:15 robert * globalflags.h, lame.c, psymodel.c: patched GPSYCHO, enable with --psy-model 0 1999-12-17 04:24 markt * USAGE, globalflags.h, lame.c, reservoir.c: added the --nores option to disable the bitreservoir. only usefull in special circumstances 1999-12-16 05:24 markt * quantize-pvt.c: changed analog silence switch to use max_ener rather than ave_ener. only affects VBR mode: when analog silence is detected, the min bitrate is allowed to drop to 32kbs even if set higher with -b 1999-12-14 23:51 cisc * fft.c: Changed M_PI to PI. (Not everyone has M_PI, but PI is always defined in util.h) 1999-12-14 22:44 robert * PRESETS.draft: first sketch of what could become PRESETS for LAME 1999-12-14 22:40 robert * lame.c, quantize.c: added new experimentalX quant_compare -X6 mode 1999-12-14 04:38 markt * Makefile, fft.c, fft.h, psymodel.c: Takehiro's fft's back in. fft_short2(), fft_long2() will call original fft's (with one minor change: 0 protection for ax[] and bx[] was not needed and has been removed). Takehiro's routines are fft_short() and fft_long(). They dont give bit-for-bit identical answers, and I still want to track this down before making them the defaults. . 1999-12-14 00:19 robert * lame.c: changed filter options 1999-12-13 21:56 markt * version.h: updated version to 3.58 1999-12-12 21:14 robert * lame.c: grrr, mist some filter comandline combinations :( 1999-12-12 19:22 robert * lame.c: fixed filter commandline parameter inconsistencies 1999-12-12 19:02 markt * filters.c, newmdct.c, util.h: removed extra #define's related to PI 1999-12-12 03:53 cisc * filters.c, loopold.c, newmdct.c, quantize.c, util.h: Added new PI and LOG predefined variants, and stuck them in at respective places. 1999-12-11 23:37 robert * lame.c: added low/highpass filter switches 1999-12-11 23:36 robert * filters.c, globalflags.h: added highpass filter similar to lowpass filter fixed lowpass filter to avoid endless loops 1999-12-11 20:13 robert * mlame: fix for filenames containing spaces 1999-12-11 00:57 takehiro * .cvsignore: added lame binary executable itself 1999-12-10 01:57 takehiro * lame.c, loopold.c, quantize.c, util.c, util.h: little bit good subblock_gain calculation. and nint2 is removed. 1999-12-09 15:17 takehiro * loopold.c: little bit clean up. some variable restoring is removed. 1999-12-09 07:07 markt * quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c: PRECALC_SIZE bug? PRECALC_SIZE should be 8191+15+1, since max value of xr/ix is 8191+15. 1999-12-09 06:29 markt * loopold.c: cod_info-> should be cod_info[ch]-> 1999-12-09 02:34 takehiro * loopold.c, quantize.c: Oops, stepsize history was not recorded. 1999-12-09 02:28 takehiro * loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c: initial value of binary search is separeted by channels. maybe faster bin_search_stepsize 1999-12-09 00:44 cisc * l3bitstream-pvt.h: Removed write_ancillary_data() prototype. (No longer used) 1999-12-09 00:38 cisc * takehiro.c: Included the correct quantize header. (quantize-pvt.h instead of quantize.h) 1999-12-08 19:39 cisc * util.h: Adjusted PI/SQRT2 precision. (SQRT2 deviated from standard math.h value) 1999-12-08 19:37 cisc * mpglib/mpg123.h: Fixed M_PI/M_SQRT2 to work on all platforms. Removed unused INLINE. 1999-12-08 13:45 takehiro * mpglib/layer3.c: debug about scfsi treatment 1999-12-08 06:27 markt * Makefile, lame.c: fixed display bug for VBR histogram under ncurses. Now termcap is replaced by the more modern ncurses. 1999-12-08 05:46 markt * psymodel.c, takehiro.c: avoid bounds check on xr[] for non-hq mode, from Mat. spelling error in psymodel.c fixed :-) 1999-12-08 05:24 markt * TODO: [no log message] 1999-12-08 03:49 takehiro * psymodel.c: debugged possible buffer overrun. 1999-12-07 22:58 cisc * mpglib/layer3.c: No GTK on Amiga. :( 1999-12-07 22:56 cisc * main.c: Removed redundant __buffsize (SAS/C (AmigaOS)) 1999-12-07 05:11 markt * Makefile, TODO, quantize-pvt.c: removed -.5 from quantize_xrpow 1999-12-07 02:04 markt * fft.c, fft.h, lame.c, psymodel.c, quantize-pvt.c: backed out takehiro's fft changes for now added latest quantize_xrpow asm from Acy and Mat 1999-12-06 22:45 takehiro * fft.c: lookup table integration 1999-12-06 20:38 afaber * fft.c, lame.h, machine.h, psymodel.c: Fixed compiler errors 1999-12-03 10:13 takehiro * fft.c, fft.h, psymodel.c: maybe faster FFT coding 1999-12-03 10:11 takehiro * l3bitstream.c: foolish mistake has removed :) 1999-12-03 09:45 takehiro * l3bitstream.c, l3bitstream.h, lame.c: little bit cleanup 1999-12-02 17:01 takehiro * loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c: correct adj43 overrun(maybe) 1999-11-30 19:30 afaber * Dll/.cvsignore, mpglib/.cvsignore: Added .cvsignore files in sub projects 1999-11-30 19:27 afaber * .cvsignore, gtkanal.c, lame.dsp, util.c, mpglib/mpglib.dsp: Added Win32 specific output files to .cvsignore updated project files to set proper output directory and fixed alignment problem between mpglib project and lame project, now all modules have 8 byte alignment in all configurations 1999-11-29 19:54 takehiro * .cvsignore: configure ignoring *.d file 1999-11-29 19:48 takehiro * quantize.c: And more cleanup. needless variable store/restores are removed. 1999-11-29 19:39 takehiro * quantize.c: little bit code cleanup(deleted needless call of scale_bitcount) sorry, it is not bugfix of "TOO LARGE quantizerStepSize" ;p 1999-11-29 16:34 markt * loopold.c, quantize-pvt.h, quantize.c: removed unused VBRbits from non-VBR quant routines 1999-11-29 03:13 markt * loopold.c, quantize-pvt.c, quantize.c: scalefactor preemph *correctly* turned back on 1999-11-29 02:55 markt * loopold.c, quantize-pvt.c: scalefac pre-emph turned back on in loopold.c 1999-11-29 02:45 markt * encoder.h, gtkanal.h, l3side.h, lame.c, newmdct.c, psymodel.c, psymodel.h, quantize.c, util.c: MS stereo switch slightly improved: old formula was based on the average of ms_ratio of both granules. New formula uses ms_ratio from both granules and the previous and next granule. This will help avoid toggleing MS stereo off for a single frame. Long runs of MS stereo or regular stereo will not be affected. also fixed a bug in frame analyzer - it was accessing l3_xmin in the last scalefactor (l3_xmin and maskings are not computed for last scalefactor) 1999-11-28 23:00 afaber * lame.c, lame.dsp, Dll/MP3EncDll.dsp: More fixes in order to compile under Win32 1999-11-28 22:42 afaber * lame.dsp, quantize-pvt.c: Fixes to compile under Win32 1999-11-28 22:21 afaber * Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.def, BladeMP3EncDLL.h, MP3EncDll.dsp, MP3EncDll.dsw: Update of Blade DLL interface in order to support new lame features 1999-11-28 06:45 markt * quantize-pvt.c: updated comments 1999-11-28 06:36 markt * USAGE, quantize-pvt.c, quantize-pvt.h, vbrquantize.c: ASM routines (gcc & MSVC) for quantize_xrpow 1999-11-28 01:01 markt * Makefile, TODO, lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c: If analog silence is detected, allow VBR code to over ride the VBR_min_bitrate setting and encode at 32kbs. 1999-11-27 23:39 markt * Makefile, formatBitstream.c, l3bitstream.c, lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, util.c, vbrquantize.c: More accurate quantization from Segher Boessenkool 1999-11-25 19:27 markt * util.c: fixed allowable bitrate displays 1999-11-24 08:43 markt * loopold.c, main.c, mlame, mp3x.c, timestatus.c, portableio.c, portableio.h, reservoir.c, reservoir.h, tables.h, timestatus.h, version.c, newmdct.h, quantize.h, takehiro.c, debugscalefac.c, encoder.h, machine.h, filters.c, quantize-pvt.h, HACKING, filters.h, vbrquantize.c, Dll/MP3EncDll.dsp, Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.def, Dll/BladeMP3EncDLL.h, Dll/MP3EncDll.dsw, doc/html/index.html, doc/html/lame.css, doc/html/node7.html, doc/html/node5.html, doc/html/contributors.html, doc/html/node6.html, doc/html/history.html, doc/html/switchs.html, doc/man/lame.1, mpglib/Makefile, mpglib/README, mpglib/TODO, mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/huffman.h, mpglib/interface.c, mpglib/layer3.c, mpglib/main.c, mpglib/mpglib.dsp, mpglib/mpg123.h, mpglib/mpglib.h, mpglib/tabinit.c: Initial revision 1999-11-24 08:43 markt * loopold.c, main.c, mlame, mp3x.c, timestatus.c, portableio.c, portableio.h, reservoir.c, reservoir.h, tables.h, timestatus.h, version.c, newmdct.h, quantize.h, takehiro.c, debugscalefac.c, encoder.h, machine.h, filters.c, quantize-pvt.h, HACKING, filters.h, vbrquantize.c, Dll/MP3EncDll.dsp, Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.def, Dll/BladeMP3EncDLL.h, Dll/MP3EncDll.dsw, doc/html/index.html, doc/html/lame.css, doc/html/node7.html, doc/html/node5.html, doc/html/contributors.html, doc/html/node6.html, doc/html/history.html, doc/html/switchs.html, doc/man/lame.1, mpglib/Makefile, mpglib/README, mpglib/TODO, mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/huffman.h, mpglib/interface.c, mpglib/layer3.c, mpglib/main.c, mpglib/mpglib.dsp, mpglib/mpg123.h, mpglib/mpglib.h, mpglib/tabinit.c: initial checkin of LAME Starting with LAME 3.57beta with some modifications 1999-11-24 08:40 markt * COPYING, INSTALL, Makefile, Makefile.MSVC, tables.c, util.c, README, README.WINGTK, TODO, USAGE, fft.c, VbrTag.c, VbrTag.h, auenc, fft.h, psymodel.c, lame.dsp, util.h, formatBitstream.c, formatBitstream.h, get_audio.c, lame.c, get_audio.h, globalflags.h, gpkplotting.c, gpkplotting.h, gtkanal.c, gtkanal.h, quantize.c, version.h, newmdct.c, id3tag.c, id3tag.h, ieeefloat.c, ieeefloat.h, l3bitstream-pvt.h, l3bitstream.c, l3bitstream.h, LICENSE, l3side.h, lame.dsw, quantize-pvt.c, lame.h, psymodel.h: Initial revision 1999-11-24 08:40 markt * COPYING, INSTALL, Makefile, Makefile.MSVC, tables.c, util.c, README, README.WINGTK, TODO, USAGE, fft.c, VbrTag.c, VbrTag.h, auenc, fft.h, psymodel.c, lame.dsp, util.h, formatBitstream.c, formatBitstream.h, get_audio.c, lame.c, get_audio.h, globalflags.h, gpkplotting.c, gpkplotting.h, gtkanal.c, gtkanal.h, quantize.c, version.h, newmdct.c, id3tag.c, id3tag.h, ieeefloat.c, ieeefloat.h, l3bitstream-pvt.h, l3bitstream.c, l3bitstream.h, LICENSE, l3side.h, lame.dsw, quantize-pvt.c, lame.h, psymodel.h: initial checkin of LAME Starting with LAME 3.57beta with some modifications 07070100069c6a000081a40000000200000002000000013e43f845000003ac000000200000000800000000000000000000000e00000000reloc/DEFINES$Id: DEFINES,v 1.23 2003/02/07 18:17:41 bouvigne Exp $ USE_FAST_LOG: - use of log/log10 approximation (uses IEEE754 float format) (absolute precision of log10 is then around 1e-6) KLEMM_36: - portability fixes in the IO code NON_LINEAR_PSYMODEL - use a non linear psymodel in the GPSYCHO case USE_GOGO_SUBBAND: ? NOTABLES (default): ? NEWS3: ? NORES_TEST (allways on): - don't let the 2nd granule use bits saved by the 1st granule - useful for testing only NEW_DRAIN (theres a define above: NEW_DRAINXX): ? comment: mdb_bytes = x/8; m ?= n ?= o ?= 8* mdb_bytes; p ?= mdb_bytes ( ? == [+-] ) - optimization should handle this, but it looks ugly - do we lose precision here? LAME_STD_PRINT: - more verbose output? PRECOMPUTE (always on, multiple defines): - precomputes blackman window? USE_GNUC_ASM: - speed optimization (should move into configure.in) ... alot of #if 0 / #if 1 not evaluated ... 07070100069c6b000041ed000000000000000000000002433eef9500000000000000200000000800000000000000000000000a00000000reloc/Dll07070100069c6c000081a40000000200000002000000013fbe4653000060a4000000200000000800000000000000000000001b00000000reloc/Dll/BladeMP3EncDLL.c/* * Blade DLL Interface for LAME. * * Copyright (c) 1999 - 2002 A.L. Faber * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include #include #include "BladeMP3EncDLL.h" #include #include "lame.h" #include "config.h" // sample_t should not be needed by any libmp3lame wrapper: //#include "machine.h" /* for sample_t type */ #define Min(A, B) ((A) < (B) ? (A) : (B)) #define Max(A, B) ((A) > (B) ? (A) : (B)) #define _RELEASEDEBUG 0 // lame_enc DLL version number const int MAJORVERSION = 1; const int MINORVERSION = 32; // Local variables static DWORD dwSampleBufferSize=0; static HANDLE gs_hModule=NULL; static BOOL gs_bLogFile=FALSE; static lame_global_flags* gfp_save = NULL; // Local function prototypes static void dump_config( lame_global_flags* gfp ); static void DebugPrintf( const char* pzFormat, ... ); static void DispErr( LPSTR strErr ); static void PresetOptions( lame_global_flags *gfp, LONG myPreset ); static void DebugPrintf(const char* pzFormat, ...) { char szBuffer[1024]={'\0',}; char szFileName[MAX_PATH+1]={'\0',}; va_list ap; // Get the full module (DLL) file name GetModuleFileName( gs_hModule, szFileName, sizeof( szFileName ) ); // change file name extention szFileName[ strlen(szFileName) - 3 ] = 't'; szFileName[ strlen(szFileName) - 2 ] = 'x'; szFileName[ strlen(szFileName) - 1 ] = 't'; // start at beginning of the list va_start(ap, pzFormat); // copy it to the string buffer _vsnprintf(szBuffer, sizeof(szBuffer), pzFormat, ap); // log it to the file? if ( gs_bLogFile ) { FILE* fp = NULL; // try to open the log file fp=fopen( szFileName, "a+" ); // check file open result if (fp) { // write string to the file fputs(szBuffer,fp); // close the file fclose(fp); } } #if defined _DEBUG || defined _RELEASEDEBUG OutputDebugString( szBuffer ); #endif va_end(ap); } static void PresetOptions( lame_global_flags *gfp, LONG myPreset ) { switch (myPreset) { /*-1*/ case LQP_NOPRESET: break; /*0*/ case LQP_NORMAL_QUALITY: /* lame_set_quality( gfp, 5 );*/ break; /*1*/ case LQP_LOW_QUALITY: lame_set_quality( gfp, 9 ); break; /*2*/ case LQP_HIGH_QUALITY: lame_set_quality( gfp, 2 ); break; /*3*/ case LQP_VOICE_QUALITY: // --voice flag for experimental voice mode lame_set_mode( gfp, MONO ); lame_set_preset( gfp, 56); break; /*4*/ case LQP_R3MIX: // --R3MIX lame_set_preset( gfp, R3MIX); break; /*5*/ case LQP_VERYHIGH_QUALITY: lame_set_quality( gfp, 0 ); break; /*6*/ case LQP_STANDARD: // --PRESET STANDARD lame_set_preset( gfp, STANDARD); break; /*7*/ case LQP_FAST_STANDARD: // --PRESET FAST STANDARD lame_set_preset( gfp, STANDARD_FAST); break; /*8*/ case LQP_EXTREME: // --PRESET EXTREME lame_set_preset( gfp, EXTREME); break; /*9*/ case LQP_FAST_EXTREME: // --PRESET FAST EXTREME: lame_set_preset( gfp, EXTREME_FAST); break; /*10*/ case LQP_INSANE: // --PRESET INSANE lame_set_preset( gfp, INSANE); break; /*11*/ case LQP_ABR: // --PRESET ABR // handled in beInitStream break; /*12*/ case LQP_CBR: // --PRESET CBR // handled in beInitStream break; /*13*/ case LQP_MEDIUM: // --PRESET MEDIUM lame_set_preset( gfp, MEDIUM); break; /*14*/ case LQP_FAST_MEDIUM: // --PRESET FAST MEDIUM lame_set_preset( gfp, MEDIUM_FAST); break; /*1000*/ case LQP_PHONE: lame_set_mode( gfp, MONO ); lame_set_preset( gfp, 16); break; /*2000*/ case LQP_SW: lame_set_mode( gfp, MONO ); lame_set_preset( gfp, 24); break; /*3000*/ case LQP_AM: lame_set_mode( gfp, MONO ); lame_set_preset( gfp, 40); break; /*4000*/ case LQP_FM: lame_set_preset( gfp, 112); break; /*5000*/ case LQP_VOICE: lame_set_mode( gfp, MONO ); lame_set_preset( gfp, 56); break; /*6000*/ case LQP_RADIO: lame_set_preset( gfp, 112); break; /*7000*/ case LQP_TAPE: lame_set_preset( gfp, 112); break; /*8000*/ case LQP_HIFI: lame_set_preset( gfp, 160); break; /*9000*/ case LQP_CD: lame_set_preset( gfp, 192); break; /*10000*/ case LQP_STUDIO: lame_set_preset( gfp, 256); break; } } __declspec(dllexport) BE_ERR beInitStream(PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream) { int actual_bitrate; //2001-12-18 int nDllArgC = 0; BE_CONFIG lameConfig = { 0, }; int nInitReturn = 0; lame_global_flags* gfp = NULL; // Init the global flags structure gfp = lame_init(); *phbeStream = (HBE_STREAM)gfp; // clear out structure memset(&lameConfig,0x00,CURRENT_STRUCT_SIZE); // Check if this is a regular BLADE_ENCODER header if (pbeConfig->dwConfig!=BE_CONFIG_LAME) { int nCRC=pbeConfig->format.mp3.bCRC; int nVBR=(nCRC>>12)&0x0F; // Copy parameter from old Blade structure lameConfig.format.LHV1.dwSampleRate =pbeConfig->format.mp3.dwSampleRate; //for low bitrates, LAME will automatically downsample for better //sound quality. Forcing output samplerate = input samplerate is not a good idea //unless the user specifically requests it: //lameConfig.format.LHV1.dwReSampleRate=pbeConfig->format.mp3.dwSampleRate; lameConfig.format.LHV1.nMode =(pbeConfig->format.mp3.byMode&0x0F); lameConfig.format.LHV1.dwBitrate =pbeConfig->format.mp3.wBitrate; lameConfig.format.LHV1.bPrivate =pbeConfig->format.mp3.bPrivate; lameConfig.format.LHV1.bOriginal =pbeConfig->format.mp3.bOriginal; lameConfig.format.LHV1.bCRC =nCRC&0x01; lameConfig.format.LHV1.bCopyright =pbeConfig->format.mp3.bCopyright; // Fill out the unknowns lameConfig.format.LHV1.dwStructSize=CURRENT_STRUCT_SIZE; lameConfig.format.LHV1.dwStructVersion=CURRENT_STRUCT_VERSION; // Get VBR setting from fourth nibble if ( nVBR>0 ) { lameConfig.format.LHV1.bWriteVBRHeader = TRUE; lameConfig.format.LHV1.bEnableVBR = TRUE; lameConfig.format.LHV1.nVBRQuality = nVBR-1; } // Get Quality from third nibble lameConfig.format.LHV1.nPreset=((nCRC>>8)&0x0F); } else { // Copy the parameters memcpy(&lameConfig,pbeConfig,pbeConfig->format.LHV1.dwStructSize); } // --------------- Set arguments to LAME encoder ------------------------- // Set input sample frequency lame_set_in_samplerate( gfp, lameConfig.format.LHV1.dwSampleRate ); // disable INFO/VBR tag by default. // if this tag is used, the calling program must call beWriteVBRTag() // after encoding. But the original DLL documentation does not // require the // app to call beWriteVBRTag() unless they have specifically // set LHV1.bWriteVBRHeader=TRUE. Thus the default setting should // be disabled. lame_set_bWriteVbrTag( gfp, 0 ); //2001-12-18 Dibrom's ABR preset stuff if(lameConfig.format.LHV1.nPreset == LQP_ABR) // --ALT-PRESET ABR { actual_bitrate = lameConfig.format.LHV1.dwVbrAbr_bps / 1000; // limit range if( actual_bitrate > 320) { actual_bitrate = 320; } if( actual_bitrate < 8 ) { actual_bitrate = 8; } lame_set_preset( gfp, actual_bitrate ); } // end Dibrom's ABR preset 2001-12-18 ****** START OF CBR if(lameConfig.format.LHV1.nPreset == LQP_CBR) // --ALT-PRESET CBR { actual_bitrate = lameConfig.format.LHV1.dwBitrate; lame_set_preset(gfp, actual_bitrate); lame_set_VBR(gfp, vbr_off); } // end Dibrom's CBR preset 2001-12-18 // The following settings only used when preset is not one of the LAME QUALITY Presets if ( (int)lameConfig.format.LHV1.nPreset < (int) LQP_STANDARD ) { switch ( lameConfig.format.LHV1.nMode ) { case BE_MP3_MODE_STEREO: lame_set_mode( gfp, STEREO ); lame_set_num_channels( gfp, 2 ); break; case BE_MP3_MODE_JSTEREO: lame_set_mode( gfp, JOINT_STEREO ); lame_set_num_channels( gfp, 2 ); break; case BE_MP3_MODE_MONO: lame_set_mode( gfp, MONO ); lame_set_num_channels( gfp, 1 ); break; case BE_MP3_MODE_DUALCHANNEL: //warning: there is NO dual channel option working in Lame lame_set_force_ms( gfp, 1 ); lame_set_mode( gfp, STEREO ); lame_set_num_channels( gfp, 2 ); break; default: { DebugPrintf("Invalid lameConfig.format.LHV1.nMode, value is %d\n",lameConfig.format.LHV1.nMode); return BE_ERR_INVALID_FORMAT_PARAMETERS; } } if ( lameConfig.format.LHV1.bEnableVBR ) { /* set VBR quality */ lame_set_VBR_q( gfp, lameConfig.format.LHV1.nVBRQuality ); /* select proper VBR method */ switch ( lameConfig.format.LHV1.nVbrMethod) { case VBR_METHOD_NONE: lame_set_VBR( gfp, vbr_off ); break; case VBR_METHOD_DEFAULT: lame_set_VBR( gfp, vbr_default ); break; case VBR_METHOD_OLD: lame_set_VBR( gfp, vbr_rh ); break; case VBR_METHOD_MTRH: case VBR_METHOD_NEW: /* * the --vbr-mtrh commandline switch is obsolete. * now --vbr-mtrh is known as --vbr-new */ lame_set_VBR( gfp, vbr_mtrh ); break; case VBR_METHOD_ABR: lame_set_VBR( gfp, vbr_abr ); break; default: /* unsupported VBR method */ assert( FALSE ); } } else { /* use CBR encoding method, so turn off VBR */ lame_set_VBR( gfp, vbr_off ); } /* Set bitrate. (CDex users always specify bitrate=Min bitrate when using VBR) */ lame_set_brate( gfp, lameConfig.format.LHV1.dwBitrate ); /* check if we have to use ABR, in order to backwards compatible, this * condition should still be checked indepedent of the nVbrMethod method */ if (lameConfig.format.LHV1.dwVbrAbr_bps > 0 ) { /* set VBR method to ABR */ lame_set_VBR( gfp, vbr_abr ); /* calculate to kbps, round to nearest kbps */ lame_set_VBR_mean_bitrate_kbps( gfp, ( lameConfig.format.LHV1.dwVbrAbr_bps + 500 ) / 1000 ); /* limit range */ if( lame_get_VBR_mean_bitrate_kbps( gfp ) > 320) { lame_set_VBR_mean_bitrate_kbps( gfp, 320 ); } if( lame_get_VBR_mean_bitrate_kbps( gfp ) < 8 ) { lame_set_VBR_mean_bitrate_kbps( gfp, 8 ); } } } // First set all the preset options if ( LQP_NOPRESET != lameConfig.format.LHV1.nPreset ) { PresetOptions( gfp, lameConfig.format.LHV1.nPreset ); } // Set frequency resampling rate, if specified if ( lameConfig.format.LHV1.dwReSampleRate > 0 ) { lame_set_out_samplerate( gfp, lameConfig.format.LHV1.dwReSampleRate ); } switch ( lameConfig.format.LHV1.nMode ) { case BE_MP3_MODE_MONO: lame_set_mode( gfp, MONO ); lame_set_num_channels( gfp, 1 ); break; default: break; } // Use strict ISO encoding? lame_set_strict_ISO( gfp, ( lameConfig.format.LHV1.bStrictIso == TRUE ) ? 1 : 0 ); // Set copyright flag? if ( lameConfig.format.LHV1.bCopyright ) { lame_set_copyright( gfp, 1 ); } // Do we have to tag it as non original if ( !lameConfig.format.LHV1.bOriginal ) { lame_set_original( gfp, 0 ); } else { lame_set_original( gfp, 1 ); } // Add CRC? if ( lameConfig.format.LHV1.bCRC ) { lame_set_error_protection( gfp, 1 ); } else { lame_set_error_protection( gfp, 0 ); } // Set private bit? if ( lameConfig.format.LHV1.bPrivate ) { lame_set_extension( gfp, 1 ); } else { lame_set_extension( gfp, 0 ); } // Set VBR min bitrate, if specified if ( lameConfig.format.LHV1.dwBitrate > 0 ) { lame_set_VBR_min_bitrate_kbps( gfp, lameConfig.format.LHV1.dwBitrate ); } // Set Maxbitrate, if specified if ( lameConfig.format.LHV1.dwMaxBitrate > 0 ) { lame_set_VBR_max_bitrate_kbps( gfp, lameConfig.format.LHV1.dwMaxBitrate ); } // Set bit resovoir option if ( lameConfig.format.LHV1.bNoRes ) { lame_set_disable_reservoir( gfp,1 ); lame_set_padding_type( gfp, PAD_NO ); } // check if the VBR tag is required if ( TRUE == lameConfig.format.LHV1.bWriteVBRHeader) { lame_set_bWriteVbrTag( gfp, 1 ); } else { lame_set_bWriteVbrTag( gfp, 0 ); } // Override Quality setting, use HIGHBYTE = NOT LOWBYTE to be backwards compatible if ( ( lameConfig.format.LHV1.nQuality & 0xFF ) == (~( lameConfig.format.LHV1.nQuality >> 8 )) & 0xFF ) { lame_set_quality( gfp, lameConfig.format.LHV1.nQuality & 0xFF ); } if ( 0 != ( nInitReturn = lame_init_params( gfp ) ) ) { return nInitReturn; } //LAME encoding call will accept any number of samples. if ( 0 == lame_get_version( gfp ) ) { // For MPEG-II, only 576 samples per frame per channel *dwSamples= 576 * lame_get_num_channels( gfp ); } else { // For MPEG-I, 1152 samples per frame per channel *dwSamples= 1152 * lame_get_num_channels( gfp ); } // Set the input sample buffer size, so we know what we can expect dwSampleBufferSize = *dwSamples; // Set MP3 buffer size, conservative estimate *dwBufferSize=(DWORD)( 1.25 * ( *dwSamples / lame_get_num_channels( gfp ) ) + 7200 ); // For debugging purposes dump_config( gfp ); // Everything went OK, thus return SUCCESSFUL return BE_ERR_SUCCESSFUL; } __declspec(dllexport) BE_ERR beFlushNoGap(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput) { int nOutputSamples = 0; lame_global_flags* gfp = (lame_global_flags*)hbeStream; // Init the global flags structure nOutputSamples = lame_encode_flush_nogap( gfp, pOutput, LAME_MAXMP3BUFFER ); if ( nOutputSamples < 0 ) { *pdwOutput = 0; return BE_ERR_BUFFER_TOO_SMALL; } else { *pdwOutput = nOutputSamples; } return BE_ERR_SUCCESSFUL; } __declspec(dllexport) BE_ERR beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput) { int nOutputSamples = 0; lame_global_flags* gfp = (lame_global_flags*)hbeStream; nOutputSamples = lame_encode_flush( gfp, pOutput, 0 ); if ( nOutputSamples < 0 ) { *pdwOutput = 0; return BE_ERR_BUFFER_TOO_SMALL; } else { *pdwOutput = nOutputSamples; } return BE_ERR_SUCCESSFUL; } __declspec(dllexport) BE_ERR beCloseStream(HBE_STREAM hbeStream) { lame_global_flags* gfp = (lame_global_flags*)hbeStream; // lame will be close in VbrWriteTag function if ( !lame_get_bWriteVbrTag( gfp ) ) { // clean up of allocated memory lame_close( gfp ); gfp_save = NULL; } else { gfp_save = (lame_global_flags*)hbeStream; } // DeInit encoder return BE_ERR_SUCCESSFUL; } __declspec(dllexport) VOID beVersion(PBE_VERSION pbeVersion) { // DLL Release date char lpszDate[20] = { '\0', }; char lpszTemp[5] = { '\0', }; lame_version_t lv = { 0, }; // Set DLL interface version pbeVersion->byDLLMajorVersion=MAJORVERSION; pbeVersion->byDLLMinorVersion=MINORVERSION; get_lame_version_numerical ( &lv ); // Set Engine version number (Same as Lame version) pbeVersion->byMajorVersion = lv.major; pbeVersion->byMinorVersion = lv.minor; pbeVersion->byAlphaLevel = lv.alpha; pbeVersion->byBetaLevel = lv.beta; #ifdef MMX_choose_table pbeVersion->byMMXEnabled=1; #else pbeVersion->byMMXEnabled=0; #endif memset( pbeVersion->btReserved, 0, sizeof( pbeVersion->btReserved ) ); // Get compilation date strcpy(lpszDate,__DATE__); // Get the first three character, which is the month strncpy(lpszTemp,lpszDate,3); lpszTemp[3] = '\0'; pbeVersion->byMonth=1; // Set month if (strcmp(lpszTemp,"Jan")==0) pbeVersion->byMonth = 1; if (strcmp(lpszTemp,"Feb")==0) pbeVersion->byMonth = 2; if (strcmp(lpszTemp,"Mar")==0) pbeVersion->byMonth = 3; if (strcmp(lpszTemp,"Apr")==0) pbeVersion->byMonth = 4; if (strcmp(lpszTemp,"May")==0) pbeVersion->byMonth = 5; if (strcmp(lpszTemp,"Jun")==0) pbeVersion->byMonth = 6; if (strcmp(lpszTemp,"Jul")==0) pbeVersion->byMonth = 7; if (strcmp(lpszTemp,"Aug")==0) pbeVersion->byMonth = 8; if (strcmp(lpszTemp,"Sep")==0) pbeVersion->byMonth = 9; if (strcmp(lpszTemp,"Oct")==0) pbeVersion->byMonth = 10; if (strcmp(lpszTemp,"Nov")==0) pbeVersion->byMonth = 11; if (strcmp(lpszTemp,"Dec")==0) pbeVersion->byMonth = 12; // Get day of month string (char [4..5]) pbeVersion->byDay=atoi( lpszDate + 4 ); // Get year of compilation date (char [7..10]) pbeVersion->wYear = atoi( lpszDate + 7 ); memset( pbeVersion->zHomepage, 0x00, BE_MAX_HOMEPAGE ); strcpy( pbeVersion->zHomepage, "http://www.mp3dev.org/" ); } __declspec(dllexport) BE_ERR beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput) { // Encode it int dwSamples; int nOutputSamples = 0; lame_global_flags* gfp = (lame_global_flags*)hbeStream; dwSamples = nSamples / lame_get_num_channels( gfp ); // old versions of lame_enc.dll required exactly 1152 samples // and worked even if nSamples accidently set to 2304 // simulate this behavoir: if ( 1 == lame_get_num_channels( gfp ) && nSamples == 2304) { dwSamples/= 2; } if ( 1 == lame_get_num_channels( gfp ) ) { nOutputSamples = lame_encode_buffer(gfp,pSamples,pSamples,dwSamples,pOutput,0); } else { nOutputSamples = lame_encode_buffer_interleaved(gfp,pSamples,dwSamples,pOutput,0); } if ( nOutputSamples < 0 ) { *pdwOutput=0; return BE_ERR_BUFFER_TOO_SMALL; } else { *pdwOutput = (DWORD)nOutputSamples; } return BE_ERR_SUCCESSFUL; } // accept floating point audio samples, scaled to the range of a signed 16-bit // integer (within +/- 32768), in non-interleaved channels -- DSPguru, jd __declspec(dllexport) BE_ERR beEncodeChunkFloatS16NI(HBE_STREAM hbeStream, DWORD nSamples, PFLOAT buffer_l, PFLOAT buffer_r, PBYTE pOutput, PDWORD pdwOutput) { int nOutputSamples; lame_global_flags* gfp = (lame_global_flags*)hbeStream; nOutputSamples = lame_encode_buffer_float(gfp,buffer_l,buffer_r,nSamples,pOutput,0); if ( nOutputSamples >= 0 ) { *pdwOutput = (DWORD) nOutputSamples; } else { *pdwOutput=0; return BE_ERR_BUFFER_TOO_SMALL; } return BE_ERR_SUCCESSFUL; } __declspec(dllexport) BE_ERR beWriteInfoTag( HBE_STREAM hbeStream, LPCSTR lpszFileName ) { FILE* fpStream = NULL; BE_ERR beResult = BE_ERR_SUCCESSFUL; lame_global_flags* gfp = (lame_global_flags*)hbeStream; if ( NULL != gfp ) { // Do we have to write the VBR tag? if ( lame_get_bWriteVbrTag( gfp ) ) { // Try to open the file fpStream=fopen( lpszFileName, "rb+" ); // Check file open result if ( NULL == fpStream ) { beResult = BE_ERR_INVALID_FORMAT_PARAMETERS; } else { // Write Xing header again lame_mp3_tags_fid( gfp, fpStream ); // Close the file stream fclose( fpStream ); } // clean up of allocated memory lame_close( gfp ); } } else { beResult = BE_ERR_INVALID_FORMAT_PARAMETERS; } // return result return beResult; } // for backwards compatiblity __declspec(dllexport) BE_ERR beWriteVBRHeader(LPCSTR lpszFileName) { return beWriteInfoTag( (HBE_STREAM)gfp_save, lpszFileName ); } BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { gs_hModule=hModule; switch( ul_reason_for_call ) { case DLL_PROCESS_ATTACH: // Enable debug/logging? gs_bLogFile = GetPrivateProfileInt("Debug","WriteLogFile",gs_bLogFile,"lame_enc.ini"); break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; case DLL_PROCESS_DETACH: break; } return TRUE; } static void dump_config( lame_global_flags* gfp ) { DebugPrintf("\n\nLame_enc configuration options:\n"); DebugPrintf("==========================================================\n"); DebugPrintf("version =%d\n",lame_get_version( gfp ) ); DebugPrintf("Layer =3\n"); DebugPrintf("mode ="); switch ( lame_get_mode( gfp ) ) { case STEREO: DebugPrintf( "Stereo\n" ); break; case JOINT_STEREO: DebugPrintf( "Joint-Stereo\n" ); break; case DUAL_CHANNEL: DebugPrintf( "Forced Stereo\n" ); break; case MONO: DebugPrintf( "Mono\n" ); break; case NOT_SET: /* FALLTROUGH */ default: DebugPrintf( "Error (unknown)\n" ); break; } DebugPrintf("Input sample rate =%.1f kHz\n", lame_get_in_samplerate( gfp ) /1000.0 ); DebugPrintf("Output sample rate =%.1f kHz\n", lame_get_out_samplerate( gfp ) /1000.0 ); DebugPrintf("bitrate =%d kbps\n", lame_get_brate( gfp ) ); DebugPrintf("Quality Setting =%d\n", lame_get_quality( gfp ) ); DebugPrintf("Low pass frequency =%d\n", lame_get_lowpassfreq( gfp ) ); DebugPrintf("Low pass width =%d\n", lame_get_lowpasswidth( gfp ) ); DebugPrintf("High pass frequency =%d\n", lame_get_highpassfreq( gfp ) ); DebugPrintf("High pass width =%d\n", lame_get_highpasswidth( gfp ) ); DebugPrintf("No short blocks =%d\n", lame_get_no_short_blocks( gfp ) ); DebugPrintf("Force short blocks =%d\n", lame_get_force_short_blocks( gfp ) ); DebugPrintf("de-emphasis =%d\n", lame_get_emphasis( gfp ) ); DebugPrintf("private flag =%d\n", lame_get_extension( gfp ) ); DebugPrintf("copyright flag =%d\n", lame_get_copyright( gfp ) ); DebugPrintf("original flag =%d\n", lame_get_original( gfp ) ); DebugPrintf("CRC =%s\n", lame_get_error_protection( gfp ) ? "on" : "off" ); DebugPrintf("Fast mode =%s\n", ( lame_get_quality( gfp ) )? "enabled" : "disabled" ); DebugPrintf("Force mid/side stereo =%s\n", ( lame_get_force_ms( gfp ) )?"enabled":"disabled" ); DebugPrintf("Padding Type =%d\n", lame_get_padding_type( gfp ) ); DebugPrintf("Disable Reservoir =%d\n", lame_get_disable_reservoir( gfp ) ); DebugPrintf("Allow diff-short =%d\n", lame_get_allow_diff_short( gfp ) ); DebugPrintf("Interchannel masking =%f\n", lame_get_interChRatio( gfp ) ); DebugPrintf("Strict ISO Encoding =%s\n", ( lame_get_strict_ISO( gfp ) ) ?"Yes":"No"); DebugPrintf("Scale =%5.2f\n", lame_get_scale( gfp ) ); DebugPrintf("VBR =%s, VBR_q =%d, VBR method =", ( lame_get_VBR( gfp ) !=vbr_off ) ? "enabled": "disabled", lame_get_VBR_q( gfp ) ); switch ( lame_get_VBR( gfp ) ) { case vbr_off: DebugPrintf( "vbr_off\n" ); break; case vbr_mt : DebugPrintf( "vbr_mt \n" ); break; case vbr_rh : DebugPrintf( "vbr_rh \n" ); break; case vbr_mtrh: DebugPrintf( "vbr_mtrh \n" ); break; case vbr_abr: DebugPrintf( "vbr_abr (average bitrate %d kbps)\n", lame_get_VBR_mean_bitrate_kbps( gfp ) ); break; default: DebugPrintf("error, unknown VBR setting\n"); break; } DebugPrintf("Vbr Min bitrate =%d kbps\n", lame_get_VBR_min_bitrate_kbps( gfp ) ); DebugPrintf("Vbr Max bitrate =%d kbps\n", lame_get_VBR_max_bitrate_kbps( gfp ) ); DebugPrintf("Write VBR Header =%s\n", ( lame_get_bWriteVbrTag( gfp ) ) ?"Yes":"No"); DebugPrintf("VBR Hard min =%d\n", lame_get_VBR_hard_min( gfp ) ); DebugPrintf("ATH Only =%d\n", lame_get_ATHonly( gfp ) ); DebugPrintf("ATH short =%d\n", lame_get_ATHshort( gfp ) ); DebugPrintf("ATH no =%d\n", lame_get_noATH( gfp ) ); DebugPrintf("ATH type =%d\n", lame_get_ATHtype( gfp ) ); DebugPrintf("ATH lower =%f\n", lame_get_ATHlower( gfp ) ); DebugPrintf("ATH aa =%d\n", lame_get_athaa_type( gfp ) ); DebugPrintf("ATH aa loudapprox =%d\n", lame_get_athaa_loudapprox( gfp ) ); DebugPrintf("ATH aa sensitivity =%f\n", lame_get_athaa_sensitivity( gfp ) ); DebugPrintf("Experimental nspsytune =%d\n", lame_get_exp_nspsytune( gfp ) ); DebugPrintf("Experimental X =%d\n", lame_get_experimentalX( gfp ) ); DebugPrintf("Experimental Y =%d\n", lame_get_experimentalY( gfp ) ); DebugPrintf("Experimental Z =%d\n", lame_get_experimentalZ( gfp ) ); } static void DispErr(LPSTR strErr) { MessageBox(NULL,strErr,"",MB_OK); } 07070100069c6d000081a40000000200000002000000013de79eed00000309000000200000000800000000000000000000001d00000000reloc/Dll/BladeMP3EncDLL.defLIBRARY lame_enc.DLL EXPORTS beInitStream @1 beEncodeChunk @2 beDeinitStream @3 beCloseStream @4 beVersion @5 beWriteVBRHeader @6 beEncodeChunkFloatS16NI @7 beFlushNoGap @8 beWriteInfoTag @9 lame_init @100 lame_close @101 lame_init_params @102 lame_encode_buffer_interleaved @110 lame_encode_flush @120 lame_mp3_tags_fid @130 lame_set_num_samples @1000 lame_get_num_samples @1001 lame_set_in_samplerate @1002 lame_get_in_samplerate @1003 lame_set_num_channels @1004 lame_get_num_channels @1005 lame_set_scale @1006 lame_get_scale @1007 lame_set_scale_left @1008 lame_get_scale_left @1009 lame_set_scale_right @1010 lame_get_scale_right @1011 lame_set_out_samplerate @1012 lame_get_out_samplerate @1013 07070100069c6e000081a40000000200000002000000013ec7959e00001de9000000200000000800000000000000000000001b00000000reloc/Dll/BladeMP3EncDLL.h/* * Blade Type of DLL Interface for Lame encoder * * Copyright (c) 1999-2002 A.L. Faber * Based on bladedll.h version 1.0 written by Jukka Poikolainen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef ___BLADEDLL_H_INCLUDED___ #define ___BLADEDLL_H_INCLUDED___ #ifdef __GNUC__ #define ATTRIBUTE_PACKED __attribute__((packed)) #else #define ATTRIBUTE_PACKED #pragma pack(push) #pragma pack(1) #endif #ifdef __cplusplus extern "C" { #endif /* encoding formats */ #define BE_CONFIG_MP3 0 #define BE_CONFIG_LAME 256 /* type definitions */ typedef unsigned long HBE_STREAM; typedef HBE_STREAM *PHBE_STREAM; typedef unsigned long BE_ERR; /* error codes */ #define BE_ERR_SUCCESSFUL 0x00000000 #define BE_ERR_INVALID_FORMAT 0x00000001 #define BE_ERR_INVALID_FORMAT_PARAMETERS 0x00000002 #define BE_ERR_NO_MORE_HANDLES 0x00000003 #define BE_ERR_INVALID_HANDLE 0x00000004 #define BE_ERR_BUFFER_TOO_SMALL 0x00000005 /* other constants */ #define BE_MAX_HOMEPAGE 128 /* format specific variables */ #define BE_MP3_MODE_STEREO 0 #define BE_MP3_MODE_JSTEREO 1 #define BE_MP3_MODE_DUALCHANNEL 2 #define BE_MP3_MODE_MONO 3 #define MPEG1 1 #define MPEG2 0 #ifdef _BLADEDLL #undef FLOAT #include #endif #define CURRENT_STRUCT_VERSION 1 #define CURRENT_STRUCT_SIZE sizeof(BE_CONFIG) // is currently 331 bytes typedef enum { VBR_METHOD_NONE = -1, VBR_METHOD_DEFAULT = 0, VBR_METHOD_OLD = 1, VBR_METHOD_NEW = 2, VBR_METHOD_MTRH = 3, VBR_METHOD_ABR = 4 } VBRMETHOD; typedef enum { LQP_NOPRESET =-1, // QUALITY PRESETS LQP_NORMAL_QUALITY = 0, LQP_LOW_QUALITY = 1, LQP_HIGH_QUALITY = 2, LQP_VOICE_QUALITY = 3, LQP_R3MIX = 4, LQP_VERYHIGH_QUALITY = 5, LQP_STANDARD = 6, LQP_FAST_STANDARD = 7, LQP_EXTREME = 8, LQP_FAST_EXTREME = 9, LQP_INSANE = 10, LQP_ABR = 11, LQP_CBR = 12, LQP_MEDIUM = 13, LQP_FAST_MEDIUM = 14, // NEW PRESET VALUES LQP_PHONE =1000, LQP_SW =2000, LQP_AM =3000, LQP_FM =4000, LQP_VOICE =5000, LQP_RADIO =6000, LQP_TAPE =7000, LQP_HIFI =8000, LQP_CD =9000, LQP_STUDIO =10000 } LAME_QUALITY_PRESET; typedef struct { DWORD dwConfig; // BE_CONFIG_XXXXX // Currently only BE_CONFIG_MP3 is supported union { struct { DWORD dwSampleRate; // 48000, 44100 and 32000 allowed BYTE byMode; // BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO WORD wBitrate; // 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320 allowed BOOL bPrivate; BOOL bCRC; BOOL bCopyright; BOOL bOriginal; } mp3; // BE_CONFIG_MP3 struct { // STRUCTURE INFORMATION DWORD dwStructVersion; DWORD dwStructSize; // BASIC ENCODER SETTINGS DWORD dwSampleRate; // SAMPLERATE OF INPUT FILE DWORD dwReSampleRate; // DOWNSAMPLERATE, 0=ENCODER DECIDES LONG nMode; // BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO DWORD dwBitrate; // CBR bitrate, VBR min bitrate DWORD dwMaxBitrate; // CBR ignored, VBR Max bitrate LONG nPreset; // Quality preset, use one of the settings of the LAME_QUALITY_PRESET enum DWORD dwMpegVersion; // FUTURE USE, MPEG-1 OR MPEG-2 DWORD dwPsyModel; // FUTURE USE, SET TO 0 DWORD dwEmphasis; // FUTURE USE, SET TO 0 // BIT STREAM SETTINGS BOOL bPrivate; // Set Private Bit (TRUE/FALSE) BOOL bCRC; // Insert CRC (TRUE/FALSE) BOOL bCopyright; // Set Copyright Bit (TRUE/FALSE) BOOL bOriginal; // Set Original Bit (TRUE/FALSE) // VBR STUFF BOOL bWriteVBRHeader; // WRITE XING VBR HEADER (TRUE/FALSE) BOOL bEnableVBR; // USE VBR ENCODING (TRUE/FALSE) INT nVBRQuality; // VBR QUALITY 0..9 DWORD dwVbrAbr_bps; // Use ABR in stead of nVBRQuality VBRMETHOD nVbrMethod; BOOL bNoRes; // Disable Bit resorvoir (TRUE/FALSE) // MISC SETTINGS BOOL bStrictIso; // Use strict ISO encoding rules (TRUE/FALSE) WORD nQuality; // Quality Setting, HIGH BYTE should be NOT LOW byte, otherwhise quality=5 // FUTURE USE, SET TO 0, align strucutre to 331 bytes BYTE btReserved[255-4*sizeof(DWORD) - sizeof( WORD )]; } LHV1; // LAME header version 1 struct { DWORD dwSampleRate; BYTE byMode; WORD wBitrate; BYTE byEncodingMethod; } aac; } format; } BE_CONFIG, *PBE_CONFIG ATTRIBUTE_PACKED; typedef struct { // BladeEnc DLL Version number BYTE byDLLMajorVersion; BYTE byDLLMinorVersion; // BladeEnc Engine Version Number BYTE byMajorVersion; BYTE byMinorVersion; // DLL Release date BYTE byDay; BYTE byMonth; WORD wYear; // BladeEnc Homepage URL CHAR zHomepage[BE_MAX_HOMEPAGE + 1]; BYTE byAlphaLevel; BYTE byBetaLevel; BYTE byMMXEnabled; BYTE btReserved[125]; } BE_VERSION, *PBE_VERSION ATTRIBUTE_PACKED; #ifndef _BLADEDLL typedef BE_ERR (*BEINITSTREAM) (PBE_CONFIG, PDWORD, PDWORD, PHBE_STREAM); typedef BE_ERR (*BEENCODECHUNK) (HBE_STREAM, DWORD, PSHORT, PBYTE, PDWORD); // added for floating point audio -- DSPguru, jd typedef BE_ERR (*BEENCODECHUNKFLOATS16NI) (HBE_STREAM, DWORD, PFLOAT, PFLOAT, PBYTE, PDWORD); typedef BE_ERR (*BEDEINITSTREAM) (HBE_STREAM, PBYTE, PDWORD); typedef BE_ERR (*BECLOSESTREAM) (HBE_STREAM); typedef VOID (*BEVERSION) (PBE_VERSION); typedef BE_ERR (*BEWRITEVBRHEADER) (LPCSTR); typedef BE_ERR (*BEWRITEINFOTAG) (HBE_STREAM, LPCSTR ); #define TEXT_BEINITSTREAM "beInitStream" #define TEXT_BEENCODECHUNK "beEncodeChunk" #define TEXT_BEENCODECHUNKFLOATS16NI "beEncodeChunkFloatS16NI" #define TEXT_BEDEINITSTREAM "beDeinitStream" #define TEXT_BECLOSESTREAM "beCloseStream" #define TEXT_BEVERSION "beVersion" #define TEXT_BEWRITEVBRHEADER "beWriteVBRHeader" #define TEXT_BEFLUSHNOGAP "beFlushNoGap" #define TEXT_BEWRITEINFOTAG "beWriteInfoTag" #else __declspec(dllexport) BE_ERR beInitStream(PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream); __declspec(dllexport) BE_ERR beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput); // added for floating point audio -- DSPguru, jd __declspec(dllexport) BE_ERR beEncodeChunkFloatS16NI(HBE_STREAM hbeStream, DWORD nSamples, PFLOAT buffer_l, PFLOAT buffer_r, PBYTE pOutput, PDWORD pdwOutput); __declspec(dllexport) BE_ERR beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput); __declspec(dllexport) BE_ERR beCloseStream(HBE_STREAM hbeStream); __declspec(dllexport) VOID beVersion(PBE_VERSION pbeVersion); __declspec(dllexport) BE_ERR beWriteVBRHeader(LPCSTR lpszFileName); __declspec(dllexport) BE_ERR beFlushNoGap(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput); __declspec(dllexport) BE_ERR beWriteInfoTag( HBE_STREAM hbeStream, LPCSTR lpszFileName ); #endif #ifndef __GNUC__ #pragma pack(pop) #endif #ifdef __cplusplus } #endif #endif 07070100069c6f000081a40000000200000002000000013d42778f00001ef3000000200000000800000000000000000000001600000000reloc/Dll/Example.cpp/* * LAME DLL Sample Code. * * Copyright (c) 2000 A.L. Faber * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include #include #include #include #include #include "BladeMP3EncDLL.h" BEINITSTREAM beInitStream=NULL; BEENCODECHUNK beEncodeChunk=NULL; BEDEINITSTREAM beDeinitStream=NULL; BECLOSESTREAM beCloseStream=NULL; BEVERSION beVersion=NULL; BEWRITEVBRHEADER beWriteVBRHeader=NULL; BEWRITEINFOTAG beWriteInfoTag=NULL; // Main program int main(int argc, char *argv[]) { HINSTANCE hDLL =NULL; FILE* pFileIn =NULL; FILE* pFileOut =NULL; BE_VERSION Version ={0,}; BE_CONFIG beConfig ={0,}; CHAR strFileIn[255] ={'0',}; CHAR strFileOut[255] ={'0',}; DWORD dwSamples =0; DWORD dwMP3Buffer =0; HBE_STREAM hbeStream =0; BE_ERR err =0; PBYTE pMP3Buffer =NULL; PSHORT pWAVBuffer =NULL; // check number of arguments if(argc != 2) { fprintf(stderr,"Usage: %s \n", argv[0]); fprintf(stderr,"Descr: Short demo to show how to use the lame_enc.dll library file\n"); fprintf(stderr,"Note : WAV file is assumed to to have the following parameters\n"); fprintf(stderr," : 44100 Hz, stereo, 16 Bits per sample\n"); return -1; } // Setup the file names strcpy(strFileIn ,argv[1]); strcpy(strFileOut,argv[1]); // Add mp3 extention strcat(strFileOut,".mp3"); // Load lame_enc.dll library (Make sure though that you set the // project/settings/debug Working Directory correctly, otherwhise the DLL can't be loaded hDLL = LoadLibrary("lame_enc.dll"); if ( NULL == hDLL ) { hDLL = LoadLibrary("..\\..\\output\\lame_enc.dll"); } if( NULL == hDLL ) { fprintf(stderr,"Error loading lame_enc.DLL"); return -1; } // Get Interface functions from the DLL beInitStream = (BEINITSTREAM) GetProcAddress(hDLL, TEXT_BEINITSTREAM); beEncodeChunk = (BEENCODECHUNK) GetProcAddress(hDLL, TEXT_BEENCODECHUNK); beDeinitStream = (BEDEINITSTREAM) GetProcAddress(hDLL, TEXT_BEDEINITSTREAM); beCloseStream = (BECLOSESTREAM) GetProcAddress(hDLL, TEXT_BECLOSESTREAM); beVersion = (BEVERSION) GetProcAddress(hDLL, TEXT_BEVERSION); beWriteVBRHeader= (BEWRITEVBRHEADER) GetProcAddress(hDLL,TEXT_BEWRITEVBRHEADER); beWriteInfoTag = (BEWRITEINFOTAG) GetProcAddress(hDLL,TEXT_BEWRITEINFOTAG); // Check if all interfaces are present if(!beInitStream || !beEncodeChunk || !beDeinitStream || !beCloseStream || !beVersion || !beWriteVBRHeader) { printf("Unable to get LAME interfaces"); return -1; } // Get the version number beVersion( &Version ); printf( "lame_enc.dll version %u.%02u (%u/%u/%u)\n" "lame_enc Engine %u.%02u\n" "lame_enc homepage at %s\n\n", Version.byDLLMajorVersion, Version.byDLLMinorVersion, Version.byDay, Version.byMonth, Version.wYear, Version.byMajorVersion, Version.byMinorVersion, Version.zHomepage); // Try to open the WAV file, be sure to open it as a binary file! pFileIn = fopen( strFileIn, "rb" ); // Check file open result if(pFileIn == NULL) { fprintf(stderr,"Error opening %s", argv[1]); return -1; } // Open MP3 file pFileOut= fopen(strFileOut,"wb+"); // Check file open result if(pFileOut == NULL) { fprintf(stderr,"Error creating file %s", strFileOut); return -1; } memset(&beConfig,0,sizeof(beConfig)); // clear all fields // use the LAME config structure beConfig.dwConfig = BE_CONFIG_LAME; // this are the default settings for testcase.wav beConfig.format.LHV1.dwStructVersion = 1; beConfig.format.LHV1.dwStructSize = sizeof(beConfig); beConfig.format.LHV1.dwSampleRate = 44100; // INPUT FREQUENCY beConfig.format.LHV1.dwReSampleRate = 0; // DON"T RESAMPLE beConfig.format.LHV1.nMode = BE_MP3_MODE_JSTEREO; // OUTPUT IN STREO beConfig.format.LHV1.dwBitrate = 128; // MINIMUM BIT RATE beConfig.format.LHV1.nPreset = LQP_R3MIX; // QUALITY PRESET SETTING beConfig.format.LHV1.dwMpegVersion = MPEG1; // MPEG VERSION (I or II) beConfig.format.LHV1.dwPsyModel = 0; // USE DEFAULT PSYCHOACOUSTIC MODEL beConfig.format.LHV1.dwEmphasis = 0; // NO EMPHASIS TURNED ON beConfig.format.LHV1.bOriginal = TRUE; // SET ORIGINAL FLAG beConfig.format.LHV1.bWriteVBRHeader = TRUE; // Write INFO tag // beConfig.format.LHV1.dwMaxBitrate = 320; // MAXIMUM BIT RATE // beConfig.format.LHV1.bCRC = TRUE; // INSERT CRC // beConfig.format.LHV1.bCopyright = TRUE; // SET COPYRIGHT FLAG // beConfig.format.LHV1.bPrivate = TRUE; // SET PRIVATE FLAG // beConfig.format.LHV1.bWriteVBRHeader = TRUE; // YES, WRITE THE XING VBR HEADER // beConfig.format.LHV1.bEnableVBR = TRUE; // USE VBR // beConfig.format.LHV1.nVBRQuality = 5; // SET VBR QUALITY beConfig.format.LHV1.bNoRes = TRUE; // No Bit resorvoir // Preset Test // beConfig.format.LHV1.nPreset = LQP_PHONE; // Init the MP3 Stream err = beInitStream(&beConfig, &dwSamples, &dwMP3Buffer, &hbeStream); // Check result if(err != BE_ERR_SUCCESSFUL) { fprintf(stderr,"Error opening encoding stream (%lu)", err); return -1; } // Allocate MP3 buffer pMP3Buffer = new BYTE[dwMP3Buffer]; // Allocate WAV buffer pWAVBuffer = new SHORT[dwSamples]; // Check if Buffer are allocated properly if(!pMP3Buffer || !pWAVBuffer) { printf("Out of memory"); return -1; } DWORD dwRead=0; DWORD dwWrite=0; DWORD dwDone=0; DWORD dwFileSize=0; // Seek to end of file fseek(pFileIn,0,SEEK_END); // Get the file size dwFileSize=ftell(pFileIn); // Seek back to start of WAV file, // but skip the first 44 bytes, since that's the WAV header fseek(pFileIn,44,SEEK_SET); // Convert All PCM samples while ( (dwRead=fread(pWAVBuffer,sizeof(SHORT),dwSamples,pFileIn)) >0 ) { // Encode samples err = beEncodeChunk(hbeStream, dwRead, pWAVBuffer, pMP3Buffer, &dwWrite); // Check result if(err != BE_ERR_SUCCESSFUL) { beCloseStream(hbeStream); fprintf(stderr,"beEncodeChunk() failed (%lu)", err); return -1; } // write dwWrite bytes that are returned in tehe pMP3Buffer to disk if(fwrite(pMP3Buffer,1,dwWrite,pFileOut) != dwWrite) { fprintf(stderr,"Output file write error"); return -1; } dwDone += dwRead*sizeof(SHORT); printf("Done: %0.2f%% \r", 100 * (float)dwDone/(float)(dwFileSize)); } // Deinit the stream err = beDeinitStream(hbeStream, pMP3Buffer, &dwWrite); // Check result if(err != BE_ERR_SUCCESSFUL) { beCloseStream(hbeStream); fprintf(stderr,"beExitStream failed (%lu)", err); return -1; } // Are there any bytes returned from the DeInit call? // If so, write them to disk if( dwWrite ) { if( fwrite( pMP3Buffer, 1, dwWrite, pFileOut ) != dwWrite ) { fprintf(stderr,"Output file write error"); return -1; } } // close the MP3 Stream beCloseStream( hbeStream ); // Delete WAV buffer delete [] pWAVBuffer; // Delete MP3 Buffer delete [] pMP3Buffer; // Close input file fclose( pFileIn ); // Close output file fclose( pFileOut ); if ( beWriteInfoTag ) { // Write the INFO Tag beWriteInfoTag( hbeStream, strFileOut ); } else { beWriteVBRHeader( strFileOut ); } // Were done, return OK result return 0; } 07070100069c70000081a40000000200000002000000013d42778f00000d71000000200000000800000000000000000000001a00000000reloc/Dll/Example_vc6.dsp# Microsoft Developer Studio Project File - Name="Example" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=Example - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "Example_vc6.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "Example_vc6.mak" CFG="Example - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "Example - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "Example - Win32 Debug" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "Example - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 !ELSEIF "$(CFG)" == "Example - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "Example - Win32 Release" # Name "Example - Win32 Debug" # Begin Source File SOURCE=.\Example.cpp # End Source File # End Target # End Project 07070100069c71000081a40000000200000002000000013fbcc1f50000058e000000200000000800000000000000000000001a00000000reloc/Dll/Example_vc6.dswMicrosoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "Example"=.\Example_vc6.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name LameMp3EncDll End Project Dependency }}} ############################################################################### Project: "LameMp3EncDll"=.\LameDll_vc6.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name libmp3lame End Project Dependency Begin Project Dependency Project_Dep_Name mpglib End Project Dependency }}} ############################################################################### Project: "libmp3lame"=..\libmp3lame\libmp3lame_vc6.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "mpglib"=..\mpglib\mpglib_vc6.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### 07070100069c72000081a40000000200000002000000013d4af11c000060a3000000200000000800000000000000000000001f00000000reloc/Dll/LameDLLInterface.htm Lame-

 

Lame-enc DLL
Interface version 1.32 (and above)
(Lame engine version: 3.93 or higher)
Programmers Manual

The lame_enc.dll and this manual is copyright by Albert L Faber
Originally the the DLL interface is modeled after the BladeEnc DLL interface
which is copyrighted by Tord Jansson and Jukka Poikolainen
This document and the DLL interface may be distributed freely

as long as modifications are released under the LGPL license.

 

Homepage: http://www.cdex.n3.net
E-mail: mailto: afaber@users.sourceforge.net





Distribution

People and companies  who wants to distribute lame_enc.dll with their commercial products are free to do so as far as I'm concerned (LGPL license), but should be aware that lame_enc.dll might infringe certain MP3 related software patents held by Fraunhofer IIS in certain countries.


 

Disclaimer

lame_enc.dll and this manual is distributed 'as is' with no warranty of any kind. The Author is not to be held responsible for the result of any use or misuse of this product.
 
 

Current Bugs and Limitations

Although the interface is designed to be able to handle multiple parallel streams it can't be done yet due to limitations in the engine, only one stream is allowed.
 

Future Compatibility

This interface should be compatible with all future versions of lame_enc.DLL without any need to recompile your programs. You should therefore not check the version number upon start and prevent users from running your program with a later version of lame_enc.DLL.
 


How to use the DLL

1. Fill in a BE_CONFIG structure and send it to beInitStream(). Make sure that BE_ERR_SUCCESSFUL is returned.

2. Reserve at least the amount of memory returned in dwBufferSize as your output buffer.

3. Call beEncodeChunk() until you've encoded everything you want.

4. Call beDeinitStream() to make sure that all encoded data is flushed out before closing the stream.

5. Close the stream using beCloseStream()

6. Finally, call the beWriteVBRHeader() functions, to insert the INFO tag MP3 Header. This is an extension of the Xing VBR tag which is also used for CBR encodings. This call can only be omitted if the INFO tag was explicilty disabled in the BE_CONFIG Structure.

A handy feature is the available Lame_enc.dll debug option, which will dump the important lame internal settings to a text file.
 

 

Return Values

See the header-file for a complete list of function return values. All functions should return BE_ERR_SUCCESSFUL unless something went wrong.
 


Type definitions

The DLL is by default compiled with the MS Visual C/C++ compiler, which has the following type definitions:

Type Description
CHAR signed char (8 bits)
BYTE unsigned char (8 bits)
SHORT signed short (16 bits)
WORD unsigned short (16 bits)
INT signed long (32 bits)
LONG signed long (32 bits)
BOOL signed long (32 bits) (YES, 32 bits for a one bit value)
TRUE = 0
FALSE=-1
DWORD unsigned long (32 bits)
FLOAT floating point (32 bits)
DOUBLE float point (64 bits)
LPCSTR const char* (32 bits pointer to zero terminated character string)

Within the lame_enc.dll All the structure elements are one byte alligned (due to backwards compatibility with BladEnc.DLL!

 


The BE_CONFIG Structure

Currently there the BE_CONFIG structure has to varians, the old MP3 config structure that is truly compatible with the old BladeEnc interface, and the new defined LHV1 structure, which can set far more options in the lame encoder

 

The MP3 BE_CONFIG - structure (OBSOLETE)

This is the old structure as it was originally defined by the BladeEnc.DLL interface. However, I do highly recommend to use the new Lame specific config structure, since it gives you more control over the Lame encoder settings.

These are the members of the BE_CONFIG structure you need to fill in before you call beInitStream():
 

dwConfig Specifies what kind of output you want. Since only MP3 currently is supported you must set this to BE_CONFIG_MP3
format.mp3.dwSampleRate      Samplerate in Hz for MP3 file. This can be set to either 32000, 44100 or 48000.
format.mp3.byMode Stereomode for MP3 file. This can be either BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL or BE_MP3_MODE_MONO.
format.mp3.bitrate Bitrate (i.e. size) of MP3 file in kBit/s. Allowed bitrates are: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320.
format.mp3.bCopyright If this is set to TRUE the Copyright bit in the MP3 stream will be set.
format.mp3.bCRC Set this to TRUE in order to enable CRC-checksum in the bitstream.
format.mp3.bOriginal If this is set to TRUE the Original bit in the MP3 stream will be set.
format.mp3.bPrivate If this is set to TRUE the Private bit in the MP3 stream will be set.

 

The LHV1 BE_CONFIG - structure (recommended)

These are the members of the LHV1 BE_CONFIG structure, you need to fill in before you call beInitStream():

dwConfig Specifies what kind of output you want. Since only MP3 currently is supported you must set this to BE_CONFIG_LAME
   
format.LHV1.dwStructVersion Indicates the version number of the structure, current version number is 1
format.LHV1.dwStructSize Specifies the size of the BE_CONFIG structure (currently 331 bytes)
   
format.LHV1.dwSampleRate  Samplerate in Hz for MP3 file. This can be set to either:
32000, 44100 or 48000 for MPEG-I
16000, 22050 or 24000 for MPEG-I
8000, 11025 or 12000 for MPEG-II.5
format.LHV1.dwReSampleRate Specifies to which sample rate the input stream has to be resampled, if set to 0, the encoder will decide which ReSample rate to use
format.LHV1.nMode Stereomode for MP3 file. This can be either BE_MP3_MODE_STEREO, BE_MP3_MODE_JSTEREO, BE_MP3_MODE_DUALCHANNEL or BE_MP3_MODE_MONO.
format.LHV1.dwBitrate For CBR, this specifies the actual bitrate, for VBR, it specifies the minimum bitrate
Allowed bitrates are: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320.for MPEG-I
Allowed bitrates are: 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144 and 160.for MPEG-II

Note: dwBitrate is used as the minimum bitrate in the case of using a VBR mode.

format.LHV1.dwMaxBitrate When VBR mode is enabled, it specifies the maximum allowed bitrate (see also dwBitrate to specify the minium bitrate), for CBR mode this setting is ignored.
format.LHV1.nPreset Keep in mind that the presets can overwrite some of the other settings, since it is called right before the encoder is initialized
The nPreset option can be set to one of the following presets values::

LQP_NOPRESET (don't use any presets)
LQP_NORMAL_QUALITY (quality is set to 5)
LQP_LOW_QUALITY (quality is set to 9)
LQP_HIGH_QUALITY (quality is set to 2)
LQP_VOICE_QUALITY (use for voice encoding)
LQP_R3MIX (r3mix preset option)
LQP_VERYHIGH_QUALITY (quality is set to 0)
LQP_STANDARD (lame command line alt-preset standard)
LQP_FAST_STANDARD (lame command line alt-preset fast standard)
LQP_EXTREME (lame command line alt-preset extreme)
LQP_FAST_EXTREME (lame command line alt-preset fast extreme)
LQP_INSANE (lame command line alt-preset insane)
LQP_ABR (lame command line alt-preset abr)
LQP_CBR(lame command line alt-preset cbr)

(old lame preset options)
LQP_PHONE
LQP_SW
LQP_AM
LQP_FM
LQP_VOICE
LQP_RADIO
LQP_TAPE
LQP_HIFI
LQP_CD
LQP_STUDIO

 
format.LHV1.bCopyright If this is set to TRUE the Copyright bit in the MP3 stream will be set.
format.LHV1.bCRC Set this to TRUE in order to enable CRC-checksum in the bitstream.
format.LHV1.bOriginal If this is set to TRUE the Original bit in the MP3 stream will be set.
format.LHV1.bPrivate If this is set to TRUE the Private bit in the MP3 stream will be set.
   
format.LHV1.nVbrMethod Sepecifes if the VBR method to use, currently the following settings are supported:

VBR_METHOD_NONE (don't use VBR, use CBR encoding instead),
VBR_METHOD_DEFAULT (default VBR method)
VBR_METHOD_OLD (old VBR method, proven to be reliable)
VBR_METHOD_NEW (new VBR method, faster than VBR_METHOD_OLD)
VBR_METHOD_MTRH (depreciated, same as VBR_METHOD_NEW)
VBR_METHOD_ABR (Average Bitrate Encoding, see also
format.LHV1.dwVbrAbr_bps)

format.LHV1.bWriteVBRHeader Sepecifes if the a XING VBR header should be written or not. When this option is enabled, you have to call the beWriteVBRHeader function when encoding has been completed. Keep in mind that the VBR info tag can also be written for CBR encoded files, the TAG info can be useful for additional info like encoder delay and the like.
format.LHV1.bEnableVBR Specifies if VBR encoding option shall be used or not, possible values are TRUE/FALSE
format.LHV1.nVBRQuality Quality option if VBR is enabled (0=highest quality, 9 is lowest quality)
format.LHV1.dwVbrAbr_bps If the Average Bit Rate is specified, the lame encoder ignores the nVBRQuality settings (However, bEnableVBR must be set to TRUE and the format.LHV1.nVbrMethod parameter should be set to VBR_METHOD_ABR). The allowed range for the format.LHV1.dwVbrAbr_bps parameter any integer value between:

MPEG-I: 32000 .. 320000 bps
MPEG-II: 8000 .. 160000 bps

   
format.LHV1.bNoBitRes Disables the bit-resorvoir and disables the insertion of padded frames
format.LHV1.nQuality Quality Setting, HIGH BYTE should be NOT LOW byte, otherwhise quality is set to 5. This is done to be backward compatible. So to set quality to 3, you have to set the nQuality parameter to 0xFC03.
format.mp3.btReserved For future use, set all elements to zero

 

 


beInitStream()

Synopsis: BE_ERR beInitStream( PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream )
Parameters:
pbeConfig Pointer at the struct containing encoder settings.
dwSamples Pointer at double word where number of samples to send to each beEncodeChunk() is returned.
dwBufferSize Pointer at double word where minimum size in bytes of output buffer is returned.
phbeStream Pointer at integer where Stream handle is returned.
Description: This function is the first to call before starting an encoding stream.

beEncodeChunk()

Synopsis: BE_ERR beEncodeChunk( HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput )
Parameters:
hbeStream Handle of the stream.
nSamples Number of samples to be encoded for this call. This should be identical to what is returned by beInitStream(), unless you are encoding the last chunk, which might be smaller.
pSamples Pointer at the 16-bit signed samples to be encoded. These should be in stereo when encoding a stereo MP3 and mono when encoding a mono MP3.
pOutput Where to write the encoded data. This buffer should be at least of the minimum size returned by beInitStream().
pdwOutput Where to return number of bytes of encoded data written. The amount of data written might vary from chunk to chunk.
Description: Encodes a chunk of samples. Please note that if you have set the output to generate mono MP3 files you must feed beEncodeChunk() with mono samples!

beDeinitStream()

Synopsis: BE_ERR beDeinitStream( HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput )
Parameters:
hbeStream Handle of the stream.
pOutput Where to write the encoded data. This buffer should be at least of the minimum size returned by beInitStream().
pdwOutput Where to return number of bytes of encoded data written.
Description: This function should be called after encoding the last chunk in order to flush the encoder. It writes any encoded data that still might be left inside the encoder to the output buffer. This function should NOT be called unless you have encoded all of the chunks in your stream.

beCloseStream()

Synopsis: BE_ERR beCloseStream( HBE_STREAM hbeStream )
Parameters:
hbeStream Handle of the stream.
Description: Last function to be called when finished encoding a stream. Should unlike beDeinitStream() also be called if the encoding is canceled.

beVersion()

Synopsis: VOID beVersion( PBE_VERSION pbeVersion )
Parameters:
pbeVersion Pointer at struct where version number, release date and URL for homepage is returned.
Description: Returns information like version numbers (both of the DLL and encoding engine), release date and URL for lame_enc's homepage. All this information should be made available to the user of your product through a dialog box or something similar.

 


 

beWriteVBRHeader()

Synopsis: VOID beWriteVBRHeader( LPCSTR pszMP3FileName )
Parameters:
pszMP3FileName Const Pointer zero terminated string, that contains the MP3 file name.
Description: Writes a Xing Header in front of the MP3 file. Make sure that the MP3 file is closed, and the the beConfig.format.LHV1.bWriteVBRHeader has been set to TRUE. In addition, it is always save to call beWriteVBRHeader after the encoding has been finished, even when the beConfig.format.LHV1.bWriteVBRHeader is not set to TRUE

 

 


 

Lame_enc.dll debug option

The lame_enc.dll has a built-in debug option, that dumps all the important internal settings to a text file. To enable this feature, create a text file in the Windows directory which is named lame_enc.ini, and should contain the following two lines

[debug]
WriteLogFile=1

Save this text file, and each time you encode a file, the settings are added to a file name lame_enc.txt, that is located in the same directory as the lame_enc.dll

 


 

07070100069c73000081a40000000200000002000000013d384a6f00001808000000200000000800000000000000000000001a00000000reloc/Dll/LameDll_vc6.dsp# Microsoft Developer Studio Project File - Name="LameMp3EncDll" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=LameMp3EncDll - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "LameDll_vc6.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "LameDll_vc6.mak" CFG="LameMp3EncDll - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "LameMp3EncDll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "LameMp3EncDll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "LameMp3EncDll - Win32 Release NASM" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "LameMp3EncDll - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LAMEMP3ENCDLL_EXPORTS" /YX /FD /c # ADD CPP /nologo /W3 /O2 /I "../include" /I "../" /I "../libmp3lame" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LAMEMP3ENCDLL_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x40c /d "NDEBUG" # ADD RSC /l 0x40c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../output/lame_enc.dll" !ELSEIF "$(CFG)" == "LameMp3EncDll - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LAMEMP3ENCDLL_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /W3 /Gm /ZI /Od /I "../include" /I "../" /I "../libmp3lame" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LAMEMP3ENCDLL_EXPORTS" /YX /FD /GZ /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x40c /d "_DEBUG" # ADD RSC /l 0x40c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"../output/lame_enc.dll" /pdbtype:sept !ELSEIF "$(CFG)" == "LameMp3EncDll - Win32 Release NASM" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "LameMp3EncDll___Win32_Release_NASM" # PROP BASE Intermediate_Dir "LameMp3EncDll___Win32_Release_NASM" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /O2 /I "../include" /I "../" /I "../libmp3lame" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LAMEMP3ENCDLL_EXPORTS" /YX /FD /c # ADD CPP /nologo /W3 /O2 /I "../include" /I "../" /I "../libmp3lame" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LAMEMP3ENCDLL_EXPORTS" /D "HAVE_NASM" /D "MMX_choose_table" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x40c /d "NDEBUG" # ADD RSC /l 0x40c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../output/lame_enc.dll" # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../output/lame_enc.dll" !ENDIF # Begin Target # Name "LameMp3EncDll - Win32 Release" # Name "LameMp3EncDll - Win32 Debug" # Name "LameMp3EncDll - Win32 Release NASM" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=.\BladeMP3EncDLL.c # End Source File # Begin Source File SOURCE=.\BladeMP3EncDLL.def # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=.\BladeMP3EncDLL.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project 07070100069c74000081a40000000200000002000000013fbce6090000299b000000200000000800000000000000000000001800000000reloc/Dll/MP3export.pasunit MP3export; interface Uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type //type definitions //typedef unsigned long HBE_STREAM; //typedef HBE_STREAM *PHBE_STREAM; //typedef unsigned long BE_ERR; THBE_STREAM = LongWord; PHBE_STREAM = ^PHBE_STREAM; BE_ERR = LongWord; const // encoding formats //#define BE_CONFIG_MP3 0 //#define BE_CONFIG_LAME 256 BE_CONFIG_MP3 = 0; BE_CONFIG_LAME = 256; // error codes //#define BE_ERR_SUCCESSFUL 0x00000000 //#define BE_ERR_INVALID_FORMAT 0x00000001 //#define BE_ERR_INVALID_FORMAT_PARAMETERS 0x00000002 //#define BE_ERR_NO_MORE_HANDLES 0x00000003 //#define BE_ERR_INVALID_HANDLE 0x00000004 BE_ERR_SUCCESSFUL: LongWord = 0; BE_ERR_INVALID_FORMAT: LongWord = 1; BE_ERR_INVALID_FORMAT_PARAMETERS: LongWord = 2; BE_ERR_NO_MORE_HANDLES: LongWord = 3; BE_ERR_INVALID_HANDLE: LongWord = 4; // other constants BE_MAX_HOMEPAGE = 256; // format specific variables BE_MP3_MODE_STEREO = 0; BE_MP3_MODE_DUALCHANNEL = 2; BE_MP3_MODE_MONO = 3; type TMP3 = packed record dwSampleRate : LongWord; byMode : Byte; wBitRate : Word; bPrivate : LongWord; bCRC : LongWord; bCopyright : LongWord; bOriginal : LongWord; end; TLHV1 = packed record // STRUCTURE INFORMATION dwStructVersion: DWORD; dwStructSize: DWORD; // BASIC ENCODER SETTINGS dwSampleRate: DWORD; // ALLOWED SAMPLERATE VALUES DEPENDS ON dwMPEGVersion dwReSampleRate: DWORD; // DOWNSAMPLERATE, 0=ENCODER DECIDES nMode: Integer; // BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO dwBitrate: DWORD; // CBR bitrate, VBR min bitrate dwMaxBitrate: DWORD; // CBR ignored, VBR Max bitrate nQuality: Integer; // Quality setting (NORMAL,HIGH,LOW,VOICE) dwMpegVersion: DWORD; // MPEG-1 OR MPEG-2 dwPsyModel: DWORD; // FUTURE USE, SET TO 0 dwEmphasis: DWORD; // FUTURE USE, SET TO 0 // BIT STREAM SETTINGS bPrivate: LONGBOOL; // Set Private Bit (TRUE/FALSE) bCRC: LONGBOOL; // Insert CRC (TRUE/FALSE) bCopyright: LONGBOOL; // Set Copyright Bit (TRUE/FALSE) bOriginal: LONGBOOL; // Set Original Bit (TRUE/FALSE_ // VBR STUFF bWriteVBRHeader: LONGBOOL; // WRITE XING VBR HEADER (TRUE/FALSE) bEnableVBR: LONGBOOL; // USE VBR ENCODING (TRUE/FALSE) nVBRQuality: Integer; // VBR QUALITY 0..9 btReserved: array[0..255] of Byte; // FUTURE USE, SET TO 0 end; TAAC = packed record dwSampleRate : LongWord; byMode : Byte; wBitRate : Word; byEncodingMethod : Byte; end; TFormat = packed record case byte of 1 : (mp3 : TMP3); 2 : (lhv1 : TLHV1); 3 : (aac : TAAC); end; TBE_Config = packed record dwConfig : LongWord; format : TFormat; end; PBE_Config = ^TBE_Config; //typedef struct { // // BladeEnc DLL Version number // // BYTE byDLLMajorVersion; // BYTE byDLLMinorVersion; // // // BladeEnc Engine Version Number // // BYTE byMajorVersion; // BYTE byMinorVersion; // // // DLL Release date // // BYTE byDay; // BYTE byMonth; // WORD wYear; // // // BladeEnc Homepage URL // // CHAR zHomepage[BE_MAX_HOMEPAGE + 1]; // //} BE_VERSION, *PBE_VERSION; TBE_Version = record byDLLMajorVersion : Byte; byDLLMinorVersion : Byte; byMajorVersion : Byte; byMinorVersion : Byte; byDay : Byte; byMonth : Byte; wYear : Word; zHomePage : Array[0..BE_MAX_HOMEPAGE + 1] of Char; end; PBE_Version = ^TBE_Version; //__declspec(dllexport) BE_ERR beInitStream(PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream); //__declspec(dllexport) BE_ERR beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput); //__declspec(dllexport) BE_ERR beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput); //__declspec(dllexport) BE_ERR beCloseStream(HBE_STREAM hbeStream); //__declspec(dllexport) VOID beVersion(PBE_VERSION pbeVersion); { Function beInitStream(var pbeConfig: TBE_CONFIG; var dwSample: LongWord; var dwBufferSize: LongWord; var phbeStream: THBE_STREAM ): BE_Err; cdecl; external 'Bladeenc.dll'; //Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; pSample: PSmallInt;pOutput: PByte; var pdwOutput: LongWord): BE_Err; cdecl; external 'Bladeenc.dll'; Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; var pSample;var pOutput; var pdwOutput: LongWord): BE_Err; stdcall; cdecl 'Bladeenc.dll'; Function beDeinitStream(hbeStream: THBE_STREAM; var pOutput; var pdwOutput: LongWord): BE_Err; cdecl; external 'Bladeenc.dll'; Function beCloseStream(hbeStream: THBE_STREAM): BE_Err; cdecl; external 'Bladeenc.dll'; Procedure beVersion(var pbeVersion: TBE_VERSION); cdecl; external 'Bladeenc.dll'; } Function beInitStream(var pbeConfig: TBE_CONFIG; var dwSample: LongWord; var dwBufferSize: LongWord; var phbeStream: THBE_STREAM ): BE_Err; cdecl; external 'Lame_enc.dll'; //Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; pSample: PSmallInt;pOutput: PByte; var pdwOutput: LongWord): BE_Err; cdecl; external 'Lame_enc.dll'; Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; var pSample;var pOutput; var pdwOutput: LongWord): BE_Err; cdecl; external 'Lame_enc.dll'; Function beDeinitStream(hbeStream: THBE_STREAM; var pOutput; var pdwOutput: LongWord): BE_Err; cdecl; external 'Lame_enc.dll'; Function beCloseStream(hbeStream: THBE_STREAM): BE_Err; cdecl; external 'Lame_enc.dll'; Procedure beVersion(var pbeVersion: TBE_VERSION); cdecl; external 'Lame_enc.dll'; Procedure EncodeWavToMP3(fs, fd: Integer); implementation Uses InternetSnd, TraiteWav; {----------------------------------------} Procedure EncodeWavToMP3(fs, fd: Integer); var err: Integer; beConfig: TBE_Config; dwSamples, dwSamplesMP3 : LongWord; hbeStream : THBE_STREAM; error: BE_ERR; pBuffer: PSmallInt; pMP3Buffer: PByte; Marque:PChar; done: LongWord; dwWrite: LongWord; ToRead: LongWord; ToWrite: LongWord; i:Integer; begin beConfig.dwConfig := BE_CONFIG_LAME; { beConfig.Format.mp3.dwSampleRate := WavInfo.SamplesPerSec; beConfig.Format.mp3.byMode := BE_MP3_MODE_STEREO; beConfig.Format.mp3.wBitrate := strToInt(MainFrm.Mp3BitRate.Text); beConfig.Format.mp3.bCopyright := 0; beConfig.Format.mp3.bCRC := $00000000; beConfig.Format.mp3.bOriginal := 0; beConfig.Format.mp3.bPrivate := 0; } //Structure information beConfig.Format.lhv1.dwStructVersion := 1; beConfig.Format.lhv1.dwStructSize := SizeOf(beConfig); //Basic encoder setting beConfig.Format.lhv1.dwSampleRate := WavInfo.SamplesPerSec; beConfig.Format.lhv1.dwReSampleRate := 44100; beConfig.Format.lhv1.nMode := BE_MP3_MODE_STEREO; beConfig.Format.lhv1.dwBitrate := strToInt(MainFrm.Mp3BitRate.Text); beConfig.Format.lhv1.dwMaxBitrate := strToInt(MainFrm.Mp3BitRate.Text); beConfig.Format.lhv1.nQuality := 2; beConfig.Format.lhv1.dwMPegVersion := 1; //MPEG1 beConfig.Format.lhv1.dwPsyModel := 0; beConfig.Format.lhv1.dwEmphasis := 0; //Bit Stream Settings beConfig.Format.lhv1.bPrivate := False; beConfig.Format.lhv1.bCRC := False; beConfig.Format.lhv1.bCopyright := True; beConfig.Format.lhv1.bOriginal := True; //VBR Stuff beConfig.Format.lhv1.bWriteVBRHeader := false; beConfig.Format.lhv1.bEnableVBR := false; beConfig.Format.lhv1.nVBRQuality := 0; i := 0; error := beInitStream(beConfig, dwSamples, dwSamplesMP3, hbeStream); if error = BE_ERR_SUCCESSFUL then begin pBuffer := AllocMem(dwSamples*2); pMP3Buffer := AllocMem(dwSamplesMP3); try done := 0; error := FileSeek(fs, 0, 0); While (done < TotalSize) do begin if (done + dwSamples*2 < TotalSize) then ToRead := dwSamples*2 else begin ToRead := TotalSize-done; //FillChar(buf[0],dwSamples*2,0); FillChar(pbuffer^,dwSamples,0); end; //if FileRead(fs, buf[0], toread) = -1 if FileRead(fs, pbuffer^, toread) = -1 then raise Exception.Create('Erreur de lecture'); //error := beEncodeChunk(hbeStream, toRead div 2, Buf[0], TmpBuf[0], toWrite); error := beEncodeChunk(hbeStream, toRead div 2, pBuffer^, pMP3Buffer^, toWrite); if error <> BE_ERR_SUCCESSFUL then begin beCloseStream(hbeStream); raise Exception.Create('Echec de l''encodage'); end; //if FileWrite(fd, TmpBuf[0], toWrite) = -1 if FileWrite(fd, pMP3Buffer^, toWrite) = -1 then raise Exception.Create('Erreur d''écriture'); done := done + toread; inc(i); if i mod 64 = 0 then begin MainFrm.ProgressBar1.Position := round(100*done/Totalsize); Application.ProcessMessages; end; end; error := beDeInitStream(hbeStream, pMP3Buffer^, dwWrite); //error := beDeInitStream(hbeStream, TmpBuf[0], dwWrite); if error <> BE_ERR_SUCCESSFUL then begin beCloseStream(hbeStream); raise Exception.Create('Echec à la sortie'); end; if dwWrite <> 0 then begin //if FileWrite(fd, TmpBuf[0], dwWrite) = -1 if FileWrite(fd, pMP3Buffer^, dwWrite) = -1 then raise Exception.Create('Erreur à la dernière écriture'); end; beCloseStream(hbeStream); finally FreeMem(pBuffer); FreeMem(pMP3Buffer); end; end else begin end; end; end. 07070100069c75000081a40000000200000002000000014325fa91000020e2000000200000000800000000000000000000001300000000reloc/Dll/Makefile# Makefile.in generated by automake 1.7.5 from Makefile.am. # Dll/Makefile. Generated from Makefile.in by configure. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # global section for every Makefile.am srcdir = . top_srcdir = .. pkgdatadir = $(datadir)/lame pkglibdir = $(libdir)/lame pkgincludedir = $(includedir)/lame top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = /opt/sfw/bin/ginstall -c install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = sparc-sun-solaris2.11 ACLOCAL = ${SHELL} /home/shake/lame-3.96.1/missing --run aclocal-1.7 ALLOCA = AMDEP_FALSE = # AMDEP_TRUE = AMTAR = ${SHELL} /home/shake/lame-3.96.1/missing --run tar AR = ar AUTOCONF = ${SHELL} /home/shake/lame-3.96.1/missing --run autoconf AUTOHEADER = ${SHELL} /home/shake/lame-3.96.1/missing --run autoheader AUTOMAKE = ${SHELL} /home/shake/lame-3.96.1/missing --run automake-1.7 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O3 -ffast-math -funroll-loops -mcpu=ultrasparc -mtune=ultrasparc -Wall CONFIG_DEFS = CPP = gcc -E CPPFLAGS = CPUTYPE = no CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -g -O2 CYGPATH_W = echo DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO = echo ECHO_C = ECHO_N = -n ECHO_T = EGREP = egrep EXEEXT = F77 = g77 FFLAGS = -g -O2 FRONTEND_CFLAGS = FRONTEND_LDADD = -lncurses -lm FRONTEND_LDFLAGS = GTK_CFLAGS = -I/opt/csw/include/gtk-1.2 -I/opt/csw/include/glib-1.2 -I/opt/csw/lib/glib/include GTK_CONFIG = /opt/csw/bin/gtk-config GTK_LIBS = -L/opt/csw/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lsocket -lnsl -lm HAVE_NASM_FALSE = HAVE_NASM_TRUE = # INCLUDES = -I$(top_srcdir)/include -I$(srcdir) INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s LDADD = LDFLAGS = LIBOBJS = LIBS = -lsocket -lnsl LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL_DEPS = ./ltmain.sh LIB_MAJOR_VERSION = 0 LIB_MINOR_VERSION = 0 LIB_WITH_DECODER_FALSE = # LIB_WITH_DECODER_TRUE = LN_S = ln -s LTLIBOBJS = MAINT = # MAINTAINER_MODE_FALSE = MAINTAINER_MODE_TRUE = # MAKEDEP = -M MAKEINFO = ${SHELL} /home/shake/lame-3.96.1/missing --run makeinfo NASM = no NASM_FORMAT = -f elf OBJEXT = o PACKAGE = lame PACKAGE_BUGREPORT = PACKAGE_NAME = PACKAGE_STRING = PACKAGE_TARNAME = PACKAGE_VERSION = PATH_SEPARATOR = : RANLIB = ranlib RM_F = rm -f SET_MAKE = SHELL = /bin/bash STRIP = strip U = VERSION = 3.96.1 WITH_BRHIST_FALSE = # WITH_BRHIST_TRUE = WITH_FRONTEND = lame WITH_MP3RTP = WITH_MP3X = ac_ct_AR = ar ac_ct_CC = gcc ac_ct_CXX = g++ ac_ct_F77 = g77 ac_ct_RANLIB = ranlib ac_ct_STRIP = strip am__fastdepCC_FALSE = # am__fastdepCC_TRUE = am__fastdepCXX_FALSE = # am__fastdepCXX_TRUE = am__include = include am__leading_dot = . am__quote = bindir = ${exec_prefix}/bin build = sparc-sun-solaris2.11 build_alias = build_cpu = sparc build_os = solaris2.11 build_vendor = sun datadir = ${prefix}/share exec_prefix = ${prefix} host = sparc-sun-solaris2.11 host_alias = host_cpu = sparc host_os = solaris2.11 host_vendor = sun includedir = ${prefix}/include infodir = ${prefix}/info install_sh = /home/shake/lame-3.96.1/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localstatedir = ${prefix}/var mandir = ${prefix}/man oldincludedir = /usr/include prefix = /usr/local program_transform_name = s,x,x, sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com sysconfdir = ${prefix}/etc target_alias = AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr EXTRA_DIST = BladeMP3EncDLL.c \ BladeMP3EncDLL.def \ BladeMP3EncDLL.h \ Example.cpp \ Example_vc6.dsp \ Example_vc6.dsw \ LameDLLInterface.htm \ LameDll_vc6.dsp \ MP3export.pas \ Makefile.mingw32 subdir = Dll ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = DIST_COMMON = README $(top_srcdir)/Makefile.am.global Makefile.am \ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign Dll/Makefile Makefile: # $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: tags: TAGS TAGS: ctags: CTAGS CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c76000081a4000000020000000200000001400e495000000135000000200000000800000000000000000000001600000000reloc/Dll/Makefile.am## $Id: Makefile.am,v 1.7 2004/01/21 09:41:36 bouvigne Exp $ include $(top_srcdir)/Makefile.am.global EXTRA_DIST = BladeMP3EncDLL.c \ BladeMP3EncDLL.def \ BladeMP3EncDLL.h \ Example.cpp \ Example_vc6.dsp \ Example_vc6.dsw \ LameDLLInterface.htm \ LameDll_vc6.dsp \ MP3export.pas \ Makefile.mingw32 07070100069c77000081a4000000020000000200000001400e83a500002199000000200000000800000000000000000000001600000000reloc/Dll/Makefile.in# Makefile.in generated by automake 1.7.5 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # global section for every Makefile.am srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = @host@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DEFS = @CONFIG_DEFS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CPUTYPE = @CPUTYPE@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FRONTEND_CFLAGS = @FRONTEND_CFLAGS@ FRONTEND_LDADD = @FRONTEND_LDADD@ FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_CONFIG = @GTK_CONFIG@ GTK_LIBS = @GTK_LIBS@ HAVE_NASM_FALSE = @HAVE_NASM_FALSE@ HAVE_NASM_TRUE = @HAVE_NASM_TRUE@ INCLUDES = @INCLUDES@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDADD = @LDADD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@ LIB_MINOR_VERSION = @LIB_MINOR_VERSION@ LIB_WITH_DECODER_FALSE = @LIB_WITH_DECODER_FALSE@ LIB_WITH_DECODER_TRUE = @LIB_WITH_DECODER_TRUE@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEDEP = @MAKEDEP@ MAKEINFO = @MAKEINFO@ NASM = @NASM@ NASM_FORMAT = @NASM_FORMAT@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ RM_F = @RM_F@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ VERSION = @VERSION@ WITH_BRHIST_FALSE = @WITH_BRHIST_FALSE@ WITH_BRHIST_TRUE = @WITH_BRHIST_TRUE@ WITH_FRONTEND = @WITH_FRONTEND@ WITH_MP3RTP = @WITH_MP3RTP@ WITH_MP3X = @WITH_MP3X@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ oldincludedir = @oldincludedir@ prefix = @prefix@ program_transform_name = @program_transform_name@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr EXTRA_DIST = BladeMP3EncDLL.c \ BladeMP3EncDLL.def \ BladeMP3EncDLL.h \ Example.cpp \ Example_vc6.dsp \ Example_vc6.dsw \ LameDLLInterface.htm \ LameDll_vc6.dsp \ MP3export.pas \ Makefile.mingw32 subdir = Dll ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = DIST_COMMON = README $(top_srcdir)/Makefile.am.global Makefile.am \ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign Dll/Makefile Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: tags: TAGS TAGS: ctags: CTAGS CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) $(mkinstalldirs) $(distdir)/.. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am # end global section # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c78000081a40000000200000002000000013bf6473f00000532000000200000000800000000000000000000001b00000000reloc/Dll/Makefile.mingw32# This makefile compiles lame_enc.dll with mingw32 (and possibly cygwin) # Of course, you must first build ../libmp3lame/libmp3lame.a. # liblame_enc.a can be used to link the lame_enc.dll to your programs. # Tested with EAC 0.9pb9 (my own favorite, http://www.exactaudiocopy.de/) # example.exe compiles and works, too. # Vladislav Naumov, # # PS: to 'make clean' you need rm. MS's del is unusable. # PPS: quick build: # make -fMakefile.mingw32 DLL_NAME = lame_enc LAME_SRC_ROOT = .. OFILES = BladeMP3EncDLL.o $(DLL_NAME)_exp.o CFLAGS = -I$(LAME_SRC_ROOT)/include -I$(LAME_SRC_ROOT)/libmp3lame CC = gcc LD = gcc LFLAGS = -L$(LAME_SRC_ROOT)/libmp3lame -o $(DLL_NAME).dll -mdll -s LIBS = -lmp3lame all: $(DLL_NAME).dll example.exe BladeMP3EncDLL.o: BladeMP3EncDLL.c BladeMP3EncDLL.h ../include/lame.h \ ../libmp3lame/lame_global_flags.h ../libmp3lame/version.h $(DLL_NAME).dll : $(OFILES) $(LD) $(LFLAGS) $(OFILES) $(LIBS) $(DLL_NAME)_exp.o : BladeMP3EncDLL.o dlltool --input-def BladeMP3EncDLL.def --output-lib lib$(DLL_NAME).a --output-exp $(DLL_NAME)_exp.o --dllname $(DLL_NAME) BladeMP3EncDLL.o %.o : %.c $(CC) $(CFLAGS) -c $< -o $@ example.exe : Example.cpp BladeMP3EncDLL.h gcc Example.cpp -o example.exe clean : rm -f $(DLL_NAME).dll $(OFILES) example.exe 07070100069c79000081a4000000020000000200000001398dc8c600000279000000200000000800000000000000000000001100000000reloc/Dll/README This directory contains a Windows DLL interface to the LAME encoding engine. This DLL is compatible with the BladeEnc.dll. See BladeMP3EncDLL.c for details of the calling sequence, and BladeMP3EncDLL.h for details of the data that must be passed to the DLL. As of yet, there is no other documentation. To use this DLL as a replacement for BladeEnc.dll, you need to populate the 'mp3' struct. To use more advanced features of LAME, you need to populate the LHV1 struct instead. Delphi 4 Users: Gabriel Gélin has contributed a .PAS file, do you can access the DLL from Delphi. See MP3export.pas. 07070100069c7a000081a40000000200000002000000013ba2404000000f90000000200000000800000000000000000000000e00000000reloc/HACKINGFirst, see the file STYLEGUIDE ************************************************************************ TESTING ======= If you make changes, please test. There is a python script in the test/ directory which will compare two versions of lame using a bunch of CBR and ABR options. To run this script, copy your favorite (and short!) wav file to the lame/test directory, and run: % cd lame/test % ./lametest.py [-w] CBRABR.op castanets.wav lame_orig lame_new ************************************************************************ LAME API For a general outline of the code, see the file API. Also, frontend/main.c is a simple front end to libmp3lame.a The guts of the code are called from lame_encode_buffer(). lame_encode_buffer() handles buffering and resampling, and then calls lame_encode_frame() for each frame. lame_encode_frame() looks like this: lame_encode_frame_mp3(): l3psycho_anal() compute masking thresholds mdct_sub() compute MDCT coefficients iteration_loop() choose scalefactors (via iteration) which determine noise shapping, and choose best huffman tables for lossless compression format_bitstream format the bitstream. when data+headers are complete, output to internal bit buffer. copy_buffer() copy internal bit buffer into user's mp3 buffer ************************************************************************ ADDING NEW OPTIONS control variable goes in lame_global_flags sturct. Assume the variable is called 'new_variable'. You also need to write (in get_set.c): lame_set_new_variable() lame_get_new_variable() And then document the variable in the file USAGE as well as the output of "lame --longhelp" And add a "--option" style command line option to enable this variable in parse.m Note: for experimental features that you need to call from the frontend but that should not be part of the official API, see the section at the end of get_set.c. These functions should *NOT* be prototyped in lame.h (since that would indicate to the world that they are part of the API). ************************************************************************ THREADSAFE: Lame should now be thread safe and re-entrant. The only problem seems to be some OS's allocate small stacks (< 128K) to threads launched by applictions, and this is not enough for LAME. Fix is to increase the stack space, or move some of our automatic variables onto the heap with by using bug-prove malloc()'s and free(). ************************************************************************ Global Variables: There are two types of global variables. All data in both strucs is initialized to zero. 1. lame_global_flags *gfp These are input paramters which are set by the calling program, and some information which the calling program may be interested in. This struct instantiated by the call to lame_init(). 2. lame_internal_flags *gfc Most global variables go here. All internal data not set by the user. All 'static' data from old non-reentrant code should be moved here. Defined in util.h. Data for which the size is known in advace should be explicitly declaired (for example, float xr[576]); Data which needs to be malloc'd is handled by: 1. in lame_init_params(), malloc the data 2. be sure to free the data in freegfc() If the data to be malloc'd is large and only used in certain conditions (like resampling), use the following: this has the disadvantage that it is hard to catch and return error flags all the way back up the call stack. 1. Add an initialization variable to the gfc struct: lame_init_resample 2. In the resample routine, there should be some code like this: if (0==gfc->lame_init_resample) { gfc->lame_init_resample=1; /* initialization code: malloc() data, etc */ } 3. The data should be free'd in the routine freegfc(). 07070100069c7b000081a40000000200000002000000013cdeb8a400001c33000000200000000800000000000000000000000e00000000reloc/INSTALLLAME 3.xx January 2001 Mark Taylor (http://www.mp3dev.org) ======================================================================= Compile time options ======================================================================= There are serveral targets which can be built from this source code: lame, lame.exe The command line encoder mp3x A GTK based graphical MP3 frame analyzer. For debugging, development, and studing MP3 frames produced by any encoder. lame_enc.dll a Windows DLL used by many GUIs which support lame. (Can only be compiled by MSVC???) lame.acm a Windows ACM codec which can be used by many windows programs, and any directshow program. See MSVC project files in ACM directory. Right click on lame.inf to install. lame_enc.dshow a Windows direct show filter for lame. Potentially has more flexability than the ACM codec, but code needs some work. See MSVC project files in dshow directory libmp3lame.a the static encoding library used by all platforms, required by all the above targets. libmp3lame.so shared version of libmp3lame.a for *NIX platforms The following compile time options can be used. For libmp3lame.a and lame_enc.dll, none are required. On non-unix systems, these options must be set in config.h or in the IDE. On unix systems, they are set via ./configure. #define HAVE_MPGLIB compile in mpglib's mp3 *decoding* capibility #define HAVE_VORBIS compile in Vorbis decoding capibility (you need libvorbis already built) #define NOANALYSIS do not compile in hooks used by the MP3 frame analyzer. Options for the command line encoder: #define LIBSNDFILE to use Erik de Castro Lopo's libsndfile for input. #define BRHIST to allow the optional display of the VBR histogram ======================================================================= Building the software on *NIX platforms using configure: ======================================================================= Run the following commands: % ./configure % make % make install For a complete list of options, try "./configure --help" Some of the more usefull options: For the encoding library: --enable-mp3x Build the mp3 frame analyzer, 'mp3x' --enable-mp3rtp Build the encode-to-RTP program, 'mp3rtp' (broken as of August 2001) For the LAME front end encoder: --with-fileio=lame Use lame's internal file io routines [default] =sndfile Use Erik de Castro Lopo's libsndfile (Supports many more input formats, but no stdin possible currently) --with-sndfile-prefix=DIR Alternate location for libsndfile (if --with-fileio=sndfile) --enable-brhist Include the VBR bitrate histogram feature (default:yes if any ncurses/termcap available)" Other usefull configure options: --enable-debug Build a debug version --enable-expopt Enable some more optimizations flags for the compiler, may or may not produce faster code --prefix = PATH default is /usr/local (LAME currently installs: /usr/local/bin/lame /usr/local/lib/libmp3lame.a /usr/local/lib/libmp3lame.so /usr/local/include/lame.h --with-vorbis Enable Ogg Vorbis decoding support --with-vorbis-prefix = PATH specify where to find Vorbis libs Some more advanced ways to influence the build procedure (experienced users only, use it at your own risk): - If you want to use some custom defines for building (e.g. some out of the file "DEFINES") use: * bourne shell or compatible (ash, bash, zsh, ...): CONFIG_DEFS="-Dmy_define" ./configure * C shell or compatible (csh, tcsh, ...): setenv CONFIG_DEFS "-Dmy_define" ./configure - If you want to use some additional options for the compiler: * bourne shell or compatible (ash, bash, zsh, ...): CFLAGS="--my_flag" ./configure * C shell or compatible (csh, tcsh, ...): setenv CFLAGS "--my_flag" ./configure Or some combination of the above. Note: If configure detects the presents of "nasm" some additional speed improvements get compiled in (additional assembler code to detect and use multimedia extensions of the used processor). ======================================================================= Building the software on *NIX platforms without configure: ======================================================================= % make -f Makefile.unix ======================================================================= Building the software on Windows with MSVC: (or MSVC + 3rd party C compiler) ======================================================================= There are MSVC project files, and a Makefile.MSVC included with the project. For production use, be sure to compile a "Release" target, with the "maximum speed" compile option, and #define NDEBUG. It is possible to compile the GTK frame analyzer under windows, see README.WINGTK Various build options can be set in configMS.h Note: project files for building lame.exe seem to be broken or not quite compatable with MSVC6. The most reliable way to build lame and lame_enc.dll is to run the .bat script (comes with MSVC6) which sets up your VC environment to work from the command line, and then: copy configMS.h config.h nmake -f Makefile.MSVC comp=msvc asm=no Project files for the dll, ACM codec and directshow filter seem to be in better sahpe. ======================================================================= Building the software on Windows with free compilers: ======================================================================= LAME can be compiled with various Windows MSDOS ports (all free) of GCC (DJGPP, Mingw32). See README.DJGPP. For Mingw32, you should now be able to use the Unix Makefile that comes with LAME. Try: "make -f Makefile.unix UNAME=MSDOS" You may need to remove these lines from brhist.c: #ifdef _WIN32 COORD Pos; HANDLE CH; CONSOLE_SCREEN_BUFFER_INFO CSBI; #endif Mingw32 users may also try to use the unix configure script (explained above), it has _untested_ support for Mingw32. Cygwin users should use the unix configure script (explained above). If you have problems with the configure script try: CC=gcc ./configure Patches to enable the build of the lame_enc.dll with Cygwin and autoconf / automake / libtool are welcome! To use the Borland C compiler (now free!) see README.B32 and Makefile.B32. Borland can also compile the lame_enc.dll, but this is untested. Can DJGPP or Mingw32 produce lame_enc.dll? Various build options can be set in configMS.h 07070100069c7c000081a400000002000000020000000139c6602100001e98000000200000000800000000000000000000001800000000reloc/INSTALL.configureBasic Installation ================== These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, a file `config.cache' that saves the results of its tests to speed up reconfiguring, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.in' is used to create `configure' by a program called `autoconf'. You only need `configure.in' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. You can give `configure' initial values for variables by setting them in the environment. Using a Bourne-compatible shell, you can do that on the command line like this: CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure Or on systems that have the `env' program, you can do it like this: env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not supports the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PATH'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PATH', the package will use PATH as the prefix for installing programs and libraries. Documentation and other data files will still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=PATH' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' can not figure out automatically, but needs to determine by the type of host the package will run on. Usually `configure' can figure that out, but if it prints a message saying it can not guess the host type, give it the `--host=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name with three fields: CPU-COMPANY-SYSTEM See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the host type. If you are building compiler tools for cross-compiling, you can also use the `--target=TYPE' option to select the type of system they will produce code for and the `--build=TYPE' option to select the type of system on which you are compiling the package. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Operation Controls ================== `configure' recognizes the following options to control how it operates. `--cache-file=FILE' Use and save the results of the tests in FILE instead of `./config.cache'. Set FILE to `/dev/null' to disable caching, for debugging `configure'. `--help' Print a summary of the options to `configure', and exit. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--version' Print the version of Autoconf used to generate the `configure' script, and exit. `configure' also accepts some other, not widely useful, options. 07070100069c7d000081a40000000200000002000000013a3f1954000002c3000000200000000800000000000000000000000e00000000reloc/LICENSECan I use LAME in my commercial program? Yes, you can, under the restrictions of the LGPL. The easiest way to do this is to: 1. Link to LAME as separate library (libmp3lame.a on unix or lame_enc.dll on windows) 2. Fully acknowledge that you are using LAME, and give a link to our web site, www.mp3dev.org 3. If you make modifications to LAME, you *must* release these these modifications back to the LAME project, under the LGPL. *** IMPORTANT NOTE *** The decoding functions provided in LAME use the mpglib decoding engine which is under the GPL. They may not be used by any program not released under the GPL unless you obtain such permission from the MPG123 project (www.mpg123.de). 07070100069c7e000081a40000000200000002000000014325fa8c00004c53000000200000000800000000000000000000000f00000000reloc/Makefile# Makefile.in generated by automake 1.7.5 from Makefile.am. # Makefile. Generated from Makefile.in by configure. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # global section for every Makefile.am srcdir = . top_srcdir = . pkgdatadir = $(datadir)/lame pkglibdir = $(libdir)/lame pkgincludedir = $(includedir)/lame top_builddir = . am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = /opt/sfw/bin/ginstall -c install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = sparc-sun-solaris2.11 ACLOCAL = ${SHELL} /home/shake/lame-3.96.1/missing --run aclocal-1.7 ALLOCA = AMDEP_FALSE = # AMDEP_TRUE = AMTAR = ${SHELL} /home/shake/lame-3.96.1/missing --run tar AR = ar AUTOCONF = ${SHELL} /home/shake/lame-3.96.1/missing --run autoconf AUTOHEADER = ${SHELL} /home/shake/lame-3.96.1/missing --run autoheader AUTOMAKE = ${SHELL} /home/shake/lame-3.96.1/missing --run automake-1.7 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O3 -ffast-math -funroll-loops -mcpu=ultrasparc -mtune=ultrasparc -Wall CONFIG_DEFS = CPP = gcc -E CPPFLAGS = CPUTYPE = no CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -g -O2 CYGPATH_W = echo DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO = echo ECHO_C = ECHO_N = -n ECHO_T = EGREP = egrep EXEEXT = F77 = g77 FFLAGS = -g -O2 FRONTEND_CFLAGS = FRONTEND_LDADD = -lncurses -lm FRONTEND_LDFLAGS = GTK_CFLAGS = -I/opt/csw/include/gtk-1.2 -I/opt/csw/include/glib-1.2 -I/opt/csw/lib/glib/include GTK_CONFIG = /opt/csw/bin/gtk-config GTK_LIBS = -L/opt/csw/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lsocket -lnsl -lm HAVE_NASM_FALSE = HAVE_NASM_TRUE = # INCLUDES = -I$(top_srcdir)/include -I$(srcdir) INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s LDADD = LDFLAGS = LIBOBJS = LIBS = -lsocket -lnsl LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL_DEPS = ./ltmain.sh LIB_MAJOR_VERSION = 0 LIB_MINOR_VERSION = 0 LIB_WITH_DECODER_FALSE = # LIB_WITH_DECODER_TRUE = LN_S = ln -s LTLIBOBJS = MAINT = # MAINTAINER_MODE_FALSE = MAINTAINER_MODE_TRUE = # MAKEDEP = -M MAKEINFO = ${SHELL} /home/shake/lame-3.96.1/missing --run makeinfo NASM = no NASM_FORMAT = -f elf OBJEXT = o PACKAGE = lame PACKAGE_BUGREPORT = PACKAGE_NAME = PACKAGE_STRING = PACKAGE_TARNAME = PACKAGE_VERSION = PATH_SEPARATOR = : RANLIB = ranlib RM_F = rm -f SET_MAKE = SHELL = /bin/bash STRIP = strip U = VERSION = 3.96.1 WITH_BRHIST_FALSE = # WITH_BRHIST_TRUE = WITH_FRONTEND = lame WITH_MP3RTP = WITH_MP3X = ac_ct_AR = ar ac_ct_CC = gcc ac_ct_CXX = g++ ac_ct_F77 = g77 ac_ct_RANLIB = ranlib ac_ct_STRIP = strip am__fastdepCC_FALSE = # am__fastdepCC_TRUE = am__fastdepCXX_FALSE = # am__fastdepCXX_TRUE = am__include = include am__leading_dot = . am__quote = bindir = ${exec_prefix}/bin build = sparc-sun-solaris2.11 build_alias = build_cpu = sparc build_os = solaris2.11 build_vendor = sun datadir = ${prefix}/share exec_prefix = ${prefix} host = sparc-sun-solaris2.11 host_alias = host_cpu = sparc host_os = solaris2.11 host_vendor = sun includedir = ${prefix}/include infodir = ${prefix}/info install_sh = /home/shake/lame-3.96.1/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localstatedir = ${prefix}/var mandir = ${prefix}/man oldincludedir = /usr/include prefix = /usr/local program_transform_name = s,x,x, sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com sysconfdir = ${prefix}/etc target_alias = AUTOMAKE_OPTIONS = 1.5 foreign $(top_srcdir)/ansi2knr SUBDIRS = mpglib libmp3lame frontend Dll debian doc include misc dshow ACM mac CLEANFILES = testcase.new.mp3 EXTRA_DIST = \ API \ DEFINES \ HACKING \ INSTALL.configure \ LICENSE \ Makefile.MSVC \ Makefile.unix \ Makefile.am.global \ README.WINGTK \ STYLEGUIDE \ USAGE \ configMS.h \ lame.bat \ lame.spec.in \ lame.spec \ lame_projects_vc6.dsp \ lame_vc6.dsw \ testcase.mp3 \ testcase.wav subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = lame.spec DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ ps-recursive install-info-recursive uninstall-info-recursive \ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive DIST_COMMON = README $(top_srcdir)/Makefile.am.global COPYING ChangeLog \ INSTALL Makefile.am Makefile.in TODO acinclude.m4 aclocal.m4 \ config.guess config.h.in config.sub configure configure.in \ depcomp install-sh lame.spec.in ltconfig ltmain.sh missing \ mkinstalldirs DIST_SUBDIRS = $(SUBDIRS) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno $(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/Makefile.am.global $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile Makefile: # $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(srcdir)/configure: # $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): # configure.in acinclude.m4 cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: # $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOHEADER) touch $(srcdir)/config.h.in distclean-hdr: -rm -f config.h stamp-h1 lame.spec: $(top_builddir)/config.status lame.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ETAGS = etags ETAGSFLAGS = CTAGS = ctags CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if (etags --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ else \ include_option=--include; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = . distdir = $(PACKAGE)-$(VERSION) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print distdir: $(DISTFILES) $(am__remove_distdir) mkdir $(distdir) $(mkinstalldirs) $(distdir)/. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ done -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist dist-all: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist $(am__remove_distdir) GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ && rm -f $(distdir).tar.gz \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @echo "$(distdir).tar.gz is ready for distribution" | \ sed 'h;s/./=/g;p;x;p;x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \ distclean-tags dvi: dvi-recursive dvi-am: info: info-recursive info-am: install-data-am: install-exec-am: install-info: install-info-recursive install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf autom4te.cache maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ clean-generic clean-libtool clean-recursive ctags \ ctags-recursive dist dist-all dist-gzip distcheck distclean \ distclean-generic distclean-hdr distclean-libtool \ distclean-recursive distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am dvi-recursive info info-am \ info-recursive install install-am install-data install-data-am \ install-data-recursive install-exec install-exec-am \ install-exec-recursive install-info install-info-am \ install-info-recursive install-man install-recursive \ install-strip installcheck installcheck-am installdirs \ installdirs-am installdirs-recursive maintainer-clean \ maintainer-clean-generic maintainer-clean-recursive mostlyclean \ mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ tags-recursive uninstall uninstall-am uninstall-info-am \ uninstall-info-recursive uninstall-recursive # end global section .PHONY: test # # The differences depend on the used processor architecture, the used # compiler and the used options for the compiler, so make test may # show some differences. You should only be concerned if you are a # LAME developer and the number of differences change after you # modified the source. # testcase.new.mp3: testcase.wav frontend/lame$(EXEEXT) time frontend/lame$(EXEEXT) --nores $(top_srcdir)/testcase.wav testcase.new.mp3 || $(RM_F) testcase.new.mp3 test: testcase.mp3 testcase.new.mp3 cmp -l testcase.new.mp3 $(top_srcdir)/testcase.mp3 | wc -l testupdate: testcase.mp3 testcase.new.mp3 cp testcase.new.mp3 testcase.mp3 testg: frontend/mp3x$(EXEEXT) $(top_srcdir)/../test/castanets.wav frontend/mp3x$(EXEEXT) -h $(top_srcdir)/../test/castanets.wav update: cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 -q update -dAP || true diff: cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 diff -u || true frontend/lame$(EXEEXT): $(MAKE) $(MAKEFLAGS) frontend/mp3x$(EXEEXT): frontend/lame$(EXEEXT) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c7f000081a4000000020000000200000001404bb6570000326d000000200000000800000000000000000000001400000000reloc/Makefile.MSVC# Makefile.MSVC: MSVC Makefile for LAME # # 2000-11-21 Robert Hegemann # dedicated to the LAME project http://www.mp3dev.org ############################################################################### #__ readme ____________________________________________________________________ # nmake -f Makefile.MSVC # -> build lame and dll, but not mp3x # -> use Robert's code modifications # -> assume INTEL compiler available # -> assume NASM available # -> assemble MMX code with NASM # -> optimize for PIII # -> single file optimizations # -> no compiler warnings # # passing arguments, one can modify the default behaviour: # COMP= -> use MS compiler # WARN= -> give verbose compiler warnings # ASM= -> no NASM nor MMX # MMX= -> do not assemble MMX code # CFG= -> disable Robert's modifications # CPU=P1 -> optimize for Pentium instead of P II/III # CPU=P2 -> optimize for Pentium II/III, you need a PII or better # CPU=P3 -> optimize for Pentium III, you need a PIII or better # GTK=YES -> have GTK, adds mp3x to default targets # PREC=SLOPPY -> use single float instead of double # # Example: # nmake -f Makefile.MSVC CPU=P1 GTK=YES #____________________________________________________________________ readme __ # targets <-> DOS filenames T_LAME = lame.exe T_LDLL = lame_enc.dll T_MP3X = mp3x.exe # default targets PGM = $(T_LDLL) $(T_LAME) # some default settings ! IF "$(COMP)" == "" COMP = INTEL ! ENDIF ! IF "$(ASM)" == "" ASM = YES ! ENDIF ! IF "$(MMX)" == "" MMX = YES ! ENDIF ! IF "$(CFG)" == "NO-ALTERNATE-CODE-AVAILABLE" CFG = RH ! ENDIF ! IF "$(CPU)" == "" CPU = P2auto ! ENDIF ! IF "$(WARN)" == "" WARN = OFF ! ENDIF ! IF "$(PREC)" == "" PREC = DOUBLE ! ENDIF OFF = win32 ! MESSAGE ---------------------------------------------------------------------- ! MESSAGE building LAME featuring $(CFG) ! IF "$(ASM)" == "YES" ! MESSAGE + ASM ! IF "$(MMX)" == "YES" ! MESSAGE + MMX ! ENDIF ! ENDIF ! IF "$(GTK)" == "YES" ! MESSAGE + GTK ! ENDIF ! IF "$(COMP)" == "INTEL" ! MESSAGE using INTEL COMPILER ! IF "$(CPU)" == "P1" ! MESSAGE + optimizing for Pentium (MMX) ! ELSE ! IF "$(CPU)" == "P2" ! MESSAGE + you need a Pentium II or better ! ELSE ! IF "$(CPU)" == "P3" ! MESSAGE + you need a Pentium III or better ! ELSE ! MESSAGE + otimizing for Pentium II/III ! ENDIF ! ENDIF ! ENDIF ! ELSE ! MESSAGE using MS COMPILER ! IF "$(CPU)" == "P1" ! MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent) ! ELSE ! MESSAGE + optimizing for Pentium II/III ! ENDIF ! ENDIF ! MESSAGE ---------------------------------------------------------------------- ! IF "$(COMP)" != "INTEL" ! IF "$(COMP)" != "BCC" #__ Microsoft C options _______________________________________________________ # # /O2 maximize speed # /Ob inline expansion # /Og enable global optimizations # /Oi enable intrinsic functions # /Ot favor code speed # /Oy enable frame pointer omission # /G5 Pentium optimization # /G6 Pentium II/III optimization # /GA optimize for Windows Application # /GF enable read-only string pooling # /Gf enable string spooling # /Gs disable stack checking calls # /Gy separate functions for linker # /QIfdiv generate code for Pentium FDIV fix # /QI0f generate code for Pentium 0x0f erratum fix # # remarks: # - aliasing options seem to break code # - try to get the Intel compiler demonstration code! # ICL produces faster code. # debugging options # CC_OPTS = /nologo /Zi /Ge /GZ # LN_OPTS = /nologo /debug:full /debugtype:cv /fixed:no # profiling options # CC_OPTS = /nologo /Zi /O2b2gity /G6As /DNDEBUG # LN_OPTS = /nologo /debug:full /debugtype:cv /fixed:no /profile # release options CC_OPTS = /nologo /DNDEBUG /O2 /Ob2 /GAy /Gs1024 /QIfdiv /QI0f /YX LN_OPTS = /nologo /DNDEBUG ! IF "$(CPU)" == "P1" CC_OPTS = $(CC_OPTS) /G5 ! ELSE CC_OPTS = $(CC_OPTS) /G6 ! ENDIF ! IF "$(WARN)" == "OFF" CC_OPTS = $(CC_OPTS) /w ! ELSE CC_OPTS = $(CC_OPTS) /W2 ! ENDIF ! IF "$(PREC)" == "SINGLE" CC_OPTS = $(CC_OPTS) /DFLOAT8=float /DREAL_IS_FLOAT=1 ! ENDIF LN_DLL = /LD LN_OUT = /Fe CC_OUT = /Fo CC = cl LN = cl #_______________________________________________________ Microsoft C options __ ! ELSE #__ Borland BCC options _______________________________________________________ # # first draft, DLL not working, generates very slow code! BCCINST = C:/Borland/BCC55 CC_OPTS = -pc -q -ff -fp -jb -j1 -tWC -tWM -O2 -OS -I$(BCCINST)/include -DNDEBUG -DWIN32 # dll >> -tWD LN_OPTS = -lGn -lGi -lap -lx -L$(BCCINST)/lib # dll >> -Tpd ! IF "$(CPU)" == "P1" CC_OPTS = $(CC_OPTS) -5 ! ELSE CC_OPTS = $(CC_OPTS) -6 ! ENDIF ! IF "$(WARN)" == "OFF" CC_OPTS = $(CC_OPTS) -w- ! ELSE CC_OPTS = $(CC_OPTS) ! ENDIF LN_DLL = #$(CCINST)/lib/cw32R.lib LN_OUT = -e CC_OUT = -o CC = bcc32 LN = bcc32 OFF = obj PGM = $(T_LAME) ! ENDIF #_______________________________________________________ Borland BCC options __ ! ELSE #__ Intel 4.5 options _________________________________________________________ # # /YX enable automatic precompiled header file creation/usage # /Ox maximum optimization same as /O2 without /Gfy # /O2 same as /Gfsy /Ob1gyti # /Gd 1) make cdecl the default calling convention # /G5 2) optimized for Pentium # /G6 3) optimized for Pentium II/III # /GA assume single threaded # /Gs[n] disable stack checks for functions with /dev/null 2>&1; then \ include_option=--etags-include; \ else \ include_option=--include; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = . distdir = $(PACKAGE)-$(VERSION) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print distdir: $(DISTFILES) $(am__remove_distdir) mkdir $(distdir) $(mkinstalldirs) $(distdir)/. @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ done -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist dist-all: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist $(am__remove_distdir) GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ && rm -f $(distdir).tar.gz \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @echo "$(distdir).tar.gz is ready for distribution" | \ sed 'h;s/./=/g;p;x;p;x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \ distclean-tags dvi: dvi-recursive dvi-am: info: info-recursive info-am: install-data-am: install-exec-am: install-info: install-info-recursive install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf autom4te.cache maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ clean-generic clean-libtool clean-recursive ctags \ ctags-recursive dist dist-all dist-gzip distcheck distclean \ distclean-generic distclean-hdr distclean-libtool \ distclean-recursive distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am dvi-recursive info info-am \ info-recursive install install-am install-data install-data-am \ install-data-recursive install-exec install-exec-am \ install-exec-recursive install-info install-info-am \ install-info-recursive install-man install-recursive \ install-strip installcheck installcheck-am installdirs \ installdirs-am installdirs-recursive maintainer-clean \ maintainer-clean-generic maintainer-clean-recursive mostlyclean \ mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ tags-recursive uninstall uninstall-am uninstall-info-am \ uninstall-info-recursive uninstall-recursive # end global section .PHONY: test # # The differences depend on the used processor architecture, the used # compiler and the used options for the compiler, so make test may # show some differences. You should only be concerned if you are a # LAME developer and the number of differences change after you # modified the source. # testcase.new.mp3: testcase.wav frontend/lame$(EXEEXT) time frontend/lame$(EXEEXT) --nores $(top_srcdir)/testcase.wav testcase.new.mp3 || $(RM_F) testcase.new.mp3 test: testcase.mp3 testcase.new.mp3 cmp -l testcase.new.mp3 $(top_srcdir)/testcase.mp3 | wc -l testupdate: testcase.mp3 testcase.new.mp3 cp testcase.new.mp3 testcase.mp3 testg: frontend/mp3x$(EXEEXT) $(top_srcdir)/../test/castanets.wav frontend/mp3x$(EXEEXT) -h $(top_srcdir)/../test/castanets.wav update: cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 -q update -dAP || true diff: cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 diff -u || true frontend/lame$(EXEEXT): $(MAKE) $(MAKEFLAGS) frontend/mp3x$(EXEEXT): frontend/lame$(EXEEXT) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 07070100069c83000081a400000002000000020000000140dd9c5d000049c3000000200000000800000000000000000000001400000000reloc/Makefile.unix# Makefile for LAME 3.xx # # LAME is reported to work under: # Linux (i86), NetBSD 1.3.2 (StrongARM), FreeBSD (i86) # Compaq Alpha(OSF, Linux, Tru64 Unix), Sun Solaris, SGI IRIX, # OS2 Warp, Macintosh PPC, BeOS, Amiga and even VC++ # # these variables are available on command line: # # make UNAME=xxxxx ARCH=xxxxx - specify a type of host # make PGM=lame_exp - specify a name of an executable file # # if you have mingw32-gcc, try: # make -fMakefile.unix UNAME=MSDOS # or if you get the error # "process_begin: CreateProcess((null), copy configMS.h config.h, ...)": # make -fMakefile.unix UNAME=MSDOS NOUNIXCMD=NO # or if you have NASM: # make -fMakefile.unix UNAME=MSDOS HAVE_NASM=YES # ifeq ($(UNAME),MSDOS) UNAME ?= UNKNOWN ARCH = x86 NOUNIXCMD = YES else UNAME = $(shell uname) ARCH = $(shell uname -m) iARCH = $(patsubst i%86,x86,$(ARCH)) endif HAVE_NASM = NO HAVE_NEWER_GLIBC = NO # generic defaults. OS specific options go in versious sections below PGM = lame CC = gcc CC_OPTS = -O CPP_OPTS = -Iinclude -Impglib -Ifrontend -Ilibmp3lame AR = ar RANLIB = ranlib GTK = GTKLIBS = LIBSNDFILE = LIBS = -lm MP3LIB = libmp3lame/libmp3lame.a MP3LIB_SHARED = libmp3lame/libmp3lame.so MAKEDEP = -M BRHIST_SWITCH = LIBTERMCAP = RM = rm -f CPP_OPTS += -DHAVE_CONFIG_H -I. ########################################################################## # -DHAVEMPGLIB compiles the mpglib *decoding* library into libmp3lame ########################################################################## CPP_OPTS += -DHAVE_MPGLIB ########################################################################## # -DUSE_LAYER_1/2 enables Layer1 or Layer2 *decoding* abilities ########################################################################## CPP_OPTS += -DUSE_LAYER_1 -DUSE_LAYER_2 ########################################################################## # -DTAKEHIRO_IEEE754_HACK enables Takehiro's IEEE hack ########################################################################## ifeq ($(iARCH),x86) CPP_OPTS += -DTAKEHIRO_IEEE754_HACK endif ########################################################################## # Define these in the OS specific sections below to compile in code # for the optional VBR bitrate histogram. # Requires ncurses, but libtermcap also works. # If you have any trouble, just dont define these # # BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_{NCURSES_}TERMCAP_H # LIBTERMCAP = -lncurses # LIBTERMCAP = -ltermcap # # or, to try and simulate TERMCAP (ANSI), use: # BRHIST_SWITCH = -DBRHIST # ########################################################################## ########################################################################## # Define these in the OS specific sections below to compile in code for: # # SNDLIB = -DLIBSNDFILE to use Erik de Castro Lopo's libsndfile # http://www.zip.com.au/~erikd/libsndfile/ instead of LAME's internal # routines. Also set: # # LIBSNDFILE = -lsndfile # or # LIBSNDFILE = -L/location_of_libsndfile -lsndfile # ########################################################################## ########################################################################## # Define these in the OS specific sections below to compile in code for # the GTK mp3 frame analyzer # # Requires -DHAVE_MPGLIB # # GTK = -DHAVE_GTK `gtk-config --cflags` # GTKLIBS = `gtk-config --libs` # ########################################################################## ########################################################################## # LINUX ########################################################################## ifeq ($(UNAME),Linux) # remove these lines if you dont have GTK, or dont want the GTK frame analyzer GTK = -DHAVE_GTK `gtk-config --cflags` GTKLIBS = `gtk-config --libs` # Comment out next 2 lines if you want to remove VBR histogram capability BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_TERMCAP_H LIBTERMCAP = -lncurses # uncomment to use LIBSNDFILE # SNDLIB = -DLIBSNDFILE # LIBSNDFILE=-lsndfile # suggested for gcc-2.7.x # CC_OPTS = -O3 -fomit-frame-pointer -funroll-loops -ffast-math -finline-functions -Wall -pedantic # CC_OPTS = -O9 -fomit-frame-pointer -fno-strength-reduce -mpentiumpro -ffast-math -finline-functions -funroll-loops -Wall -malign-double -g -march=pentiumpro -mfancy-math-387 -pipe -pedantic # for debugging: CC_OPTS = -UNDEBUG -O -Wall -pedantic -ggdb -DABORTFP # for lots of debugging: # CC_OPTS = -DDEBUG -UNDEBUG -O -Wall -pedantic -g -DABORTFP ifeq ($(CFG),RH) ifeq ($(PREC),SINGLE) CPP_OPTS += -DFLOAT8=float -DREAL_IS_FLOAT=1 endif # these options for gcc-2.95.2 to produce fast code # CC_OPTS = \ # -Wall -O9 -fomit-frame-pointer -march=pentiumpro \ # -finline-functions -fexpensive-optimizations \ # -funroll-loops -funroll-all-loops -pipe -fschedule-insns2 \ # -fstrength-reduce \ # -malign-double -mfancy-math-387 -ffast-math # these options for gcc-3.2 & AthlonXP CC_OPTS = \ -Wall -ansic99 -pipe -O9 \ -march=athlon-xp \ -malign-double \ -finline-functions \ -fstrength-reduce \ -fexpensive-optimizations \ -fomit-frame-pointer \ -ftracer \ -maccumulate-outgoing-args -fschedule-insns2 # -pg HAVE_NEWER_GLIBC = YES HAVE_NASM = YES endif ifeq ($(CFG),PFK) CPP_OPTS += -DKLEMM -DKLEMM_00 -DKLEMM_01 -DKLEMM_02 -DKLEMM_03 -DKLEMM_04 -DKLEMM_05 -DKLEMM_06 -DKLEMM_07 -DKLEMM_08 -DKLEMM_09 -DKLEMM_10 -DKLEMM_11 -DKLEMM_12 -DKLEMM_13 -DKLEMM_14 -DKLEMM_15 -DKLEMM_16 -DKLEMM_17 -DKLEMM_18 -DKLEMM_19 -DKLEMM_20 -DKLEMM_21 -DKLEMM_22 -DKLEMM_23 -DKLEMM_24 -DKLEMM_25 -DKLEMM_26 -DKLEMM_27 -DKLEMM_28 -DKLEMM_29 -DKLEMM_30 -DKLEMM_31 -DKLEMM_32 -DKLEMM_33 -DKLEMM_34 -DKLEMM_35 -DKLEMM_36 -DKLEMM_37 -DKLEMM_38 -DKLEMM_39 -DKLEMM_40 -DKLEMM_41 -DKLEMM_42 -DKLEMM_43 -DKLEMM_44 -DKLEMM_45 -DKLEMM_46 -DKLEMM_47 -DKLEMM_48 -DKLEMM_49 -DKLEMM_50 CC_OPTS = \ -Wall -O9 -fomit-frame-pointer -march=pentium \ -finline-functions -fexpensive-optimizations \ -funroll-loops -funroll-all-loops -pipe -fschedule-insns2 \ -fstrength-reduce \ -malign-double -mfancy-math-387 -ffast-math HAVE_NEWER_GLIBC = YES HAVE_NASM = YES endif ########################################################################## # LINUX on Digital/Compaq Alpha CPUs ########################################################################## ifeq ($(ARCH),alpha) ################################################################ #### Check if 'ccc' is in our path #### if not, use 'gcc' ################################################################ ifeq ($(shell which ccc 2>/dev/null | grep -c ccc),0) # double is faster than float on Alpha CC_OPTS = -O4 -pedantic -Wall -fomit-frame-pointer -ffast-math -funroll-loops \ -mfp-regs -fschedule-insns -fschedule-insns2 \ -finline-functions \ # -DFLOAT=double # add "-mcpu=21164a -Wa,-m21164a" to optimize for 21164a (ev56) CPU ################################################################ #### else, use 'ccc' ################################################################ else # Compaq's C Compiler CC = ccc ################################################################ #### set 'CC_OPTS = -arch host -tune host' to generate/tune instructions for this machine #### 'CC_OPTS += -migrate -fast -inline speed -unroll 0' tweak to run as fast as possible :) #### 'CC_OPTS += -w0 -pedantic -Wall' set warning and linking flags ################################################################ CC_OPTS = -arch host -tune host CC_OPTS += -migrate -fast -inline speed -unroll 0 CC_OPTS += -w0 -pedantic -Wall ################################################################ #### to debug, uncomment ################################################################ # For Debugging #CC_OPTS += -g3 ################################################################ #### define __DECALPHA__ (i was getting re-declaration warnings #### in machine.h ################################################################ # Define DEC Alpha CPP_OPTS += -D__DECALPHA__ # standard Linux libm #LIBS = -lm # optimized libffm (free fast math library) #LIBS = -lffm # Compaq's fast math library LIBS = -lcpml endif # gcc or ccc? endif # alpha endif # linux ########################################################################## # FreeBSD ########################################################################## ifeq ($(UNAME),FreeBSD) # remove if you do not have GTK or do not want the GTK frame analyzer GTK = -DHAVE_GTK `gtk12-config --cflags` GTKLIBS = `gtk12-config --libs` # Comment out next 2 lines if you want to remove VBR histogram capability BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_TERMCAP_H LIBTERMCAP = -lncurses endif ########################################################################## # OpenBSD ########################################################################## ifeq ($(UNAME),OpenBSD) # remove if you do not have GTK or do not want the GTK frame analyzer GTK = -DHAVE_GTK `gtk-config --cflags` GTKLIBS = `gtk-config --libs` # Comment out next 2 lines if you want to remove VBR histogram capability BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_TERMCAP_H LIBTERMCAP = -lcurses endif ########################################################################## # SunOS ########################################################################## ifeq ($(UNAME),SunOS) CC = cc CC_OPTS = -O -xCC MAKEDEP = -xM # for gcc, use instead: # CC = gcc # CC_OPTS = -O # MAKEDEP = -M endif ########################################################################## # SGI ########################################################################## ifeq ($(UNAME),IRIX64) CC = cc CC_OPTS = -O3 -woff all #optonal: # GTK = -DHAVE_GTK `gtk-config --cflags` # GTKLIBS = `gtk-config --libs` # BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_TERMCAP_H # LIBTERMCAP = -lncurses endif ifeq ($(UNAME),IRIX) CC = cc CC_OPTS = -O3 -woff all endif ########################################################################## # Compaq Alpha running Dec Unix (OSF) ########################################################################## ifeq ($(UNAME),OSF1) CC = cc CC_OPTS = -fast -O3 -std -g3 -non_shared endif ########################################################################## # BeOS ########################################################################## ifeq ($(UNAME),BeOS) CC = $(BE_C_COMPILER) LIBS = ifeq ($(ARCH),BePC) CC_OPTS = -O9 -fomit-frame-pointer -march=pentium \ -mcpu=pentium -ffast-math -funroll-loops \ -fprofile-arcs -fbranch-probabilities else CC_OPTS = -opt all MAKEDEP = -make endif endif ########################################################################### # MOSXS (Rhapsody PPC) ########################################################################### ifeq ($(UNAME),Rhapsody) CC = cc LIBS = CC_OPTS = -O9 -ffast-math -funroll-loops -fomit-frame-pointer MAKEDEP = -make endif ########################################################################## # OS/2 ########################################################################## # Properly installed EMX runtime & development package is a prerequisite. # tools I used: make 3.76.1, uname 1.12, sed 2.05, PD-ksh 5.2.13 # ########################################################################## ifeq ($(UNAME),OS/2) SHELL=sh CC = gcc CC_OPTS = -O3 -D__OS2__ PGM = lame.exe LIBS = RANLIB = touch # I use the following for slightly better performance on my Pentium-II # using pgcc-2.91.66: # CC_OPTS = -O6 -ffast-math -funroll-loops -mpentiumpro -march=pentiumpro -D__OS2__ # for the unfortunates with a regular pentium (using pgcc): # CC_OPTS = -O6 -ffast-math -funroll-loops -mpentium -march=pentium -D__OS2__ # Comment out next 2 lines if you want to remove VBR histogram capability BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_{NCURSES_}TERMCAP_H LIBTERMCAP = -lncurses # Uncomment & inspect the 2 GTK lines to use MP3x GTK frame analyzer. # Properly installed XFree86/devlibs & GTK+ is a prerequisite. # The following works for me using Xfree86/OS2 3.3.5 and GTK+ 1.2.3: # GTK = -DHAVE_GTK -IC:/XFree86/include/gtk12 -Zmt -D__ST_MT_ERRNO__ -IC:/XFree86/include/glib12 -IC:/XFree86/include # GTKLIBS = -LC:/XFree86/lib -Zmtd -Zsysv-signals -Zbin-files -lgtk12 -lgdk12 -lgmodule -lglib12 -lXext -lX11 -lshm -lbsd -lsocket -lm endif ########################################################################### # MSDOS/Windows ########################################################################### ifeq ($(UNAME),MSDOS) RM = CC_OPTS = \ -Wall -pipe -O3 -fomit-frame-pointer -ffast-math -funroll-loops \ -fschedule-insns2 -fmove-all-movables -freduce-all-givs \ -mcpu=pentium -march=pentium -mfancy-math-387 CC_OPTS += -D_cdecl=__cdecl PGM = lame.exe endif ########################################################################### # AmigaOS ########################################################################### # Type 'Make ARCH=PPC' for PowerUP and 'Make ARCH=WOS' for WarpOS # ########################################################################### ifeq ($(UNAME),AmigaOS) CC = gcc -noixemul CC_OPTS = -O3 -ffast-math -funroll-loops -m68020-60 -m68881 BRHIST_SWITCH = -DBRHIST MAKEDEP = -MM ifeq ($(ARCH),WOS) CC = ppc-amigaos-gcc -warpup CC_OPTS = -O3 -ffast-math -fomit-frame-pointer -funroll-loops \ -mmultiple -mcpu=603e AR = ppc-amigaos-ar RANLIB = ppc-amigaos-ranlib LIBS = endif ifeq ($(ARCH),PPC) CC = ppc-amigaos-gcc CC_OPTS = -O3 -ffast-math -fomit-frame-pointer -funroll-loops \ -mmultiple -mcpu=603e AR = ppc-amigaos-ar RANLIB = ppc-amigaos-ranlib LIBS = endif endif # 10/99 added -D__NO_MATH_INLINES to fix a bug in *all* versions of # gcc 2.8+ as of 10/99. ifeq ($(HAVE_NEWER_GLIBC),YES) CC_SWITCHES = else CC_SWITCHES = -D__NO_MATH_INLINES # only needed by some older glibc endif CC_SWITCHES += -DNDEBUG $(CC_OPTS) $(SNDLIB) $(GTK) $(BRHIST_SWITCH) frontend_sources = \ frontend/amiga_mpega.c \ frontend/brhist.c \ frontend/get_audio.c \ frontend/lametime.c \ frontend/parse.c \ frontend/portableio.c \ frontend/timestatus.c lib_sources = \ libmp3lame/bitstream.c \ libmp3lame/encoder.c \ libmp3lame/fft.c \ libmp3lame/gain_analysis.c \ libmp3lame/id3tag.c \ libmp3lame/lame.c \ libmp3lame/newmdct.c \ libmp3lame/psymodel.c \ libmp3lame/quantize.c \ libmp3lame/quantize_pvt.c \ libmp3lame/set_get.c \ libmp3lame/vbrquantize.c \ libmp3lame/reservoir.c \ libmp3lame/tables.c \ libmp3lame/takehiro.c \ libmp3lame/util.c \ libmp3lame/mpglib_interface.c \ libmp3lame/VbrTag.c \ libmp3lame/version.c \ libmp3lame/presets.c \ mpglib/common.c \ mpglib/dct64_i386.c \ mpglib/decode_i386.c \ mpglib/layer1.c \ mpglib/layer2.c \ mpglib/layer3.c \ mpglib/tabinit.c \ mpglib/interface.c #ifeq ($(UNAME),MSDOS) # frontend_sources := $(subst /,\,$(frontend_sources)) # lib_sources := $(subst /,\,$(lib_sources)) #endif frontend_obj = $(frontend_sources:.c=.o) lib_obj = $(lib_sources:.c=.o) DEP = $(frontend_sources:.c=.d) $(lib_sources:.c=.d ) gtk_sources = frontend/gtkanal.c frontend/gpkplotting.c gtk_obj = $(gtk_sources:.c=.o) gtk_dep = $(gtk_sources:.c=.d) NASM = nasm ASFLAGS=-f elf -i libmp3lame/i386/ # for people with nasmw ifeq ($(UNAME),MSDOS) NASM = nasmw ASFLAGS=-f win32 -DWIN32 -i libmp3lame/i386/ endif %.o: %.nas $(NASM) $(ASFLAGS) $< -o $@ %.o: %.s gcc -c $< -o $@ #HAVE_NASM = YES ifeq ($(HAVE_NASM),YES) ## have NASM CC_SWITCHES += -DHAVE_NASM lib_obj += libmp3lame/i386/cpu_feat.o ## use MMX extension. you need nasm and MMX supported CPU. CC_SWITCHES += -DMMX_choose_table lib_obj += libmp3lame/i386/choose_table.o ## use 3DNow! extension. you need nasm and 3DNow! supported CPU. lib_obj += libmp3lame/i386/fft3dn.o ## not yet coded #CC_SWITCHES += -DUSE_FFTSSE lib_obj += libmp3lame/i386/fftsse.o ## not yet coded #CC_SWITCHES += -DUSE_FFTFPU lib_obj += libmp3lame/i386/fftfpu.o endif %.o: %.c $(CC) $(CPP_OPTS) $(CC_SWITCHES) -c $< -o $@ %.d: %.c ifeq ($(NOUNIXCMD),YES) $(CC) $(MAKEDEP) $(CPP_OPTS) $(CC_SWITCHES) $< > $@ else $(SHELL) -ec '$(CC) $(MAKEDEP) $(CPP_OPTS) $(CC_SWITCHES) $< | sed '\''s;$*.o;& $@;g'\'' > $@' endif all: frontend/$(PGM) $(lib_sources) $(frontend_sources) $(gtk_sources) : config.h config.h: configMS.h ifeq ($(NOUNIXCMD),YES) copy configMS.h config.h else cp configMS.h config.h endif frontend/$(PGM): frontend/main.o $(frontend_obj) $(MP3LIB) $(CC) $(CC_OPTS) -o frontend/$(PGM) frontend/main.o $(frontend_obj) \ $(MP3LIB) $(LIBS) $(LIBSNDFILE) $(LIBTERMCAP) mp3x: frontend/mp3x.o $(frontend_obj) $(gtk_obj) $(MP3LIB) $(CC) $(CC_OPTS) -o frontend/mp3x frontend/mp3x.o $(frontend_obj) $(gtk_obj) $(MP3LIB) \ $(LIBS) $(LIBSNDFILE) $(GTKLIBS) $(LIBTERMCAP) mp3rtp: frontend/rtp.o frontend/mp3rtp.o $(frontend_obj) $(MP3LIB) $(CC) $(CC_OPTS) -o frontend/mp3rtp frontend/mp3rtp.o frontend/rtp.o $(frontend_obj) $(MP3LIB) \ $(LIBS) $(LIBSNDFILE) $(LIBTERMCAP) libmp3lame/libmp3lame.a: $(lib_obj) $(AR) cr libmp3lame/libmp3lame.a $(lib_obj) $(RANLIB) libmp3lame/libmp3lame.a #shared library. GNU specific? libmp3lame/libmp3lame.so: $(lib_obj) gcc -shared -Wl,-soname,libmp3lame/libmp3lame.so -o libmp3lame/libmp3lame.so $(lib_obj) install: frontend/$(PGM) #libmp3lame.a cp frontend/$(PGM) /usr/bin #cp libmp3lame.a /usr/lib #cp lame.h /usr/lib clean: ifeq ($(UNAME),MSDOS) -del $(subst /,\,$(frontend_obj)) -del $(subst /,\,$(lib_obj)) -del $(subst /,\,$(gtk_obj)) -del $(subst /,\,$(DEP)) -del frontend\$(PGM) -del frontend\main.o -del libmp3lame\libmp3lame.a else -$(RM) $(gtk_obj) $(frontend_obj) $(lib_obj) $(DEP) frontend/$(PGM) \ frontend/main.o frontend/lame libmp3lame/libmp3lame.a \ frontend/mp3x.o frontend/mp3x endif tags: TAGS TAGS: ${c_sources} etags -T ${c_sources} ifneq ($(MAKECMDGOALS),clean) -include $(DEP) endif # # testcase.mp3 is a 2926 byte file. The first number output by # wc is the number of bytes which differ between new output # and 'official' results. # # Because of compilier options and effects of roundoff, the # number of bytes which are different may not be zero, but # should be at most 30. # test: frontend/$(PGM) frontend/$(PGM) --nores -h testcase.wav testcase.new.mp3 cmp -l testcase.new.mp3 testcase.mp3 | wc -l testg: frontend/$(PGM) frontend/$(PGM) -g -h ../test/castanets.wav 07070100069c84000081a40000000200000002000000013c495e0600000709000000200000000800000000000000000000000d00000000reloc/README LAME 3.xx LAME Ain't an MP3 Encoder http://www.mp3dev.org March 2001 Originally developed by Mike Cheng (www.uq.net.au/~zzmcheng). Now maintained by Mark Taylor (www.mp3dev.org). This code is distributed under the GNU LESSER PUBLIC LICENSE (LGPL, see www.gnu.org) with the following modification: 1. If you determine that distribution of LAME requires a patent license, and you obtain a patent license, you may distribute LAME even though redistribution of LAME may also require a patent license. 2. You agree not to enforce any patent claims for any aspect of MPEG audio compression, or any other techniques contained in the LAME source code. ============================================================================ see the file "INSTALL" for installation (compiling) instructions. see the file "USAGE" for the most up-to-date guide to the command line options. see the file "LICENSE" for details on how to use LAME in non-GPL programs. see the file "HACKING" if you are interested in working on LAME see the file "API" for details of the LAME encoding library API There is HTML documentation and a man page in the doc directory. The HTML docs were contributed by Gabriel Bouvigne (www.mp3-tech.org). See www.mp3-tech.org for more audio compression information and links. ============================================================================ LAME uses the MPGLIB decoding engine, from the MPG123 package, written by: Michael Hipp (www.mpg123.de) MPGLIB is released under the GPL. Copyrights (c) 1999,2000,2001 by Mark Taylor Copyrights (c) 1998 by Michael Cheng Copyrights (c) 1995,1996,1997 by Michael Hipp: mpglib As well as additional copyrights as documented in the source code. 07070100069c85000081a40000000200000002000000013ffc435300000850000000200000000800000000000000000000001400000000reloc/README.WINGTK Installation notes on MP3X (the LAME frame analyzer) for WIN32 =========================================================================== Document History: =========================================================================== Initial version by Albert Faber, March 30, 2000 Update by Albert Faber (Sept 07 2000), changed instrcutions to compile with latest glib/gtk libraries. Update by Albert Faber (Sept 07 2000), changed instrcutions to compile with latest glib/gtk libraries. Update by Albert Faber (Oct 20 2000), small adaptions to be conform the new lame directory structure. Update by Gabriel Bouvigne (Jan 07 2004), changes to be conform to the VC6 worspace structure. =========================================================================== How to compile the MP3 frame analyzer (MP3x): =========================================================================== You first need to get hold of the latest GTK and GLIB include files and lib files. You can download them freely from the WINGTK project WEB site. (see http://www.gtk.org, and click on the WINGTK link.) Download: glib-dev-VERSION.zip, gtk+-dev-VERSION.zip and extralibs-dev-VERSION.zip where VERSION indicates the release data, so it will look something like 20000805 unzip all three zip files in a WinGTK subdirectory, which is created from the lame analyzer directory (for example, D:\CVS\lame\WinGtk) You will end up with the following directory tree D:\CVS\lame\analyzer\WinGtk\src\glib D:\CVS\lame\analyzer\WinGtk\src\gtk+\glib D:\CVS\lame\analyzer\WinGtk\src\gtk+ Set Mp3x as your current active project, recompile everything, and you're done. =========================================================================== How to run and use the MP3 Frame analyzer =========================================================================== To run MP3x.exe, you need the GTK DLL files: Either instal them on your system, or put them in the same directory as mp3x.exe resides. Example: mp3x.exe myfile myfile can be a mp3 file, or a wav file. === End of Document === 07070100069c86000081a40000000200000002000000013a00600700001b5d000000200000000800000000000000000000001100000000reloc/STYLEGUIDE* The LAME API is frozen. Poorly designed as it is, don't change it, and add to it sparingly. * Don't take it upon yourself to go through LAME with the sole purpose of updating everything to match this guide. Especially important: don't change the spacing, indentation, curly braces, etc, in routines you did not write. * If you want to make a change which effects many many functions, please check with the maintainer first. * Respect the indentation of the author of the original function. If the indentation is not consistent, use 4. * Don't use tabulators (the character with the value '\t') in source code, especially these with a width of unequal 8. Lame sources are using different sizes for tabulators. * Don't set the macro NDEBUG in alpha versons. NDEBUG should be set for beta versions. * check important assumptions with an assert() * use int for all integer quantities. LAME requires 32 bit ints, so you can assume int is at least 32 bits. Don't use 'long'. Don't use 'unsigned' unless ABSOLUTELY necessary. Don't use 'char' just to save bytes. If 64 bits is required, use int64. Annnotation: ISO C calls the 64 bit int type not int64 but int64_t. * Avoid using float or double, and instead use: (defined in machine.h). FLOAT for variables which require at least 32bits FLOAT8 for variables which require at least 64bits On some machines, 64bit will be faster than 32bit. Also, some math routines require 64bit float, so setting FLOAT=float will result in a lot of conversions. Annotation (pfk): The new ISO C standard passed in autumn 1999 has defined new types for exactly this reason. There are called float_least32_t and float_least64_t and have at least the advantage that you not need to explain their meaning. Annotation (mt): we will adopt this convention in Jan 1, 2003. * The internal representation of PCM samples in type 'sample_t', currently this is a FLOAT. * Use SI base units. Lame mixes Hz, kHz, kbps, bps. This is mess. Example: float wavelength_green = 555.e-9; unsigned data_rate = 128000; float lowpass_freq = 12500.; Converting between user input and internal representation should be done near the user interface, not in the most inner loop of an utility function. ---------------------------------------------------------------------------------- Edited version of the Linux Kernel Style Guide: ---------------------------------------------------------------------------------- Chapter 1: Indentation Respect the indentation of the author of the original function. If the indentation is not consistent, don't change it. If you are so anal-retentive about these things and you can't bare to even look at code with poor indentation, change it to 4. Chapter 2: Placing Braces The other issue that always comes up in C styling is the placement of braces. Unlike the indent size, there are few technical reasons to choose one placement strategy over the other, but the preferred way, as shown to us by the prophets Kernighan and Ritchie, is to put the opening brace last on the line, and put the closing brace first, thusly: if (x is true) { we do y } However, there is one special case, namely functions: they have the opening brace at the beginning of the next line, thus: int function(int x) { body of function } Heretic people all over the world have claimed that this inconsistency is ... well ... inconsistent, but all right-thinking people know that (a) K&R are _right_ and (b) K&R are right. Besides, functions are special anyway (you can't nest them in C). Note that the closing brace is empty on a line of its own, _except_ in the cases where it is followed by a continuation of the same statement, ie a "while" in a do-statement or an "else" in an if-statement, like this: do { body of do-loop } while (condition); and if (x == y) { .. } else if (x > y) { ... } else { .... } Rationale: K&R. Also, note that this brace-placement also minimizes the number of empty (or almost empty) lines, without any loss of readability. Thus, as the supply of new-lines on your screen is not a renewable resource (think 25-line terminal screens here), you have more empty lines to put comments on. Chapter 3: Naming C is a Spartan language, and so should your naming be. Unlike Modula-2 and Pascal programmers, C programmers do not use cute names like ThisVariableIsATemporaryCounter. A C programmer would call that variable "tmp", which is much easier to write, and not the least more difficult to understand. HOWEVER, while mixed-case names are frowned upon, descriptive names for global variables are a must. To call a global function "foo" is a shooting offense. GLOBAL variables (to be used only if you _really_ need them) need to have descriptive names, as do global functions. If you have a function that counts the number of active users, you should call that "count_active_users()" or similar, you should _not_ call it "cntusr()". Encoding the type of a function into the name (so-called Hungarian notation) is brain damaged - the compiler knows the types anyway and can check those, and it only confuses the programmer. No wonder MicroSoft makes buggy programs. LOCAL variable names should be short, and to the point. If you have some random integer loop counter, it should probably be called "i". Calling it "loop_counter" is non-productive, if there is no chance of it being mis-understood. Similarly, "tmp" can be just about any type of variable that is used to hold a temporary value. Chapter 4: Functions Document functions. Keep functions as modular as possible. But don't adhere to artificial line number limitations. For example, lame_encode_frame() encodes a single MP3 frame and is a long sequence of function calls. It makes no sense to break this into two or more routines. Chapter 5: Commenting Comments are good, but there is also a danger of over-commenting. NEVER try to explain HOW your code works in a comment: it's much better to write the code so that the _working_ is obvious, and it's a waste of time to explain badly written code. Generally, you want your comments to tell WHAT your code does, not HOW. Also, try to avoid putting comments inside a function body: if the function is so complex that you need to separately comment parts of it, you should probably go back to chapter 4 for a while. You can make small comments to note or warn about something particularly clever (or ugly), but try to avoid excess. Instead, put the comments at the head of the function, telling people what it does, and possibly WHY it does it. 07070100069c87000081a40000000200000002000000013ea1229500001144000000200000000800000000000000000000000b00000000reloc/TODO1. bug in resample code: downsampling from 44101 to 44100 causes a seg fault. Workaround in place for now: resampling disabled if input/output samplerates agree to 4 digits. 2. high bitrate encodings have trouble on some hardware players. Track this down. Probably caused by --strictly-enforce-ISO and IXMAX_VAL. Try setting IXMAX_VAL back to 8191 and/or maxmp3buf=8*960 to see if there is a working combination. note: one of the decoder bugs was identified. It is caused by using different block sizes on both channels. A parameter need to be added to Lame to handle workarounds. 3 frontend: code is a complete mess. But it has so many debugged features it will be a lot of work to re-write. 4. MSVC project files. It would be nice to create a working MSVC6 workspace, which included all the projects as possible targets: lame.exe mp3x.exe (require GTK libs) lame_enc.dll ACM codec directshow codec I think the only MSVC5 project that we need to preserve is for lame_enc.dll, since Albert Faber (still?) doesn't use VC6? But no reason we cant have VC5 and VC6 project files for the dll. 5. NOGAP encoding: -nogap: more testing, fix options, test id3 tags? Can we change id3 tags without reseting the encoder?? At the end of encoding 1.wav, call lame_get_mf_samples_to_encode() to find the number of non encoded buffered PCM samples. Then encode samples from 2.wav until these PCM samples have been encoded, *THEN* call lame_encode_flush_nogap() and close out file 1.mp3. NOGAP decoding: lame --decode --nogap file1.mp3 file2.mp3 file3.mp3 should also work. What needs to be done: get_audio.c: We need a way to open a second mp3 file, without calling lame_decode_init() and reinitializing mpglib. And the mpglib needs to know to look for new Xing tags at the beginning of file2.mp3 and file3.mp3. 6. Does stdin work when LAME is compiled to use libsndfile? (new version of libsndfile will support this - try this out) 7. LAME has problems with pure DC input. i.e. a square wave with a frequency well below 20 Hz. Not very important, but it should be fixed. 8. mgplib has bugs with i-stereo. flag denoting invalid i-stereo value (= frame is m/s stereo) is not correct. 9. lowpass filter: for M/S stereo, use more filtering for the side channel, less filtering for mid channel. We need to first replace the polyphase filter with an FIR lowpass filter with finer frequency resolution before implementing this. 10. LAME has a 31 point FIR filter used for resampling, which can also be used as a lowpass. When resampling is done, use that filter to also lowpass instead of the polyphase filter. 11. Even when resampling is not needed, should we use an FIR filter for the lowpass? If it is not too much slower, yes. If it is slower, then it should be an option since it will produce higher quality. 12. We should consider moving the experts options from the *long help* text into an *experts only* help text. The average Joe gets knocked down by the huge number of possibilities to setup lame. 50. Better tonality estimation. Gpsycho uses predictability, and so needs a delay to detect the tonality of a sound. Nspsytune seems to miss tonals when several of them are too narrow. We would probably need the best of both. 60. Different ATH handling for sfb21. We are using the minimum value of ath in each whole sfb. in sfb21 this leads to very high bitrates. We could perhaps use 2 or 3 ath partitions in sfb21 note: partially done 70. Use mixed blocks. 90. Use intensity stereo. This is a must-have for low bitrates, but if the algorythm is very good it could also be used in every case. Note: mpg123 (and all derivatives, like xmms and lame/mpglib) have bugs in the intensity stereo decoding. Bugs have been there for years since there are very few intensity stereo mp3's out there. 998. Merge GOGO's fast assembler routines. 999. It would be nice to save some information whilst encoding a: wave -> mp3 a RIFF/wave can contain LIST chunks with information about author, title, etc. ==> could go into TAG fields of resulting mp3 b: mp3 -> mp3 ==> we could copy the TAG directly c: mp3 -> wave ==> copy TAG into LIST chunk 1500. Integrate plusV extensions 2000. To be able to encode as fast as FastEnc07070100069c88000081a4000000020000000200000001405f997b00007565000000200000000800000000000000000000000c00000000reloc/USAGE % lame [options] inputfile [outputfile] For more options, just type: % lame --help ======================================================================= Constant Bitrate Examples: ======================================================================= fixed bit rate jstereo 128 kbps encoding: % lame sample.wav sample.mp3 fixed bit rate jstereo 128 kbps encoding, higher quality: (recommended) % lame -h sample.wav sample.mp3 Fast encode, low quality (no noise shaping) % lame -f sample.wav sample.mp3 ======================================================================= Variable Bitrate Examples: ======================================================================= LAME has two types of variable bitrate: ABR and VBR. ABR is the type of variable bitrate encoding usually found in other MP3 encoders, Vorbis and AAC. The number of bits is determined by some metric (like perceptual entropy, or just the number of bits needed for a certain set of encoding tables), and it is not based on computing the actual encoding/quantization error. ABR should always give results equal or better than CBR: ABR: (--abr means encode with an average bitrate of around x kbps) lame -h --abr 128 sample.wav sample.mp3 VBR is a true variable bitrate mode which bases the number of bits for each frame on the measured quantization error relative to the estimated allowed masking. VBR is currently under heavy development. It can on occasion result in too much compression, so it should be used with a minimum bitrate of 112 kbps. This will let LAME increase the bitrate for difficult-to-encode frames, but prevent LAME from being too aggressive for simple frames: Variable Bitrate (VBR): (use -V n to adjust quality/filesize) % lame -h -v -b 112 sample.wav sample.mp3 ======================================================================= LOW BITRATES ======================================================================= At lower bitrates, (like 24 kbps per channel), it is recommended that you use a 16 kHz sampling rate combined with lowpass filtering. LAME, as well as commercial encoders (FhG, Xing) will do this automatically. However, if you feel there is too much (or not enough) lowpass filtering, you may need to try different values of the lowpass cutoff and passband width (--resample, --lowpass and --lowpass-width options). ======================================================================= STREAMING EXAMPLES ======================================================================= % cat inputfile | lame [options] - - > output ======================================================================= Scripts are included (in the 'misc' subdirectory) to run lame on multiple files: bach script: mlame Run "mlame -?" for instructions. sh script: auenc Run auenc for instructions sh script: mugeco.sh Pearl script which will re-encode mp3 files and preserve id3 tags: lameid3.pl Windows scripts: lame4dos.bat Lame.vbs (and an HTML frontend: LameGUI.html) ======================================================================= options guide: ======================================================================= These options are explained in detail below. Quality related: -m m/s/j/f/a mode selection -k disable all filtering -d allow block types to differ between channels --athonly ignore psy-model output, only use masking from the ATH --voice (obsolete, try --preset voice instead) --noshort disable short blocks -q n Internal algorithm quality setting 0..9. 0 = slowest algorithms, but potentially highest quality 9 = faster algorithms, very poor quality -h same as -q2 -f same as -q7 Constant Bit Rate (CBR) -b n set bitrate (8, 16, 24, ..., 320) --freeformat produce a free format bitstream. User must also specify a bitrate with -b, between 8 and 640 kbps. Variable Bit Rate (VBR) -v VBR --vbr-old use old variable bitrate (VBR) routine (default) --vbr-new use new variable bitrate (VBR) routine -V n VBR quality setting (0=highest quality, 9=lowest) -b n specify a minimum allowed bitrate (8,16,24,...,320) -B n specify a maximum allowed bitrate (8,16,24,...,320) -F strictly enforce minimum bitrate -t disable VBR informational tag --nohist disable display of VBR bitrate histogram --abr n specify average bitrate desired Experimental (undocumented): may work better or worse: -X n try different quality measures (when comparing quantizations) -Y -Z Operational: -r assume input file is raw PCM -s n input sampling frequency in kHz (for raw PCM input files) --resample n output sampling frequency --mp3input input file is an MP3 file. decode using mpglib/mpg123 --ogginput input file is an Ogg Vorbis file. decode using libvorbis -x swap bytes of input file --scale multiply PCM input by --scale-l scale channel 0 (left) input (multiply PCM data) by --scale-r scale channel 1 (right) input (multiply PCM data) by -a downmix stereo input file to mono .mp3 -e n/5/c de-emphasis -p add CRC error protection -c mark the encoded file as copyrighted -o mark the encoded file as a copy -S don't print progress report, VBR histogram --strictly-enforce-ISO comply as much as possible to ISO MPEG spec --replaygain-fast compute RG fast but slightly inaccurately (default) --replaygain-accurate compute RG more accurately and find the peak sample --noreplaygain disable ReplayGain analysis --clipdetect enable --replaygain-accurate and print a message whether clipping occurs and how far the waveform is from full scale --decode assume input file is an mp3 file, and decode to wav. -t disable writing of WAV header when using --decode (decode to raw pcm, native endian format (use -x to swap)) --ogg Encode using Ogg Vorbis (.ogg) instead of mp3. ID3 tagging: --tt audio/song title (max 30 chars for version 1 tag) --ta <artist> audio/song artist (max 30 chars for version 1 tag) --tl <album> audio/song album (max 30 chars for version 1 tag) --ty <year> audio/song year of issue (1 to 9999) --tc <comment> user-defined text (max 30 chars for v1 tag, 28 for v1.1) --tn <track> audio/song track number (1 to 255, creates v1.1 tag) --tg <genre> audio/song genre (name or number in list) --add-id3v2 force addition of version 2 tag --id3v1-only add only a version 1 tag --id3v2-only add only a version 2 tag --space-id3v1 pad version 1 tag with spaces instead of nulls --pad-id3v2 pad version 2 tag with extra 128 bytes --genre-list print alphabetically sorted ID3 genre list and exit Note: A version 2 tag will NOT be added unless one of the input fields won't fit in a version 1 tag (e.g. the title string is longer than 30 characters), or the '--add-id3v2' or '--id3v2-only' options are used, or output is redirected to stdout. OS/2-specific options: --priority <type> sets the process priority options not yet described: --nores disable bit reservoir --noath disable ATH --athlower <n db> lower the ATH by n db. --athshort use only the ATH for short blocks --cwlimit <freq> specify range of tonality calculation --disptime --notemp disable temporal masking --lowpass --lowpass-width --highpass --highpass-width ======================================================================= Detailed description of all options in alphabetical order ======================================================================= ======================================================================= downmix ======================================================================= -a mix the stereo input file to mono and encode as mono. This option is only needed in the case of raw PCM stereo input (because LAME cannot determine the number of channels in the input file). To encode a stereo PCM input file as mono, use "lame -m s -a" For WAV and AIFF input files, using "-m m" will always produce a mono .mp3 file from both mono and stereo input. ======================================================================= average bitrate encoding (aka Safe VBR) ======================================================================= --abr n turns on encoding with a targeted average bitrate of n kbps, allowing to use frames of different sizes. The allowed range of n is 8...320 kbps, you can use any integer value within that range. ======================================================================= ATH only ======================================================================= --athonly This option causes LAME to ignore the output of the psy-model and only use masking from the ATH. (absolute threshold of hearing) Using --athonly is NOT RECOMMENDED. It is designed for testing different ATH curves. ======================================================================= bitrate ======================================================================= -b n For MPEG-1 (sampling frequencies of 32, 44.1 and 48 kHz) n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 For MPEG-2 and MPEG-2.5 (sampling frequencies of 8, 11.025, 12, 16, 22.05 and 24 kHz) n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160 The bitrate to be used. Default is 128 kbps MPEG1, 80 kbps MPEG2. When used with variable bitrate encodings (VBR), -b specifies the minimum bitrate to use. This is useful to prevent LAME VBR from using some very aggressive compression which can cause some distortion due to small flaws in the psycho-acoustic model. ======================================================================= max bitrate ======================================================================= -B n see also option "-b" for allowed bitrates. Maximum allowed bitrate when using VBR/ABR. Using -B is NOT RECOMMENDED. A 128 kbps CBR bitstream, because of the bit reservoir, can actually have frames which use as many bits as a 320 kbps frame. ABR/VBR modes minimize the use of the bit reservoir, and thus need to allow 320 kbps frames to get the same flexability as CBR streams. ======================================================================= copyright ======================================================================= -c mark the encoded file as copyrighted ======================================================================= clipping detection ======================================================================= --clipdetect Enable --replaygain-accurate and print a message whether clipping occurs and how far in dB the waveform is from full scale. This option is not usable if the MP3 decoder was _explicitly_ disabled in the build of LAME. See also: --replaygain-accurate ======================================================================= block type control ======================================================================= -d Allows the left and right channels to use different block types. Normally this is not allowed, only because the FhG encoder does not seem to allow it either. If anyone finds a sample where -d produces better results, let me know. (mt@sulaco.org) ======================================================================= mpglib decode capability ======================================================================= --decode This just uses LAME's mpg123/mpglib interface to decode an MP3 file to a wav file. The input file can be any input type supported by encoding, including .mp3 (layers 1, 2 and 3) and .ogg. If -t is used (disable wav header), LAME will output raw pcm in native endian format (use -x to swap bytes). This option is not usable if the MP3 decoder was _explicitly_ disabled in the build of LAME. ======================================================================= de-emphasis ======================================================================= -e n/5/c n = (none, default) 5 = 0/15 microseconds c = citt j.17 All this does is set a flag in the bitstream. If you have a PCM input file where one of the above types of (obsolete) emphasis has been applied, you can set this flag in LAME. Then the mp3 decoder should de-emphasize the output during playback, although most decoders ignore this flag. A better solution would be to apply the de-emphasis with a standalone utility before encoding, and then encode without -e. ======================================================================= fast mode ======================================================================= -f Same as -q 7. NOT RECOMMENDED. Use when encoding speed is critical and encoding quality does not matter. Disable noise shaping. Psycho acoustics are used only for bit allocation and pre-echo detection. ======================================================================= strictly enforce VBR minimum bitrate ======================================================================= -F strictly enforce VBR minimum bitrate. With out this optioni, the minimum bitrate will be ignored for passages of analog silence. ======================================================================= free format bitstreams ======================================================================= --freeformat LAME will produce a fixed bitrate, free format bitstream. User must specify the desired bitrate in kbps, which can be any integer between 8 and 640. Not supported by most decoders. Complient decoders (of which there are few) are only required to support up to 320 kbps. Decoders which can handle free format: supports up to MAD 640 kbps "lame --decode" 550 kbps Freeamp: 440 kbps l3dec: 310 kbps ======================================================================= high quality ======================================================================= -h use some quality improvements. The same as -q 2. ======================================================================= keep all frequencies ======================================================================= -k keep all frequencies. (Disable all filters) LAME will automatically apply various types of lowpass filters. This is because the high frequency coefficients can take up a lot of bits that would be better used for lower, more important frequencies. -k will disable all lowpass filtering. Not recommended. ======================================================================= Modes: ======================================================================= -m m mono -m s stereo -m j joint stereo -m f forced mid/side stereo -m d dual (independent) channels -m i intensity stereo -m a auto MONO is the default mode for mono input files. If "-m m" is specified for a stereo input file, the two channels will be averaged into a mono signal. STEREO JOINT STEREO is the default mode for stereo files with fixed bitrates of 128 kbps or less. At higher fixed bitrates, the default is stereo. For VBR encoding, jstereo is the default for VBR_q >4, and stereo is the default for VBR_q <=4. You can override all of these defaults by specifing the mode on the command line. jstereo means the encoder can use (on a frame by frame bases) either regular stereo (just encode left and right channels independently) or mid/side stereo. In mid/side stereo, the mid (L+R) and side (L-R) channels are encoded, and more bits are allocated to the mid channel than the side channel. This will effectively increase the bandwidth if the signal does not have too much stereo separation. Mid/side stereo is basically a trick to increase bandwidth. At 128 kbps, it is clearly worth while. At higher bitrates it is less useful. For truly mono content, use -m m, which will automatically down sample your input file to mono. This will produce 30% better results over -m j. Using mid/side stereo inappropriately can result in audible compression artifacts. To much switching between mid/side and regular stereo can also sound bad. To determine when to switch to mid/side stereo, LAME uses a much more sophisticated algorithm than that described in the ISO documentation. FORCED MID/SIDE STEREO forces all frames to be encoded mid/side stereo. It should only be used if you are sure every frame of the input file has very little stereo seperation. DUAL CHANNELS Not supported. INTENSITY STEREO AUTO Auto select should select (if input is stereo) 8 kbps Mono 16- 96 kbps Intensity Stereo (if available, otherwise Joint Stereo) 112-128 kbps Joint Stereo -mj 160-192 kbps -mj with variable mid/side threshold 224-320 kbps Independent Stereo -ms ======================================================================= MP3 input file ======================================================================= --mp3input Assume the input file is a MP3 file. LAME will decode the input file before re-encoding it. Since MP3 is a lossy format, this is not recommended in general. But it is useful for creating low bitrate mp3s from high bitrate mp3s. If the filename ends in ".mp3" LAME will assume it is an MP3. For stdin or MP3 files which dont end in .mp3 you need to use this switch. ======================================================================= disable historgram display ======================================================================= --nohist By default, LAME will display a bitrate histogram while producing VBR mp3 files. This will disable that feature. ======================================================================= disable ReplayGain analysis ======================================================================= --noreplaygain By default ReplayGain analysis is enabled. This switch disables it. See also: --replaygain-accurate, --replaygain-fast ======================================================================= disable short blocks ======================================================================= --noshort Encode all frames using long blocks. NOT RECOMMENDED. For testing purposes only. ======================================================================= non-original ======================================================================= -o mark the encoded file as a copy ======================================================================= CRC error protection ======================================================================= -p turn on CRC error protection. Yes this really does work correctly in LAME. However, it takes 16 bits per frame that would otherwise be used for encoding. ======================================================================= algorithm quality selection ======================================================================= -q n Bitrate is of course the main influence on quality. The higher the bitrate, the higher the quality. But for a given bitrate, we have a choice of algorithms to determine the best scalefactors and huffman encoding (noise shaping). -q 0: use slowest & best possible version of all algorithms. -q 2: recommended. Same as -h. -q 0 and -q 1 are slow and may not produce significantly higher quality. -q 5: default value. Good speed, reasonable quality -q 7: same as -f. Very fast, ok quality. (psycho acoustics are used for pre-echo & M/S, but no noise shaping is done. -q 9: disables almost all algorithms including psy-model. poor quality. ======================================================================= input file is raw pcm ======================================================================= -r Assume the input file is raw pcm. Sampling rate and mono/stereo/jstereo must be specified on the command line. Without -r, LAME will perform several fseek()'s on the input file looking for WAV and AIFF headers. Not supported if LAME is compiled to use LIBSNDFILE. ======================================================================= slightly more accurate ReplayGain analysis and finding the peak sample ======================================================================= --replaygain-accurate Enable decoding on the fly. Compute "Radio" ReplayGain on the decoded data stream. Find the peak sample of the decoded data stream and store it in the file. ReplayGain analysis does _not_ affect the content of a compressed data stream itself, it is a value stored in the header of a sound file. Information on the purpose of ReplayGain and the algorithms used is available from http://www.replaygain.org/ By default, LAME performs ReplayGain analysis on the input data (after the user-specified volume scaling). This behaviour might give slightly inaccurate results because the data on the output of a lossy compression/decompression sequence differs from the initial input data. When --replaygain-accurate is specified the mp3 stream gets decoded on the fly and the analysis is performed on the decoded data stream. Although theoretically this method gives more accurate results, it has several disadvantages: * tests have shown that the difference between the ReplayGain values computed on the input data and decoded data is usually no greater than 0.5dB, although the minimum volume difference the human ear can perceive is about 1.0dB * decoding on the fly significantly slows down the encoding process The apparent advantage is that: * with --replaygain-accurate the peak sample is determined and stored in the file. The knowledge of the peak sample can be useful to decoders (players) to prevent a negative effect called 'clipping' that introduces distortion into sound. Only the "Radio" ReplayGain value is computed. It is stored in the LAME tag. The analysis is performed with the reference volume equal to 89dB. Note: the reference volume has been changed from 83dB on transition from version 3.95 to 3.95.1. This option is not usable if the MP3 decoder was _explicitly_ disabled in the build of LAME. (Note: if LAME is compiled without the MP3 decoder, ReplayGain analysis is performed on the input data after user-specified volume scaling). See also: --replaygain-fast, --noreplaygain, --clipdetect ======================================================================= fast ReplayGain analysis ======================================================================= --replaygain-fast Compute "Radio" ReplayGain of the input data stream after user-specified volume scaling and/or resampling. ReplayGain analysis does _not_ affect the content of a compressed data stream itself, it is a value stored in the header of a sound file. Information on the purpose of ReplayGain and the algorithms used is available from http://www.replaygain.org/ Only the "Radio" ReplayGain value is computed. It is stored in the LAME tag. The analysis is performed with the reference volume equal to 89dB. Note: the reference volume has been changed from 83dB on transition from version 3.95 to 3.95.1. This switch is enabled by default. See also: --replaygain-accurate, --noreplaygain ======================================================================= output sampling frequency in kHz ======================================================================= --resample n where n = 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48 Output sampling frequency. Resample the input if necessary. If not specified, LAME may sometimes resample automatically when faced with extreme compression conditions (like encoding a 44.1 kHz input file at 32 kbps). To disable this automatic resampling, you have to use --resamle to set the output samplerate equal to the inptu samplerate. In that case, LAME will not perform any extra computations. ======================================================================= sampling frequency in kHz ======================================================================= -s n where n = sampling rate in kHz. Required for raw PCM input files. Otherwise it will be determined from the header information in the input file. LAME will automatically resample the input file to one of the supported MP3 samplerates if necessary. ======================================================================= silent operation ======================================================================= -S don't print progress report ======================================================================= scale ======================================================================= --scale <arg> Scales input by <arg>. This just multiplies the PCM data (after it has been converted to floating point) by <arg>. <arg> > 1: increase volume <arg> = 1: no effect <arg> < 1: reduce volume Use with care, since most MP3 decoders will truncate data which decodes to values greater than 32768. ======================================================================= strict ISO complience ======================================================================= --strictly-enforce-ISO With this option, LAME will enforce the 7680 bit limitation on total frame size. This results in many wasted bits for high bitrate encodings. ======================================================================= disable VBR tag ======================================================================= -t Disable writing of the VBR Tag (only valid if -v flag is specified) This tag in embedded in frame 0 of the MP3 file. It lets VBR aware players correctly seek and compute playing times of VBR files. When '--decode' is specified (decode mp3 to wav), this flag will disable writing the WAV header. The output will be raw pcm, native endian format. Use -x to swap bytes. ======================================================================= variable bit rate (VBR) ======================================================================= -v Turn on VBR. There are several ways you can use VBR. I personally like using VBR to get files slightly bigger than 128 kbps files, where the extra bits are used for the occasional difficult-to-encode frame. For this, try specifying a minimum bitrate to use with VBR: lame -v -b 112 input.wav output.mp3 If the file is too big, use -V n, where n = 0...9 lame -v -V n -b 112 input.wav output.mp3 If you want to use VBR to get the maximum compression possible, and for this, you can try: lame -v input.wav output.mp3 lame -v -V n input.wav output.mp3 (to vary quality/filesize) ======================================================================= VBR quality setting ======================================================================= -V n n = 0...9. Specifies the value of VBR_q. default = 4, highest quality = 0, smallest files = 9 Using -V 5 or higher (lower quality) is NOT RECOMMENDED. ABR will produce better results. How is VBR_q used? The value of VBR_q influences two basic parameters of LAME's psycho acoustics: a) the absolute threshold of hearing b) the sample to noise ratio The lower the VBR_q value the lower the injected quantization noise will be. *NOTE* No psy-model is perfect, so there can often be distortion which is audible even though the psy-model claims it is not! Thus using a small minimum bitrate can result in some aggressive compression and audible distortion even with -V 0. Thus using -V 0 does not sound better than a fixed 256 kbps encoding. For example: suppose in the 1 kHz frequency band the psy-model claims 20 dB of distortion will not be detectable by the human ear, so LAME VBR-0 will compress that frequency band as much as possible and introduce at most 20 dB of distortion. Using a fixed 256 kbps framesize, LAME could end up introducing only 2 dB of distortion. If the psy-model was correct, they will both sound the same. If the psy-model was wrong, the VBR-0 result can sound worse. ======================================================================= voice encoding mode ======================================================================= --voice An experimental voice encoding mode. Tuned for 44.1 kHz input files. --voice is deprecated, use --preset voice instead ======================================================================= swapbytes ======================================================================= -x swap bytes in the input file (and output file when using --decode). For sorting out little endian/big endian type problems. If your encodings sound like static, try this first. ======================================================================= OS/2 process priority control ======================================================================= --priority <type> (OS/2 only) Sets the process priority for LAME while running under IBM OS/2. This can be very useful to avoid the system becoming slow and/or unresponsive. By setting LAME to run in a lower priority, you leave more time for the system to update basic processing (drawing windows, polling keyboard/mouse, etc). The impact in LAME's performance is minimal if you use priority 0 to 2. The valid parameters are: 0 = Low priority (IDLE, delta = 0) 1 = Medium priority (IDLE, delta = +31) 2 = Regular priority (REGULAR, delta = -31) 3 = High priority (REGULAR, delta = 0) 4 = Maximum priority (REGULAR, delta = +31) Note that if you call '--priority' without a parameter, then priority 0 will be assumed. ���07070100069c89000081a40000000200000002000000013da29c60000009d4000000200000000800000000000000000000001300000000reloc/acinclude.m4����dnl acinclude.m4. Change *this* file to add new or change macros. dnl When changes have been made, delete aclocal.m4 and run dnl "aclocal". dnl dnl DO NOT change aclocal.m4 ! dnl dnl * LA_SEARCH_FILE(variable, filename, PATH) dnl * Search "filename" in the specified "PATH", "variable" will dnl * contain the full pathname or the empty string dnl * PATH is space-separated list of directories. dnl * by Florian Bomers AC_DEFUN(LA_SEARCH_FILE,[ $1= dnl hack: eliminate line feeds in $2 for FILE in $2; do for DIR in $3; do dnl use PATH in order if test ".$1"="." && test -f "$DIR/$FILE"; then $1=$DIR fi done done ]) dnl * LA_SEARCH_LIB(lib-variable, include-variable, lib-filename, header-filename, prefix) dnl * looks for "lib-filename" and "header-filename" in the area of "prefix". dnl * if found, "lib-variable" and "include-variable" are set to the dnl * respective paths. dnl * prefix is a single path dnl * libs are searched in prefix, prefix/lib, prefix/.., prefix/../lib dnl * headers are searched in prefix, prefix/include, prefix/.., prefix/../include dnl * dnl * If one of them is not found, both "lib-variable", "include-variable" are dnl * set to the empty string. dnl * dnl * TODO: assert function call to verify lib dnl * dnl * by Florian Bomers AC_DEFUN(LA_SEARCH_LIB,[ dnl look for lib LA_SEARCH_FILE($1, $3, $5 $5/lib $5/.. $5/../lib) dnl look for header. LA_SEARCH_FILE($2, $4, $5 $5/include $5/.. $5/../include) if test ".$1" = "." || test ".$2" = "."; then $1= $2= fi ]) # alex_IEEE854_FLOAT80 # ------------ AC_DEFUN(alex_IEEE854_FLOAT80, [AC_CACHE_CHECK(for IEEE854 compliant 80 bit floats, alex_cv_ieee854_float80, [AC_TRY_RUN([ int float2long_IEEE_compliance ( void ) { struct { long padding; /* to prevent unaligned access */ float f; } s; s.f = 12582912.; if ( *(long*)(&s.f) != 1262485504l ) return 0; s.f = 12615679.; if ( *(long*)(&s.f) != 1262518271l ) return 0; s.f = 13582912.; if ( *(long*)(&s.f) != 1263485504l ) return 0; s.f = 12550145.; if ( *(long*)(&s.f) != 1262452737l ) return 0; s.f = 11582912.; if ( *(long*)(&s.f) != 1261485504l ) return 0; return 1; } int main(void) { int retval; retval = float2long_IEEE_compliance(); /* no error return -> success */ return !retval; } ], alex_cv_ieee854_float80=yes, alex_cv_ieee854_float80=no, [AC_MSG_WARN(can't check for IEEE854 compliant 80 bit floats)] )])]) # alex_IEEE854_FLOAT80 07070100069c8a000081a40000000200000002000000013fc88a730003e5f2000000200000000800000000000000000000001100000000reloc/aclocal.m4��# generated automatically by aclocal 1.7.5 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. dnl acinclude.m4. Change *this* file to add new or change macros. dnl When changes have been made, delete aclocal.m4 and run dnl "aclocal". dnl dnl DO NOT change aclocal.m4 ! dnl dnl * LA_SEARCH_FILE(variable, filename, PATH) dnl * Search "filename" in the specified "PATH", "variable" will dnl * contain the full pathname or the empty string dnl * PATH is space-separated list of directories. dnl * by Florian Bomers AC_DEFUN(LA_SEARCH_FILE,[ $1= dnl hack: eliminate line feeds in $2 for FILE in $2; do for DIR in $3; do dnl use PATH in order if test ".$1"="." && test -f "$DIR/$FILE"; then $1=$DIR fi done done ]) dnl * LA_SEARCH_LIB(lib-variable, include-variable, lib-filename, header-filename, prefix) dnl * looks for "lib-filename" and "header-filename" in the area of "prefix". dnl * if found, "lib-variable" and "include-variable" are set to the dnl * respective paths. dnl * prefix is a single path dnl * libs are searched in prefix, prefix/lib, prefix/.., prefix/../lib dnl * headers are searched in prefix, prefix/include, prefix/.., prefix/../include dnl * dnl * If one of them is not found, both "lib-variable", "include-variable" are dnl * set to the empty string. dnl * dnl * TODO: assert function call to verify lib dnl * dnl * by Florian Bomers AC_DEFUN(LA_SEARCH_LIB,[ dnl look for lib LA_SEARCH_FILE($1, $3, $5 $5/lib $5/.. $5/../lib) dnl look for header. LA_SEARCH_FILE($2, $4, $5 $5/include $5/.. $5/../include) if test ".$1" = "." || test ".$2" = "."; then $1= $2= fi ]) # alex_IEEE854_FLOAT80 # ------------ AC_DEFUN(alex_IEEE854_FLOAT80, [AC_CACHE_CHECK(for IEEE854 compliant 80 bit floats, alex_cv_ieee854_float80, [AC_TRY_RUN([ int float2long_IEEE_compliance ( void ) { struct { long padding; /* to prevent unaligned access */ float f; } s; s.f = 12582912.; if ( *(long*)(&s.f) != 1262485504l ) return 0; s.f = 12615679.; if ( *(long*)(&s.f) != 1262518271l ) return 0; s.f = 13582912.; if ( *(long*)(&s.f) != 1263485504l ) return 0; s.f = 12550145.; if ( *(long*)(&s.f) != 1262452737l ) return 0; s.f = 11582912.; if ( *(long*)(&s.f) != 1261485504l ) return 0; return 1; } int main(void) { int retval; retval = float2long_IEEE_compliance(); /* no error return -> success */ return !retval; } ], alex_cv_ieee854_float80=yes, alex_cv_ieee854_float80=no, [AC_MSG_WARN(can't check for IEEE854 compliant 80 bit floats)] )])]) # alex_IEEE854_FLOAT80 # Do all the work for Automake. -*- Autoconf -*- # This macro actually does too much some checks are only needed if # your package does certain things. But this isn't really a big deal. # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 10 AC_PREREQ([2.54]) # Autoconf 2.50 wants to disallow AM_ names. We explicitly allow # the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_MISSING_PROG(AMTAR, tar) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"]) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.7.5])]) # Helper functions for option handling. -*- Autoconf -*- # Copyright 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # # Check to make sure that the build environment is sane. # # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 3 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # -*- Autoconf -*- # Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 3 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # AM_AUX_DIR_EXPAND # Copyright 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. # Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50]) AC_DEFUN([AM_AUX_DIR_EXPAND], [ # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. # Copyright 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # AM_PROG_INSTALL_STRIP # Copyright 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # -*- Autoconf -*- # Copyright (C) 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 1 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # serial 5 -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c -o conftest.o conftest.c \ >/dev/null 2>conftest.err && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # (even with -Werror). So we grep stderr for any message # that says an option was ignored. if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH]) ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. #serial 2 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright 1997, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 5 AC_PREREQ(2.52) # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE]) AC_SUBST([$1_FALSE]) if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]) fi])]) # Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. AC_PREREQ([2.52]) # serial 6 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Add --enable-maintainer-mode option to configure. # From Jim Meyering # Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode is disabled by default AC_ARG_ENABLE(maintainer-mode, [ --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer], USE_MAINTAINER_MODE=$enableval, USE_MAINTAINER_MODE=no) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST(MAINT)dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 47 AC_PROG_LIBTOOL # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) # ----------------------------------------------------------- # If this macro is not defined by Autoconf, define it here. m4_ifdef([AC_PROVIDE_IFELSE], [], [m4_define([AC_PROVIDE_IFELSE], [m4_ifdef([AC_PROVIDE_$1], [$2], [$3])])]) # AC_PROG_LIBTOOL # --------------- AC_DEFUN([AC_PROG_LIBTOOL], [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. AC_PROVIDE_IFELSE([AC_PROG_CXX], [AC_LIBTOOL_CXX], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX ])]) dnl And a similar setup for Fortran 77 support AC_PROVIDE_IFELSE([AC_PROG_F77], [AC_LIBTOOL_F77], [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 ])]) dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [AC_LIBTOOL_GCJ], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [AC_LIBTOOL_GCJ], [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], [AC_LIBTOOL_GCJ], [ifdef([AC_PROG_GCJ], [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) ifdef([A][M_PROG_GCJ], [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) ifdef([LT_AC_PROG_GCJ], [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) ])])# AC_PROG_LIBTOOL # _AC_PROG_LIBTOOL # ---------------- AC_DEFUN([_AC_PROG_LIBTOOL], [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl # Prevent multiple expansion define([AC_PROG_LIBTOOL], []) ])# _AC_PROG_LIBTOOL # AC_LIBTOOL_SETUP # ---------------- AC_DEFUN([AC_LIBTOOL_SETUP], [AC_PREREQ(2.50)dnl AC_REQUIRE([AC_ENABLE_SHARED])dnl AC_REQUIRE([AC_ENABLE_STATIC])dnl AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_LD])dnl AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl AC_REQUIRE([AC_PROG_NM])dnl AC_REQUIRE([AC_PROG_LN_S])dnl AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! AC_REQUIRE([AC_OBJEXT])dnl AC_REQUIRE([AC_EXEEXT])dnl dnl AC_LIBTOOL_SYS_MAX_CMD_LEN AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE AC_LIBTOOL_OBJDIR AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl _LT_AC_PROG_ECHO_BACKSLASH case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='sed -e s/^X//' [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] # Same as above, but do not quote variable references. [double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Constants: rm="rm -f" # Global variables: default_ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except M$VC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" AC_CHECK_TOOL(AR, ar, false) AC_CHECK_TOOL(RANLIB, ranlib, :) AC_CHECK_TOOL(STRIP, strip, :) old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru test -z "$AS" && AS=as test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$LD" && LD=ld test -z "$LN_S" && LN_S="ln -s" test -z "$MAGIC_CMD" && MAGIC_CMD=file test -z "$NM" && NM=nm test -z "$SED" && SED=sed test -z "$OBJDUMP" && OBJDUMP=objdump test -z "$RANLIB" && RANLIB=: test -z "$STRIP" && STRIP=: test -z "$ac_objext" && ac_objext=o # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" ;; *) old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then AC_PATH_MAGIC fi ;; esac AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], enable_win32_dll=yes, enable_win32_dll=no) AC_ARG_ENABLE([libtool-lock], [AC_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes AC_ARG_WITH([pic], [AC_HELP_STRING([--with-pic], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [pic_mode="$withval"], [pic_mode=default]) test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= AC_LIBTOOL_LANG_C_CONFIG _LT_AC_TAGCONFIG ])# AC_LIBTOOL_SETUP # _LT_AC_SYS_COMPILER # ------------------- AC_DEFUN([_LT_AC_SYS_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_AC_SYS_LIBPATH_AIX # ---------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], [AC_LINK_IFELSE(AC_LANG_PROGRAM,[ aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi],[]) if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ])# _LT_AC_SYS_LIBPATH_AIX # _LT_AC_SHELL_INIT(ARG) # ---------------------- AC_DEFUN([_LT_AC_SHELL_INIT], [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [AC_DIVERT_PUSH(NOTICE)]) $1 AC_DIVERT_POP ])# _LT_AC_SHELL_INIT # _LT_AC_PROG_ECHO_BACKSLASH # -------------------------- # Add some code to the start of the generated configure script which # will find an echo command which doesn't interpret backslashes. AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], [_LT_AC_SHELL_INIT([ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` ;; esac echo=${ECHO-echo} if test "X[$]1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X[$]1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then # Yippee, $echo works! : else # Restart under the correct shell. exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} fi if test "X[$]1" = X--fallback-echo; then # used as fallback echo shift cat <<EOF [$]* EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi if test -z "$ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if (echo_test_string="`eval $cmd`") 2>/dev/null && echo_test_string="`eval $cmd`" && (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null then break fi done fi if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. echo='print -r' elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} else # Try using printf. echo='printf %s\n' if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL echo="$CONFIG_SHELL [$]0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$CONFIG_SHELL [$]0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "[$]0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} else # Oops. We lost completely, so just stick with echo. echo=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. ECHO=$echo if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" fi AC_SUBST(ECHO) ])])# _LT_AC_PROG_ECHO_BACKSLASH # _LT_AC_LOCK # ----------- AC_DEFUN([_LT_AC_LOCK], [AC_ARG_ENABLE([libtool-lock], [AC_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line __oline__ "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case "`/usr/bin/file conftest.o`" in *32-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], [*-*-cygwin* | *-*-mingw* | *-*-pw32*) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; ]) esac need_locks="$enable_libtool_lock" ])# _LT_AC_LOCK # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_CACHE_CHECK([$1], [$2], [$2=no ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test ! -s conftest.err; then $2=yes fi fi $rm conftest* ]) if test x"[$]$2" = xyes; then ifelse([$5], , :, [$5]) else ifelse([$6], , :, [$6]) fi ])# AC_LIBTOOL_COMPILER_OPTION # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ------------------------------------------------------------ # Check whether the given compiler option works AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD else $2=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then ifelse([$4], , :, [$4]) else ifelse([$5], , :, [$5]) fi ])# AC_LIBTOOL_LINKER_OPTION # AC_LIBTOOL_SYS_MAX_CMD_LEN # -------------------------- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [# find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 testring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ = "XX$testring") >/dev/null 2>&1 && new_result=`expr "X$testring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` testring=$testring$testring done testring= # Add a significant safety factor because C++ compilers can tack on massive # amounts of additional arguments before passing them to the linker. # It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi ])# AC_LIBTOOL_SYS_MAX_CMD_LEN # _LT_AC_CHECK_DLFCN # -------------------- AC_DEFUN([_LT_AC_CHECK_DLFCN], [AC_CHECK_HEADERS(dlfcn.h)dnl ])# _LT_AC_CHECK_DLFCN # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ------------------------------------------------------------------ AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF [#line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include <dlfcn.h> #endif #include <stdio.h> #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_unknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_AC_TRY_DLOPEN_SELF # AC_LIBTOOL_DLOPEN_SELF # ------------------- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_AC_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then LDFLAGS="$LDFLAGS $link_static_flag" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_AC_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi ])# AC_LIBTOOL_DLOPEN_SELF # AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) # --------------------------------- # Check to see if options -c and -o are simultaneously supported by compiler AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out printf "$lt_simple_compile_test_code" > conftest.$ac_ext # According to Tom Tromey, Ian Lance Taylor reported there are C compilers # that will create temporary files in the current directory regardless of # the output directory. Thus, making CWD read-only will cause this test # to fail, enabling locking or at least warning the user not to do parallel # builds. chmod -w . lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test ! -s out/conftest.err; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . $rm conftest* out/* rmdir out cd .. rmdir conftest $rm conftest* ]) ])# AC_LIBTOOL_PROG_CC_C_O # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) # ----------------------------------------- # Check to see if we can do hard links to lock some files if needed AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_REQUIRE([_LT_AC_LOCK])dnl hard_links="nottested" if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS # AC_LIBTOOL_OBJDIR # ----------------- AC_DEFUN([AC_LIBTOOL_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir ])# AC_LIBTOOL_OBJDIR # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) # ---------------------------------------------- # Check hardcoding attributes. AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_AC_TAGVAR(hardcode_action, $1)= if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \ test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then # We can hardcode non-existant directories. if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_AC_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_AC_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_AC_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH # AC_LIBTOOL_SYS_LIB_STRIP # ------------------------ AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], [striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi ])# AC_LIBTOOL_SYS_LIB_STRIP # AC_LIBTOOL_SYS_DYNAMIC_LINKER # ----------------------------- # PORTME Fill in your ld.so characteristics AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib<name>.so # instead of lib<name>.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi4*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no # FIXME: Relying on posixy $() will cause problems for # cross-compilation, but unfortunately the echo tests do not # yet detect zsh echo's removal of \ escapes. library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext='$(test .$module = .yes && echo .so || echo .dylib)' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` fi sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; *) # from 3.2 on shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case "$host_cpu" in ia64*) shrext='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; sco3.2v5*) version_type=osf soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_ARG_WITH([tags], [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], [include additional configurations @<:@automatic@:>@])], [tagnames="$withval"]) if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then AC_MSG_WARN([output file `$ofile' does not exist]) fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) else AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) fi fi # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for tagname in $tagnames; do IFS="$lt_save_ifs" # Check whether tagname contains only valid characters case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in "") ;; *) AC_MSG_ERROR([invalid tag name: $tagname]) ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then AC_MSG_ERROR([tag name \"$tagname\" already exists]) fi # Update the list of available tags. if test -n "$tagname"; then echo appending configuration tag \"$tagname\" to $ofile case $tagname in CXX) if test -n "$CXX" && test "X$CXX" != "Xno"; then AC_LIBTOOL_LANG_CXX_CONFIG else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then AC_LIBTOOL_LANG_F77_CONFIG else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then AC_LIBTOOL_LANG_GCJ_CONFIG else tagname="" fi ;; RC) AC_LIBTOOL_LANG_RC_CONFIG ;; *) AC_MSG_ERROR([Unsupported tag name: $tagname]) ;; esac # Append the new tag name to the list of available tags. if test -n "$tagname" ; then available_tags="$available_tags $tagname" fi fi done IFS="$lt_save_ifs" # Now substitute the updated list of available tags. if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then mv "${ofile}T" "$ofile" chmod +x "$ofile" else rm -f "${ofile}T" AC_MSG_ERROR([unable to update list of available tagged configurations.]) fi fi ])# _LT_AC_TAGCONFIG # AC_LIBTOOL_DLOPEN # ----------------- # enable checks for dlopen support AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) ])# AC_LIBTOOL_DLOPEN # AC_LIBTOOL_WIN32_DLL # -------------------- # declare package support for building win32 dll's AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) ])# AC_LIBTOOL_WIN32_DLL # AC_ENABLE_SHARED([DEFAULT]) # --------------------------- # implement the --enable-shared flag # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. AC_DEFUN([AC_ENABLE_SHARED], [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE([shared], [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]AC_ENABLE_SHARED_DEFAULT) ])# AC_ENABLE_SHARED # AC_DISABLE_SHARED # ----------------- #- set the default shared flag to --disable-shared AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_SHARED(no) ])# AC_DISABLE_SHARED # AC_ENABLE_STATIC([DEFAULT]) # --------------------------- # implement the --enable-static flag # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. AC_DEFUN([AC_ENABLE_STATIC], [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE([static], [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]AC_ENABLE_STATIC_DEFAULT) ])# AC_ENABLE_STATIC # AC_DISABLE_STATIC # ----------------- # set the default static flag to --disable-static AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_STATIC(no) ])# AC_DISABLE_STATIC # AC_ENABLE_FAST_INSTALL([DEFAULT]) # --------------------------------- # implement the --enable-fast-install flag # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. AC_DEFUN([AC_ENABLE_FAST_INSTALL], [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE([fast-install], [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) ])# AC_ENABLE_FAST_INSTALL # AC_DISABLE_FAST_INSTALL # ----------------------- # set the default to --disable-fast-install AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_FAST_INSTALL(no) ])# AC_DISABLE_FAST_INSTALL # AC_LIBTOOL_PICMODE([MODE]) # -------------------------- # implement the --with-pic flag # MODE is either `yes' or `no'. If omitted, it defaults to `both'. AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl pic_mode=ifelse($#,1,$1,default) ])# AC_LIBTOOL_PICMODE # AC_PROG_EGREP # ------------- # This is predefined starting with Autoconf 2.54, so this conditional # definition can be removed once we require Autoconf 2.54 or later. m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi]) EGREP=$ac_cv_prog_egrep AC_SUBST([EGREP]) ])]) # AC_PATH_TOOL_PREFIX # ------------------- # find a file program which can recognise shared library AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="ifelse([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi ])# AC_PATH_TOOL_PREFIX # AC_PATH_MAGIC # ------------- # find a file program which can recognise a shared library AC_DEFUN([AC_PATH_MAGIC], [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# AC_PATH_MAGIC # AC_PROG_LD # ---------- # find the path to the GNU or non-GNU linker AC_DEFUN([AC_PROG_LD], [AC_ARG_WITH([gnu-ld], [AC_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no]) AC_REQUIRE([LT_AC_PROG_SED])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$lt_save_ifs" else lt_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$lt_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_PROG_LD_GNU ])# AC_PROG_LD # AC_PROG_LD_GNU # -------------- AC_DEFUN([AC_PROG_LD_GNU], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `"$LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) lt_cv_prog_gnu_ld=yes ;; *) lt_cv_prog_gnu_ld=no ;; esac]) with_gnu_ld=$lt_cv_prog_gnu_ld ])# AC_PROG_LD_GNU # AC_PROG_LD_RELOAD_FLAG # ---------------------- # find reload flag for linker # -- PORTME Some linkers may need a different reload flag. AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, [lt_cv_ld_reload_flag='-r']) reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' ])# AC_PROG_LD_RELOAD_FLAG # AC_DEPLIBS_CHECK_METHOD # ----------------------- # how to check for library dependencies # -- PORTME fill in with the dynamic library characteristics AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], [AC_CACHE_CHECK([how to recognise dependent libraries], lt_cv_deplibs_check_method, [lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix4* | aix5*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi4*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin* | mingw* | pw32*) # win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='win32_libid' ;; darwin* | rhapsody*) # this will be overwritten by pass_all, but leave it in just in case lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' lt_cv_file_magic_cmd='/usr/bin/file -L' case "$host_os" in rhapsody* | darwin1.[[012]]) lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System` ;; *) # Darwin 1.3 on lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' ;; esac lt_cv_deplibs_check_method=pass_all ;; freebsd*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case "$host_cpu" in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; irix5* | irix6* | nonstopux*) case $host_os in irix5* | nonstopux*) # this will be overridden with pass_all, but let us keep it just in case lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" ;; *) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac # this will be overridden with pass_all, but let us keep it just in case lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" ;; esac lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux*) case $host_cpu in alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*) lt_cv_deplibs_check_method=pass_all ;; *) # glibc up to 2.1.1 does not perform some relocations on ARM lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; esac lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; nto-qnx) lt_cv_deplibs_check_method=unknown ;; openbsd*) lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' else lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' fi ;; osf3* | osf4* | osf5*) # this will be overridden with pass_all, but let us keep it just in case lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' lt_cv_file_magic_test_file=/shlib/libc.so lt_cv_deplibs_check_method=pass_all ;; sco3.2v5*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_test_file=/lib/libc.so ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown ])# AC_DEPLIBS_CHECK_METHOD # AC_PROG_NM # ---------- # find the path to a BSD-compatible name lister AC_DEFUN([AC_PROG_NM], [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/${ac_tool_prefix}nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac esac fi done IFS="$lt_save_ifs" test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi]) NM="$lt_cv_path_NM" ])# AC_PROG_NM # AC_CHECK_LIBM # ------------- # check for math library AC_DEFUN([AC_CHECK_LIBM], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac ])# AC_CHECK_LIBM # AC_LIBLTDL_CONVENIENCE([DIRECTORY]) # ----------------------------------- # sets LIBLTDL to the link flags for the libltdl convenience library and # LTDLINCL to the include flags for the libltdl header and adds # --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL # and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If # DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will # be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with # '${top_srcdir}/' (note the single quotes!). If your package is not # flat and you're not using automake, define top_builddir and # top_srcdir appropriately in the Makefiles. AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl case $enable_ltdl_convenience in no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; "") enable_ltdl_convenience=yes ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; esac LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) # For backwards non-gettext consistent compatibility... INCLTDL="$LTDLINCL" ])# AC_LIBLTDL_CONVENIENCE # AC_LIBLTDL_INSTALLABLE([DIRECTORY]) # ----------------------------------- # sets LIBLTDL to the link flags for the libltdl installable library and # LTDLINCL to the include flags for the libltdl header and adds # --enable-ltdl-install to the configure arguments. Note that LIBLTDL # and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If # DIRECTORY is not provided and an installed libltdl is not found, it is # assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' # and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single # quotes!). If your package is not flat and you're not using automake, # define top_builddir and top_srcdir appropriately in the Makefiles. # In the future, this macro may have to be called after AC_PROG_LIBTOOL. AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_CHECK_LIB(ltdl, lt_dlinit, [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], [if test x"$enable_ltdl_install" = xno; then AC_MSG_WARN([libltdl not installed, but installation disabled]) else enable_ltdl_install=yes fi ]) if test x"$enable_ltdl_install" = x"yes"; then ac_configure_args="$ac_configure_args --enable-ltdl-install" LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) else ac_configure_args="$ac_configure_args --enable-ltdl-install=no" LIBLTDL="-lltdl" LTDLINCL= fi # For backwards non-gettext consistent compatibility... INCLTDL="$LTDLINCL" ])# AC_LIBLTDL_INSTALLABLE # AC_LIBTOOL_CXX # -------------- # enable support for C++ libraries AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_LT_AC_LANG_CXX]) ])# AC_LIBTOOL_CXX # _LT_AC_LANG_CXX # --------------- AC_DEFUN([_LT_AC_LANG_CXX], [AC_REQUIRE([AC_PROG_CXX]) AC_REQUIRE([AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,CXX" | sed 's/^,//'`]) ])# _LT_AC_LANG_CXX # AC_LIBTOOL_F77 # -------------- # enable support for Fortran 77 libraries AC_DEFUN([AC_LIBTOOL_F77], [AC_REQUIRE([_LT_AC_LANG_F77]) ])# AC_LIBTOOL_F77 # _LT_AC_LANG_F77 # --------------- AC_DEFUN([_LT_AC_LANG_F77], [AC_REQUIRE([AC_PROG_F77]) _LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,F77" | sed 's/^,//'`]) ])# _LT_AC_LANG_F77 # AC_LIBTOOL_GCJ # -------------- # enable support for GCJ libraries AC_DEFUN([AC_LIBTOOL_GCJ], [AC_REQUIRE([_LT_AC_LANG_GCJ]) ])# AC_LIBTOOL_GCJ # _LT_AC_LANG_GCJ # --------------- AC_DEFUN([_LT_AC_LANG_GCJ], [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) _LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,GCJ" | sed 's/^,//'`]) ])# _LT_AC_LANG_GCJ # AC_LIBTOOL_RC # -------------- # enable support for Windows resource files AC_DEFUN([AC_LIBTOOL_RC], [AC_REQUIRE([LT_AC_PROG_RC]) _LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,RC" | sed 's/^,//'`]) ])# AC_LIBTOOL_RC # AC_LIBTOOL_LANG_C_CONFIG # ------------------------ # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) AC_DEFUN([_LT_AC_LANG_C_CONFIG], [lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}\n' _LT_AC_SYS_COMPILER # # Check for any special shared library compilation flags. # _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= if test "$GCC" = no; then case $host_os in sco3.2v5*) _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' ;; esac fi if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : else AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no fi fi # # Check to make sure the static flag actually works. # AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_DLOPEN_SELF($1) # Report which librarie types wil actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case "$host_os" in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix4*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; darwin* | rhapsody*) if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no case "$host_os" in rhapsody* | darwin1.[[012]]) _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' ;; *) # Darwin 1.3 on test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' ;; esac # FIXME: Relying on posixy $() will cause problems for # cross-compilation, but unfortunately the echo tests do not # yet detect zsh echo's removal of \ escapes. Also zsh mangles # `"' quotes if we put them in here... so don't! output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) AC_LIBTOOL_CONFIG($1) AC_LANG_POP CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_C_CONFIG # AC_LIBTOOL_LANG_CXX_CONFIG # -------------------------- # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], [AC_LANG_PUSH(C++) AC_REQUIRE([AC_PROG_CXX]) AC_REQUIRE([AC_PROG_CXXCPP]) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(allow_undefined_flag, $1)= _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(archive_expsym_cmds, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_AC_TAGVAR(no_undefined_flag, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Dependencies to place before and after the object being linked: _LT_AC_TAGVAR(predep_objects, $1)= _LT_AC_TAGVAR(postdep_objects, $1)= _LT_AC_TAGVAR(predeps, $1)= _LT_AC_TAGVAR(postdeps, $1)= _LT_AC_TAGVAR(compiler_lib_search_path, $1)= # Source file extension for C++ test sources. ac_ext=cc # Object file extension for compiled C++ test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration AC_PROG_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ grep 'no-whole-archive' > /dev/null; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_AC_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_AC_TAGVAR(archive_cmds, $1)='' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=yes else # We have old collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # -bexpall does not export symbols beginning with underscore (_) _LT_AC_TAGVAR(always_export_symbols, $1)=yes # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds it's shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no case "$host_os" in rhapsody* | darwin1.[[012]]) _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' ;; *) # Darwin 1.3 on test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' ;; esac lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's if test "X$lt_int_apple_cc_single_mod" = Xyes ; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes fi ;; dgux*) case $cc_basename in ec++) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; ghcx) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_AC_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; hpux9*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aCC) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then case "$host_cpu" in hppa*64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ;; *) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case "$host_cpu" in hppa*64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; *) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aCC) case "$host_cpu" in hppa*64*|ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case "$host_cpu" in ia64*|hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; irix5* | irix6*) case $cc_basename in CC) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; linux*) case $cc_basename in KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc) # Intel C++ with_gnu_ld=yes _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; cxx) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; osf3*) case $cc_basename in KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; cxx) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; osf4* | osf5*) case $cc_basename in KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; cxx) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ $rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; sco*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no case $cc_basename in CC) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; sunos4*) case $cc_basename in CC) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; lcc) # Lucid # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC) # Sun C++ 4.2, 5.x and Centerline C++ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The C++ compiler is used as linker so we must use $wl # flag to pass the commands to the underlying system # linker. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx) # Green Hills C++ Compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' fi ;; esac ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; tandem*) case $cc_basename in NCC) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_AC_TAGVAR(GCC, $1)="$GXX" _LT_AC_TAGVAR(LD, $1)="$LD" AC_LIBTOOL_POSTDEP_PREDEP($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_DLOPEN_SELF($1) AC_LIBTOOL_CONFIG($1) AC_LANG_POP CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ldcxx=$with_gnu_ld with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld ])# AC_LIBTOOL_LANG_CXX_CONFIG # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) # ------------------------ # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... ifelse([$1],[],[cat > conftest.$ac_ext <<EOF int a; void foo (void) { a = 0; } EOF ],[$1],[CXX],[cat > conftest.$ac_ext <<EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; EOF ],[$1],[F77],[cat > conftest.$ac_ext <<EOF subroutine foo implicit none integer*4 a a=0 return end EOF ],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF public class foo { private int a; public void bar (void) { a = 0; } }; EOF ]) dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no # The `*' in the case matches for architectures that use `case' in # $output_verbose_cmd can trigger glob expansion during the loop # eval without this substitution. output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" for p in `eval $output_verbose_link_cmd`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" \ || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then _LT_AC_TAGVAR(predep_objects, $1)="$p" else _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then _LT_AC_TAGVAR(postdep_objects, $1)="$p" else _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $rm -f confest.$objext case " $_LT_AC_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac ])# AC_LIBTOOL_POSTDEP_PREDEP # AC_LIBTOOL_LANG_F77_CONFIG # ------------------------ # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) AC_DEFUN([_LT_AC_LANG_F77_CONFIG], [AC_REQUIRE([AC_PROG_F77]) AC_LANG_PUSH(Fortran 77) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(allow_undefined_flag, $1)= _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(archive_expsym_cmds, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_AC_TAGVAR(no_undefined_flag, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code=" subroutine t\n return\n end\n" # Code to be used in simple link tests lt_simple_link_test_code=" program t\n end\n" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case "$host_os" in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix4*) test "$enable_shared" = yes && enable_static=no ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_AC_TAGVAR(GCC, $1)="$G77" _LT_AC_TAGVAR(LD, $1)="$LD" AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_CONFIG($1) AC_LANG_POP CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_F77_CONFIG # AC_LIBTOOL_LANG_GCJ_CONFIG # -------------------------- # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], [AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}\n" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_DLOPEN_SELF($1) AC_LIBTOOL_CONFIG($1) AC_LANG_RESTORE CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_GCJ_CONFIG # AC_LIBTOOL_LANG_RC_CONFIG # -------------------------- # Ensure that the configuration vars for the Windows resource compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) AC_DEFUN([_LT_AC_LANG_RC_CONFIG], [AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes AC_LIBTOOL_CONFIG($1) AC_LANG_RESTORE CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_RC_CONFIG # AC_LIBTOOL_CONFIG([TAGNAME]) # ---------------------------- # If TAGNAME is not passed, then create an initial libtool script # with a default configuration from the untagged config vars. Otherwise # add code to config.status for appending the configuration named by # TAGNAME from the matching tagged config vars. AC_DEFUN([AC_LIBTOOL_CONFIG], [# The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ _LT_AC_TAGVAR(compiler, $1) \ _LT_AC_TAGVAR(CC, $1) \ _LT_AC_TAGVAR(LD, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ _LT_AC_TAGVAR(old_archive_cmds, $1) \ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ _LT_AC_TAGVAR(predep_objects, $1) \ _LT_AC_TAGVAR(postdep_objects, $1) \ _LT_AC_TAGVAR(predeps, $1) \ _LT_AC_TAGVAR(postdeps, $1) \ _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ _LT_AC_TAGVAR(archive_cmds, $1) \ _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ _LT_AC_TAGVAR(postinstall_cmds, $1) \ _LT_AC_TAGVAR(postuninstall_cmds, $1) \ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ _LT_AC_TAGVAR(allow_undefined_flag, $1) \ _LT_AC_TAGVAR(no_undefined_flag, $1) \ _LT_AC_TAGVAR(export_symbols_cmds, $1) \ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ _LT_AC_TAGVAR(hardcode_automatic, $1) \ _LT_AC_TAGVAR(module_cmds, $1) \ _LT_AC_TAGVAR(module_expsym_cmds, $1) \ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ _LT_AC_TAGVAR(exclude_expsyms, $1) \ _LT_AC_TAGVAR(include_expsyms, $1); do case $var in _LT_AC_TAGVAR(old_archive_cmds, $1) | \ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ _LT_AC_TAGVAR(archive_cmds, $1) | \ _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ _LT_AC_TAGVAR(module_cmds, $1) | \ _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\[$]0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` ;; esac ifelse([$1], [], [cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" AC_MSG_NOTICE([creating $ofile])], [cfgfile="$ofile"]) cat <<__EOF__ >> "$cfgfile" ifelse([$1], [], [#! $SHELL # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="$SED -e s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG], [# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # A language-specific compiler. CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) # Is the compiler the GNU C compiler? with_gcc=$_LT_AC_TAGVAR(GCC, $1) # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_[]_LT_AC_TAGVAR(LD, $1) # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext='$shrext' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) # Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) # Commands used to build and install a shared archive. archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) # Flag that forces no undefined symbols. no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" # Set to yes if exported symbols are required. always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) # The commands to list exported symbols. export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) # Symbols that must always be exported. include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) ifelse([$1],[], [# ### END LIBTOOL CONFIG], [# ### END LIBTOOL TAG CONFIG: $tagname]) __EOF__ ifelse([$1],[], [ case $host_os in aix3*) cat <<\EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi EOF ;; esac # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || \ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ]) else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. test -f Makefile && make "$ltmain" fi ])# AC_LIBTOOL_CONFIG # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------------------- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE # --------------------------------- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_PROG_NM]) AC_REQUIRE([AC_OBJEXT]) # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Transform the above into a raw symbol and a C symbol. symxfrm='\1 \2\3 \3' # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32*) symcode='[[ABCDGISTW]]' ;; hpux*) # Its linker distinguishes data from code symbols if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris* | sysv5*) symcode='[[BDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGISTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Write the raw and C identifiers. lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if grep ' nm_test_var$' "$nlist" >/dev/null; then if grep ' nm_test_func$' "$nlist" >/dev/null; then cat <<EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' cat <<EOF >> conftest.$ac_ext #if defined (__STDC__) && __STDC__ # define lt_ptr_t void * #else # define lt_ptr_t char * # define const #endif /* The mapping between symbol names and symbols. */ const struct { const char *name; lt_ptr_t address; } lt_preloaded_symbols[[]] = { EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext cat <<\EOF >> conftest.$ac_ext {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -f conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) # --------------------------------------- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_static, $1)= AC_MSG_CHECKING([for $compiler option to produce PIC]) ifelse([$1],[CXX],[ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case "$host_cpu" in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix4* | aix5*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" case "$host_cpu" in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux*) case $cc_basename in KCC) # KAI C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; icpc) # Intel C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; cxx) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC) # Rational C++ 2.4.1 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx) # Digital/Compaq C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; sco*) case $cc_basename in CC) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; *) ;; esac ;; solaris*) case $cc_basename in CC) # Sun C++ 4.2, 5.x and Centerline C++ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC) # Sun C++ 4.x _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc) # Lucid _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC) # NonStop-UX NCC 3.20 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; unixware*) ;; vxworks*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case "$host_cpu" in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case "$host_cpu" in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; newsos6) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; linux*) case $CC in icc|ecc) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; ccc) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; esac ;; osf3* | osf4* | osf5*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; sco3.2v5*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sunos4*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; uts4*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" ;; esac ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) ifelse([$1],[CXX],[ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix4* | aix5*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' else _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw*) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' ;; *) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ],[ runpath_var= _LT_AC_TAGVAR(allow_undefined_flag, $1)= _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)= _LT_AC_TAGVAR(archive_expsym_cmds, $1)= _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_AC_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; openbsd*) with_gnu_ld=no ;; esac _LT_AC_TAGVAR(ld_shlibs, $1)=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # See if GNU ld supports shared libraries. case $host_os in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach <jrb3@best.com> says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris* | sysv5*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sunos4*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then runpath_var=LD_RUN_PATH _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= fi fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=yes _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$link_static_flag"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' else _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_AC_TAGVAR(archive_cmds, $1)='' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=yes else # We have old collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # -bexpall does not export symbols beginning with underscore (_) _LT_AC_TAGVAR(always_export_symbols, $1)=yes # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds it's shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # see comment about different semantics on the GNU ld section _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; bsdi4*) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no case "$host_os" in rhapsody* | darwin1.[[012]]) _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' ;; *) # Darwin 1.3 on test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' ;; esac # FIXME: Relying on posixy $() will cause problems for # cross-compilation, but unfortunately the echo tests do not # yet detect zsh echo's removal of \ escapes. Also zsh mangles # `"' quotes if we put them in here... so don't! lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's if test "X$lt_int_apple_cc_single_mod" = Xyes ; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes fi ;; dgux*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; freebsd1*) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case "$host_cpu" in hppa*64*|ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case "$host_cpu" in hppa*64*|ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; esac fi if test "$with_gnu_ld" = no; then case "$host_cpu" in hppa*64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ;; *) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; openbsd*) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi ;; os2*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; sco3.2v5*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_AC_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_AC_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4.2uw2*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no hardcode_runpath_var=yes runpath_var=LD_RUN_PATH ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' fi runpath_var='LD_RUN_PATH' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv5*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' # $CC -shared without GNU ld will not create a library from C++ # object files and a static libstdc++, better avoid it by now _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' ;; uts4*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac fi ]) AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi # # Do we need to explicitly link libc? # case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_AC_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_MSG_CHECKING([whether -lc should be explicitly linked in]) $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) _LT_AC_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) then _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no else _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) ;; esac fi ;; esac ])# AC_LIBTOOL_PROG_LD_SHLIBS # _LT_AC_FILE_LTDLL_C # ------------------- # Be careful that the start marker always follows a newline. AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ # /* ltdll.c starts here */ # #define WIN32_LEAN_AND_MEAN # #include <windows.h> # #undef WIN32_LEAN_AND_MEAN # #include <stdio.h> # # #ifndef __CYGWIN__ # # ifdef __CYGWIN32__ # # define __CYGWIN__ __CYGWIN32__ # # endif # #endif # # #ifdef __cplusplus # extern "C" { # #endif # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); # #ifdef __cplusplus # } # #endif # # #ifdef __CYGWIN__ # #include <cygwin/cygwin_dll.h> # DECLARE_CYGWIN_DLL( DllMain ); # #endif # HINSTANCE __hDllInstance_base; # # BOOL APIENTRY # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) # { # __hDllInstance_base = hInst; # return TRUE; # } # /* ltdll.c ends here */ ])# _LT_AC_FILE_LTDLL_C # _LT_AC_TAGVAR(VARNAME, [TAGNAME]) # --------------------------------- AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) # old names AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) # This is just to silence aclocal about the macro not being used ifelse([AC_DISABLE_FAST_INSTALL]) AC_DEFUN([LT_AC_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj, no) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS) ]) AC_DEFUN([LT_AC_PROG_RC], [AC_CHECK_TOOL(RC, windres, no) ]) # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # # LT_AC_PROG_SED # -------------- # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. AC_DEFUN([LT_AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && break cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done SED=$lt_cv_path_SED ]) AC_MSG_RESULT([$SED]) ]) # Copyright 1996, 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 # @defmac AC_PROG_CC_STDC # @maindex PROG_CC_STDC # @ovindex CC # If the C compiler in not in ANSI C mode by default, try to add an option # to output variable @code{CC} to make it so. This macro tries various # options that select ANSI C on some system or another. It considers the # compiler to be in ANSI C mode if it handles function prototypes correctly. # # If you use this macro, you should check after calling it whether the C # compiler has been set to accept ANSI C; if not, the shell variable # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source # code in ANSI C, you can make an un-ANSIfied copy of it by using the # program @code{ansi2knr}, which comes with Ghostscript. # @end defmac AC_DEFUN([AM_PROG_CC_STDC], [AC_REQUIRE([AC_PROG_CC]) AC_BEFORE([$0], [AC_C_INLINE]) AC_BEFORE([$0], [AC_C_CONST]) dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require dnl a magic option to avoid problems with ANSI preprocessor commands dnl like #elif. dnl FIXME: can't do this because then AC_AIX won't work due to a dnl circular dependency. dnl AC_BEFORE([$0], [AC_PROG_CPP]) AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C]) AC_CACHE_VAL(am_cv_prog_cc_stdc, [am_cv_prog_cc_stdc=no ac_save_CC="$CC" # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" AC_TRY_COMPILE( [#include <stdarg.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; ], [ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ], [am_cv_prog_cc_stdc="$ac_arg"; break]) done CC="$ac_save_CC" ]) if test -z "$am_cv_prog_cc_stdc"; then AC_MSG_RESULT([none needed]) else AC_MSG_RESULT([$am_cv_prog_cc_stdc]) fi case "x$am_cv_prog_cc_stdc" in x|xno) ;; *) CC="$CC $am_cv_prog_cc_stdc" ;; esac ]) AU_DEFUN([fp_PROG_CC_STDC], [AM_PROG_CC_STDC]) # Copyright 1996, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 AC_DEFUN([AM_C_PROTOTYPES], [AC_REQUIRE([AM_PROG_CC_STDC]) AC_REQUIRE([AC_PROG_CPP]) AC_MSG_CHECKING([for function prototypes]) if test "$am_cv_prog_cc_stdc" != no; then AC_MSG_RESULT(yes) AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes]) U= ANSI2KNR= else AC_MSG_RESULT(no) U=_ ANSI2KNR=./ansi2knr fi # Ensure some checks needed by ansi2knr itself. AC_HEADER_STDC AC_CHECK_HEADERS(string.h) AC_SUBST(U)dnl AC_SUBST(ANSI2KNR)dnl ]) AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) # Copyright 1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 AC_DEFUN([AM_WITH_DMALLOC], [AC_MSG_CHECKING([if malloc debugging is wanted]) AC_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc, as in http://www.dmalloc.com/dmalloc.tar.gz], [if test "$withval" = yes; then AC_MSG_RESULT(yes) AC_DEFINE(WITH_DMALLOC,1, [Define if using the dmalloc debugging malloc package]) LIBS="$LIBS -ldmalloc" LDFLAGS="$LDFLAGS -g" else AC_MSG_RESULT(no) fi], [AC_MSG_RESULT(no)]) ]) AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC]) # Configure paths for GTK+ # Owen Taylor 97-11-3 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS dnl AC_DEFUN(AM_PATH_GTK, [dnl dnl Get the cflags and libraries from the gtk-config script dnl AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], gtk_config_prefix="$withval", gtk_config_prefix="") AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], , enable_gtktest=yes) for module in . $4 do case "$module" in gthread) gtk_config_args="$gtk_config_args gthread" ;; esac done if test x$gtk_config_exec_prefix != x ; then gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" if test x${GTK_CONFIG+set} != xset ; then GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config fi fi if test x$gtk_config_prefix != x ; then gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" if test x${GTK_CONFIG+set} != xset ; then GTK_CONFIG=$gtk_config_prefix/bin/gtk-config fi fi AC_PATH_PROG(GTK_CONFIG, gtk-config, no) min_gtk_version=ifelse([$1], ,0.99.7,$1) AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) no_gtk="" if test "$GTK_CONFIG" = "no" ; then no_gtk=yes else GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test "x$enable_gtktest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS" LIBS="$GTK_LIBS $LIBS" dnl dnl Now check if the installed GTK is sufficiently new. (Also sanity dnl checks the results of gtk-config to some extent dnl rm -f conf.gtktest AC_TRY_RUN([ #include <gtk/gtk.h> #include <stdio.h> #include <stdlib.h> int main () { int major, minor, micro; char *tmp_version; system ("touch conf.gtktest"); /* HP/UX 9 (%@#!) writes to sscanf strings */ tmp_version = g_strdup("$min_gtk_version"); if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { printf("%s, bad version string\n", "$min_gtk_version"); exit(1); } if ((gtk_major_version != $gtk_config_major_version) || (gtk_minor_version != $gtk_config_minor_version) || (gtk_micro_version != $gtk_config_micro_version)) { printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, gtk_major_version, gtk_minor_version, gtk_micro_version); printf ("*** was found! If gtk-config was correct, then it is best\n"); printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); printf("*** required on your system.\n"); printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); printf("*** before re-running configure\n"); } #if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) else if ((gtk_major_version != GTK_MAJOR_VERSION) || (gtk_minor_version != GTK_MINOR_VERSION) || (gtk_micro_version != GTK_MICRO_VERSION)) { printf("*** GTK+ header files (version %d.%d.%d) do not match\n", GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); printf("*** library (version %d.%d.%d)\n", gtk_major_version, gtk_minor_version, gtk_micro_version); } #endif /* defined (GTK_MAJOR_VERSION) ... */ else { if ((gtk_major_version > major) || ((gtk_major_version == major) && (gtk_minor_version > minor)) || ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) { return 0; } else { printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", gtk_major_version, gtk_minor_version, gtk_micro_version); printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", major, minor, micro); printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); printf("***\n"); printf("*** If you have already installed a sufficiently new version, this error\n"); printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); printf("*** being found. The easiest way to fix this is to remove the old version\n"); printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); printf("*** correct copy of gtk-config. (In this case, you will have to\n"); printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); printf("*** so that the correct libraries are found at run-time))\n"); } } return 1; } ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi fi if test "x$no_gtk" = x ; then AC_MSG_RESULT(yes) ifelse([$2], , :, [$2]) else AC_MSG_RESULT(no) if test "$GTK_CONFIG" = "no" ; then echo "*** The gtk-config script installed by GTK could not be found" echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" echo "*** your path, or set the GTK_CONFIG environment variable to the" echo "*** full path to gtk-config." else if test -f conf.gtktest ; then : else echo "*** Could not run GTK test program, checking why..." CFLAGS="$CFLAGS $GTK_CFLAGS" LIBS="$LIBS $GTK_LIBS" AC_TRY_LINK([ #include <gtk/gtk.h> #include <stdio.h> ], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], [ echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding GTK or finding the wrong" echo "*** version of GTK. If it is not finding GTK, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" echo "***" echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" echo "*** came with the system with the command" echo "***" echo "*** rpm --erase --nodeps gtk gtk-devel" ], [ echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means GTK was incorrectly installed" echo "*** or that you have moved GTK since it was installed. In the latter case, you" echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi fi GTK_CFLAGS="" GTK_LIBS="" ifelse([$3], , :, [$3]) fi AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) rm -f conf.gtktest ]) ��07070100069c8b000081ed0000000200000002000000013fc86a760000a435000000200000000800000000000000000000001300000000reloc/config.guess����#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. timestamp='2003-07-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner <per@bothner.com>. # Please send patches to <config-patches@gnu.org>. Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; macppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvmeppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mipseb-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sun3:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha*:OpenVMS:*:*) echo alpha-hp-vms exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit 0 ;; DRS?6000:UNIX_SV:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7 && exit 0 ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include <stdio.h> /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c \ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && exit 0 echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include <sys/systemcfg.h> main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include <stdlib.h> #include <unistd.h> int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then # avoid double evaluation of $set_cc_for_build test -n "$CC_FOR_BUILD" || eval $set_cc_for_build if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include <unistd.h> int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; *:UNICOS/mp:*:*) echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) # Determine whether the default compiler uses glibc. eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include <features.h> #if __GLIBC__ >= 2 LIBC=gnu #else LIBC= #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` # GNU/FreeBSD systems have a "k" prefix to indicate we are using # FreeBSD's kernel, but not the complete OS. case ${LIBC} in gnu) kernel_only='k' ;; esac echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; x86:Interix*:[34]*) echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' exit 0 ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit 0 ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit 0 ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit 0 ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include <features.h> #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #ifdef __INTEL_COMPILER LIBC=gnu #else LIBC=gnuaout #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit 0 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit 0 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit 0 ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit 0 ;; i*86:*:5:[78]*) case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit 0 ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` echo ${UNAME_MACHINE}-pc-isc$UNAME_REL elif /bin/uname -X 2>/dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit 0 ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit 0 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says <Richard.M.Bartel@ccMail.Census.GOV> echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes <hewes@openmarket.com>. # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) case `uname -p` in *86) UNAME_PROCESSOR=i686 ;; powerpc) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c <<EOF #ifdef _SEQUENT_ # include <sys/types.h> # include <sys/utsname.h> #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include <sys/param.h> printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include <sys/param.h> # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 <<EOF $0: unable to guess system type This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from ftp://ftp.gnu.org/pub/gnu/config/ If the version you run ($0) is already up to date, please send the following data and any information you think might be pertinent to <config-patches@gnu.org> in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ���07070100069c8c000081a40000000200000002000000014325fa95000020cc000000200000000800000000000000000000000f00000000reloc/config.h����/* config.h. Generated by configure. */ /* config.h.in. Generated from configure.in by autoheader. */ /* debug define */ /* #undef ABORTFP */ /* enable VBR bitrate histogram */ #define BRHIST 1 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ /* #undef CRAY_STACKSEG_END */ /* Define to 1 if using `alloca.c'. */ /* #undef C_ALLOCA */ /* alot of debug output */ /* #undef DEBUG */ /* allow to compute a more accurate replaygain value */ #define DECODE_ON_THE_FLY 1 /* double is faster than float on Alpha */ /* #undef FLOAT */ /* float instead of double */ /* #undef FLOAT8 */ /* Define to 1 if you have `alloca', as a function or macro. */ #define HAVE_ALLOCA 1 /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). */ #define HAVE_ALLOCA_H 1 /* Define to 1 if you have the <dlfcn.h> header file. */ #define HAVE_DLFCN_H 1 /* we link against libefence */ /* #undef HAVE_EFENCE */ /* Define to 1 if you have the <errno.h> header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `gettimeofday' function. */ #define HAVE_GETTIMEOFDAY 1 /* have working GTK */ #define HAVE_GTK 1 /* add ieee754_float32_t type */ /* #undef HAVE_IEEE754_FLOAT32_T */ #ifndef HAVE_IEEE754_FLOAT32_T typedef float ieee754_float32_t; #endif /* add ieee754_float64_t type */ /* #undef HAVE_IEEE754_FLOAT64_T */ #ifndef HAVE_IEEE754_FLOAT64_T typedef double ieee754_float64_t; #endif /* system has 80 bit floats */ #define HAVE_IEEE854_FLOAT80 1 /* add ieee854_float80_t type */ /* #undef HAVE_IEEE854_FLOAT80_T */ #ifndef HAVE_IEEE854_FLOAT80_T typedef long double ieee854_float80_t; #endif /* add int16_t type */ #define HAVE_INT16_T 1 #ifndef HAVE_INT16_T typedef short int16_t; #endif /* add int32_t type */ #define HAVE_INT32_T 1 #ifndef HAVE_INT32_T #define A_INT32_T int typedef A_INT32_T int32_t; #endif /* add int64_t type */ #define HAVE_INT64_T 1 #ifndef HAVE_INT64_T #define A_INT64_T long long typedef A_INT64_T int64_t; #endif /* add int8_t type */ #define HAVE_INT8_T 1 #ifndef HAVE_INT8_T typedef char int8_t; #endif /* Define to 1 if you have the <inttypes.h> header file. */ #define HAVE_INTTYPES_H 1 /* Define to 1 if you have the <limits.h> header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the <linux/soundcard.h> header file. */ /* #undef HAVE_LINUX_SOUNDCARD_H */ /* Define to 1 if long double works and has more range or precision than double. */ #define HAVE_LONG_DOUBLE 1 /* Define to 1 if you have the <memory.h> header file. */ #define HAVE_MEMORY_H 1 /* build with mpglib support */ #define HAVE_MPGLIB 1 /* have nasm */ /* #undef HAVE_NASM */ /* Define to 1 if you have the <ncurses/termcap.h> header file. */ /* #undef HAVE_NCURSES_TERMCAP_H */ /* Define to 1 if you have the `socket' function. */ #define HAVE_SOCKET 1 /* Define to 1 if you have the <stdint.h> header file. */ #define HAVE_STDINT_H 1 /* Define to 1 if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the <strings.h> header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the <string.h> header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strtol' function. */ #define HAVE_STRTOL 1 /* Define to 1 if you have the <sys/soundcard.h> header file. */ /* #undef HAVE_SYS_SOUNDCARD_H */ /* Define to 1 if you have the <sys/stat.h> header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the <sys/time.h> header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the <sys/types.h> header file. */ #define HAVE_SYS_TYPES_H 1 /* have termcap */ #define HAVE_TERMCAP 1 /* Define to 1 if you have the <termcap.h> header file. */ /* #undef HAVE_TERMCAP_H */ /* add uint16_t type */ #define HAVE_UINT16_T 1 #ifndef HAVE_UINT16_T typedef unsigned short uint16_t; #endif /* add uint32_t type */ #define HAVE_UINT32_T 1 #ifndef HAVE_UINT32_T #define A_UINT32_T unsigned int typedef A_UINT32_T uint32_t; #endif /* add uint64_t type */ #define HAVE_UINT64_T 1 #ifndef HAVE_UINT64_T #define A_UINT64_T unsigned long long typedef A_UINT64_T uint64_t; #endif /* add uint8_t type */ #define HAVE_UINT8_T 1 #ifndef HAVE_UINT8_T typedef unsigned char uint8_t; #endif /* Define to 1 if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 /* winsock */ /* #undef HAVE_WINSOCKET */ /* requested by Frank, seems to be temporary needed for a smooth transition */ #define LAME_LIBRARY_BUILD 1 /* build with libsndfile support */ /* #undef LIBSNDFILE */ /* use MMX version of choose_table */ /* #undef MMX_choose_table */ /* no debug build */ #define NDEBUG 1 /* build without hooks for analyzer */ /* #undef NOANALYSIS */ /* Name of package */ #define PACKAGE "lame" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" /* Define to the full name of this package. */ #define PACKAGE_NAME "" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "" /* Define to the version of this package. */ #define PACKAGE_VERSION "" /* Define if compiler has function prototypes */ #define PROTOTYPES 1 /* The size of a `double', as computed by sizeof. */ #define SIZEOF_DOUBLE 8 /* The size of a `float', as computed by sizeof. */ #define SIZEOF_FLOAT 4 /* The size of a `int', as computed by sizeof. */ #define SIZEOF_INT 4 /* The size of a `long', as computed by sizeof. */ #define SIZEOF_LONG 4 /* The size of a `long double', as computed by sizeof. */ /* #undef SIZEOF_LONG_DOUBLE */ /* The size of a `long long', as computed by sizeof. */ #define SIZEOF_LONG_LONG 8 /* The size of a `short', as computed by sizeof. */ #define SIZEOF_SHORT 2 /* The size of a `unsigned int', as computed by sizeof. */ #define SIZEOF_UNSIGNED_INT 4 /* The size of a `unsigned long', as computed by sizeof. */ #define SIZEOF_UNSIGNED_LONG 4 /* The size of a `unsigned long long', as computed by sizeof. */ #define SIZEOF_UNSIGNED_LONG_LONG 8 /* The size of a `unsigned short', as computed by sizeof. */ #define SIZEOF_UNSIGNED_SHORT 2 /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ /* #undef STACK_DIRECTION */ /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* IEEE754 compatible machine */ /* #undef TAKEHIRO_IEEE754_HACK */ /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ #define TIME_WITH_SYS_TIME 1 /* faster log implementation with less but enough precission */ /* #undef USE_FAST_LOG */ /* build with layer 1 decoding */ /* #undef USE_LAYER_1 */ /* build with layer 2 decoding */ #define USE_LAYER_2 1 /* Version number of package */ #define VERSION "3.96.1" /* Define if using the dmalloc debugging malloc package */ /* #undef WITH_DMALLOC */ /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ #define WORDS_BIGENDIAN 1 /* Define to 1 if on AIX 3. System headers sometimes define this. We just want to avoid a redefinition error message. */ #ifndef _ALL_SOURCE /* # undef _ALL_SOURCE */ #endif /* Define to 1 if on MINIX. */ /* #undef _MINIX */ /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ /* #undef _POSIX_1_SOURCE */ /* Define to 1 if you need to in order for `stat' and other things to work. */ /* #undef _POSIX_SOURCE */ /* we're on DEC Alpha */ /* #undef __DECALPHA__ */ /* work around a glibc bug */ /* #undef __NO_MATH_INLINES */ /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define as `__inline' if that's what the C compiler calls it, or to nothing if it is not supported. */ /* #undef inline */ /* Define to `unsigned' if <sys/types.h> does not define. */ /* #undef size_t */ 07070100069c8d000081a4000000020000000200000001401e495d00001ee5000000200000000800000000000000000000001200000000reloc/config.h.in�/* config.h.in. Generated from configure.in by autoheader. */ /* debug define */ #undef ABORTFP /* enable VBR bitrate histogram */ #undef BRHIST /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* alot of debug output */ #undef DEBUG /* allow to compute a more accurate replaygain value */ #undef DECODE_ON_THE_FLY /* double is faster than float on Alpha */ #undef FLOAT /* float instead of double */ #undef FLOAT8 /* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Define to 1 if you have the <dlfcn.h> header file. */ #undef HAVE_DLFCN_H /* we link against libefence */ #undef HAVE_EFENCE /* Define to 1 if you have the <errno.h> header file. */ #undef HAVE_ERRNO_H /* Define to 1 if you have the <fcntl.h> header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* have working GTK */ #undef HAVE_GTK /* add ieee754_float32_t type */ #undef HAVE_IEEE754_FLOAT32_T #ifndef HAVE_IEEE754_FLOAT32_T typedef float ieee754_float32_t; #endif /* add ieee754_float64_t type */ #undef HAVE_IEEE754_FLOAT64_T #ifndef HAVE_IEEE754_FLOAT64_T typedef double ieee754_float64_t; #endif /* system has 80 bit floats */ #undef HAVE_IEEE854_FLOAT80 /* add ieee854_float80_t type */ #undef HAVE_IEEE854_FLOAT80_T #ifndef HAVE_IEEE854_FLOAT80_T typedef long double ieee854_float80_t; #endif /* add int16_t type */ #undef HAVE_INT16_T #ifndef HAVE_INT16_T typedef short int16_t; #endif /* add int32_t type */ #undef HAVE_INT32_T #ifndef HAVE_INT32_T #undef A_INT32_T typedef A_INT32_T int32_t; #endif /* add int64_t type */ #undef HAVE_INT64_T #ifndef HAVE_INT64_T #undef A_INT64_T typedef A_INT64_T int64_t; #endif /* add int8_t type */ #undef HAVE_INT8_T #ifndef HAVE_INT8_T typedef char int8_t; #endif /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the <limits.h> header file. */ #undef HAVE_LIMITS_H /* Define to 1 if you have the <linux/soundcard.h> header file. */ #undef HAVE_LINUX_SOUNDCARD_H /* Define to 1 if long double works and has more range or precision than double. */ #undef HAVE_LONG_DOUBLE /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H /* build with mpglib support */ #undef HAVE_MPGLIB /* have nasm */ #undef HAVE_NASM /* Define to 1 if you have the <ncurses/termcap.h> header file. */ #undef HAVE_NCURSES_TERMCAP_H /* Define to 1 if you have the `socket' function. */ #undef HAVE_SOCKET /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the <strings.h> header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL /* Define to 1 if you have the <sys/soundcard.h> header file. */ #undef HAVE_SYS_SOUNDCARD_H /* Define to 1 if you have the <sys/stat.h> header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the <sys/time.h> header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the <sys/types.h> header file. */ #undef HAVE_SYS_TYPES_H /* have termcap */ #undef HAVE_TERMCAP /* Define to 1 if you have the <termcap.h> header file. */ #undef HAVE_TERMCAP_H /* add uint16_t type */ #undef HAVE_UINT16_T #ifndef HAVE_UINT16_T typedef unsigned short uint16_t; #endif /* add uint32_t type */ #undef HAVE_UINT32_T #ifndef HAVE_UINT32_T #undef A_UINT32_T typedef A_UINT32_T uint32_t; #endif /* add uint64_t type */ #undef HAVE_UINT64_T #ifndef HAVE_UINT64_T #undef A_UINT64_T typedef A_UINT64_T uint64_t; #endif /* add uint8_t type */ #undef HAVE_UINT8_T #ifndef HAVE_UINT8_T typedef unsigned char uint8_t; #endif /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H /* winsock */ #undef HAVE_WINSOCKET /* requested by Frank, seems to be temporary needed for a smooth transition */ #undef LAME_LIBRARY_BUILD /* build with libsndfile support */ #undef LIBSNDFILE /* use MMX version of choose_table */ #undef MMX_choose_table /* no debug build */ #undef NDEBUG /* build without hooks for analyzer */ #undef NOANALYSIS /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define if compiler has function prototypes */ #undef PROTOTYPES /* The size of a `double', as computed by sizeof. */ #undef SIZEOF_DOUBLE /* The size of a `float', as computed by sizeof. */ #undef SIZEOF_FLOAT /* The size of a `int', as computed by sizeof. */ #undef SIZEOF_INT /* The size of a `long', as computed by sizeof. */ #undef SIZEOF_LONG /* The size of a `long double', as computed by sizeof. */ #undef SIZEOF_LONG_DOUBLE /* The size of a `long long', as computed by sizeof. */ #undef SIZEOF_LONG_LONG /* The size of a `short', as computed by sizeof. */ #undef SIZEOF_SHORT /* The size of a `unsigned int', as computed by sizeof. */ #undef SIZEOF_UNSIGNED_INT /* The size of a `unsigned long', as computed by sizeof. */ #undef SIZEOF_UNSIGNED_LONG /* The size of a `unsigned long long', as computed by sizeof. */ #undef SIZEOF_UNSIGNED_LONG_LONG /* The size of a `unsigned short', as computed by sizeof. */ #undef SIZEOF_UNSIGNED_SHORT /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* IEEE754 compatible machine */ #undef TAKEHIRO_IEEE754_HACK /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ #undef TIME_WITH_SYS_TIME /* faster log implementation with less but enough precission */ #undef USE_FAST_LOG /* build with layer 1 decoding */ #undef USE_LAYER_1 /* build with layer 2 decoding */ #undef USE_LAYER_2 /* Version number of package */ #undef VERSION /* Define if using the dmalloc debugging malloc package */ #undef WITH_DMALLOC /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ #undef WORDS_BIGENDIAN /* Define to 1 if on AIX 3. System headers sometimes define this. We just want to avoid a redefinition error message. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* we're on DEC Alpha */ #undef __DECALPHA__ /* work around a glibc bug */ #undef __NO_MATH_INLINES /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define as `__inline' if that's what the C compiler calls it, or to nothing if it is not supported. */ #undef inline /* Define to `unsigned' if <sys/types.h> does not define. */ #undef size_t ���07070100069c8e000081a40000000200000002000000014325fa9e0001703b000000200000000800000000000000000000001100000000reloc/config.log��This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by configure, which was generated by GNU Autoconf 2.57. Invocation command line was $ ./configure ## --------- ## ## Platform. ## ## --------- ## hostname = fOrk uname -m = sun4u uname -r = 5.11 uname -s = SunOS uname -v = snv_16 /usr/bin/uname -p = sparc /bin/uname -X = System = SunOS Node = fOrk Release = 5.11 KernelID = snv_16 Machine = sun4u BusType = <unknown> Serial = <unknown> Users = <unknown> OEM# = 0 Origin# = 1 NumCPU = 1 /bin/arch = sun4 /usr/bin/arch -k = sun4u /usr/convex/getsysinfo = unknown hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /usr/openwin/bin PATH: /opt/sfw/bin PATH: /opt/sfw/kde/bin PATH: /usr/bin PATH: . PATH: /usr/openwin/bin PATH: /bin PATH: /usr/ucb PATH: /usr/bin PATH: /opt/csw/bin PATH: /opt/sfw/bin PATH: /opt/sfw/kde/bin PATH: /usr/local/bin PATH: /opt/csw/gcc3/bin PATH: /usr/openwin/bin PATH: /home/shake PATH: /usr/local/qt/bin PATH: . PATH: /opt/sfw/kde/bin PATH: /usr/openwin/bin PATH: /opt/csw/bin PATH: /opt/sfw/bin PATH: /usr/openwin/bin PATH: /opt/sfw/kde/bin PATH: /usr/local/bin PATH: /opt/csw/gcc3/bin PATH: /opt/wx/bin PATH: /usr/local/ssl/include/openssl PATH: /opt/SUNWspro/bin PATH: . ## ----------- ## ## Core tests. ## ## ----------- ## configure:1526: checking build system type configure:1544: result: sparc-sun-solaris2.11 configure:1552: checking host system type configure:1566: result: sparc-sun-solaris2.11 configure:1588: checking for a BSD-compatible install configure:1642: result: /opt/sfw/bin/ginstall -c configure:1653: checking whether build environment is sane configure:1696: result: yes configure:1729: checking for gawk configure:1745: found /opt/sfw/bin/gawk configure:1755: result: gawk configure:1765: checking whether make sets $(MAKE) configure:1785: result: yes configure:1951: checking whether to enable maintainer-specific portions of Makefiles configure:1960: result: no configure:1982: checking for style of include used by make configure:2010: result: GNU configure:2087: checking for gcc configure:2103: found /opt/csw/gcc3/bin/gcc configure:2113: result: gcc configure:2357: checking for C compiler version configure:2360: gcc --version </dev/null >&5 sparc-sun-solaris2.8-gcc (GCC) 3.4.2 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:2363: $? = 0 configure:2365: gcc -v </dev/null >&5 Reading specs from /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.8/3.4.2/specs Configured with: ../configure --prefix=/opt/csw/gcc3 --with-local-prefix=/opt/csw/gcc3 --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-multilib --disable-nls --enable-threads --with-libiconv-prefix=/opt/csw --enable-shared Thread model: posix gcc version 3.4.2 configure:2368: $? = 0 configure:2370: gcc -V </dev/null >&5 sparc-sun-solaris2.8-gcc: `-V' must come at the start of the command line configure:2373: $? = 1 configure:2397: checking for C compiler default output configure:2400: gcc conftest.c >&5 configure:2403: $? = 0 configure:2449: result: a.out configure:2454: checking whether the C compiler works configure:2460: ./a.out configure:2463: $? = 0 configure:2480: result: yes configure:2487: checking whether we are cross compiling configure:2489: result: no configure:2492: checking for suffix of executables configure:2494: gcc -o conftest conftest.c >&5 configure:2497: $? = 0 configure:2522: result: configure:2528: checking for suffix of object files configure:2550: gcc -c conftest.c >&5 configure:2553: $? = 0 configure:2575: result: o configure:2579: checking whether we are using the GNU C compiler configure:2604: gcc -c conftest.c >&5 configure:2607: $? = 0 configure:2610: test -s conftest.o configure:2613: $? = 0 configure:2626: result: yes configure:2632: checking whether gcc accepts -g configure:2654: gcc -c -g conftest.c >&5 configure:2657: $? = 0 configure:2660: test -s conftest.o configure:2663: $? = 0 configure:2674: result: yes configure:2691: checking for gcc option to accept ANSI C configure:2752: gcc -c -g -O2 conftest.c >&5 configure:2755: $? = 0 configure:2758: test -s conftest.o configure:2761: $? = 0 configure:2779: result: none needed configure:2797: gcc -c -g -O2 conftest.c >&5 conftest.c:2: error: parse error before "me" configure:2800: $? = 1 configure: failed program was: | #ifndef __cplusplus | choke me | #endif configure:2911: checking dependency style of gcc configure:2979: result: gcc3 configure:3002: checking how to run the C preprocessor configure:3038: gcc -E conftest.c configure:3044: $? = 0 configure:3076: gcc -E conftest.c configure:3077:28: ac_nonexistent.h: No such file or directory configure:3082: $? = 1 configure: failed program was: | #line 3067 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:3120: result: gcc -E configure:3145: gcc -E conftest.c configure:3151: $? = 0 configure:3183: gcc -E conftest.c configure:3184:28: ac_nonexistent.h: No such file or directory configure:3189: $? = 1 configure: failed program was: | #line 3174 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:3232: checking for egrep configure:3242: result: egrep configure:3248: checking for AIX configure:3271: result: no configure:3277: checking for library containing strerror configure:3308: gcc -o conftest -g -O2 conftest.c >&5 configure:3311: $? = 0 configure:3314: test -s conftest configure:3317: $? = 0 configure:3376: result: none required configure:3383: checking for ANSI C header files configure:3409: gcc -c -g -O2 conftest.c >&5 configure:3412: $? = 0 configure:3415: test -s conftest.o configure:3418: $? = 0 configure:3510: gcc -o conftest -g -O2 conftest.c >&5 configure:3513: $? = 0 configure:3515: ./conftest configure:3518: $? = 0 configure:3533: result: yes configure:3557: checking for sys/types.h configure:3574: gcc -c -g -O2 conftest.c >&5 configure:3577: $? = 0 configure:3580: test -s conftest.o configure:3583: $? = 0 configure:3594: result: yes configure:3557: checking for sys/stat.h configure:3574: gcc -c -g -O2 conftest.c >&5 configure:3577: $? = 0 configure:3580: test -s conftest.o configure:3583: $? = 0 configure:3594: result: yes configure:3557: checking for stdlib.h configure:3574: gcc -c -g -O2 conftest.c >&5 configure:3577: $? = 0 configure:3580: test -s conftest.o configure:3583: $? = 0 configure:3594: result: yes configure:3557: checking for string.h configure:3574: gcc -c -g -O2 conftest.c >&5 configure:3577: $? = 0 configure:3580: test -s conftest.o configure:3583: $? = 0 configure:3594: result: yes configure:3557: checking for memory.h configure:3574: gcc -c -g -O2 conftest.c >&5 configure:3577: $? = 0 configure:3580: test -s conftest.o configure:3583: $? = 0 configure:3594: result: yes configure:3557: checking for strings.h configure:3574: gcc -c -g -O2 conftest.c >&5 configure:3577: $? = 0 configure:3580: test -s conftest.o configure:3583: $? = 0 configure:3594: result: yes configure:3557: checking for inttypes.h configure:3574: gcc -c -g -O2 conftest.c >&5 configure:3577: $? = 0 configure:3580: test -s conftest.o configure:3583: $? = 0 configure:3594: result: yes configure:3557: checking for stdint.h configure:3574: gcc -c -g -O2 conftest.c >&5 configure:3577: $? = 0 configure:3580: test -s conftest.o configure:3583: $? = 0 configure:3594: result: yes configure:3557: checking for unistd.h configure:3574: gcc -c -g -O2 conftest.c >&5 configure:3577: $? = 0 configure:3580: test -s conftest.o configure:3583: $? = 0 configure:3594: result: yes configure:3616: checking minix/config.h usability configure:3629: gcc -c -g -O2 conftest.c >&5 configure:3672:26: minix/config.h: No such file or directory configure:3632: $? = 1 configure: failed program was: | #line 3618 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <minix/config.h> configure:3648: result: no configure:3652: checking minix/config.h presence configure:3663: gcc -E conftest.c configure:3674:26: minix/config.h: No such file or directory configure:3669: $? = 1 configure: failed program was: | #line 3654 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #include <minix/config.h> configure:3688: result: no configure:3724: checking for minix/config.h configure:3731: result: no configure:3838: checking for a sed that does not truncate output configure:3892: result: /opt/sfw/bin/gsed configure:3906: checking for ld used by gcc configure:3973: result: /usr/ccs/bin/ld configure:3982: checking if the linker (/usr/ccs/bin/ld) is GNU ld configure:3997: result: no configure:4002: checking for /usr/ccs/bin/ld option to reload object files configure:4009: result: -r configure:4018: checking for BSD-compatible nm configure:4060: result: /usr/local/bin/nm -B configure:4064: checking whether ln -s works configure:4068: result: yes configure:4075: checking how to recognise dependent libraries configure:4275: result: pass_all configure:4487: checking dlfcn.h usability configure:4500: gcc -c -g -O2 conftest.c >&5 configure:4503: $? = 0 configure:4506: test -s conftest.o configure:4509: $? = 0 configure:4519: result: yes configure:4523: checking dlfcn.h presence configure:4534: gcc -E conftest.c configure:4540: $? = 0 configure:4559: result: yes configure:4595: checking for dlfcn.h configure:4602: result: yes configure:4667: checking for g++ configure:4683: found /opt/csw/gcc3/bin/g++ configure:4693: result: g++ configure:4709: checking for C++ compiler version configure:4712: g++ --version </dev/null >&5 sparc-sun-solaris2.8-g++ (GCC) 3.4.2 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:4715: $? = 0 configure:4717: g++ -v </dev/null >&5 Reading specs from /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.8/3.4.2/specs Configured with: ../configure --prefix=/opt/csw/gcc3 --with-local-prefix=/opt/csw/gcc3 --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-multilib --disable-nls --enable-threads --with-libiconv-prefix=/opt/csw --enable-shared Thread model: posix gcc version 3.4.2 configure:4720: $? = 0 configure:4722: g++ -V </dev/null >&5 sparc-sun-solaris2.8-g++: `-V' must come at the start of the command line configure:4725: $? = 1 configure:4728: checking whether we are using the GNU C++ compiler configure:4753: g++ -c conftest.cc >&5 configure:4756: $? = 0 configure:4759: test -s conftest.o configure:4762: $? = 0 configure:4775: result: yes configure:4781: checking whether g++ accepts -g configure:4803: g++ -c -g conftest.cc >&5 configure:4806: $? = 0 configure:4809: test -s conftest.o configure:4812: $? = 0 configure:4823: result: yes configure:4867: g++ -c -g -O2 conftest.cc >&5 configure:4870: $? = 0 configure:4873: test -s conftest.o configure:4876: $? = 0 configure:4903: g++ -c -g -O2 conftest.cc >&5 configure: In function `int main()': configure:4911: error: `exit' undeclared (first use this function) configure:4911: error: (Each undeclared identifier is reported only once for each function it appears in.) configure:4906: $? = 1 configure: failed program was: | #line 4886 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | | int | main () | { | exit (42); | ; | return 0; | } configure:4867: g++ -c -g -O2 conftest.cc >&5 configure:4870: $? = 0 configure:4873: test -s conftest.o configure:4876: $? = 0 configure:4903: g++ -c -g -O2 conftest.cc >&5 configure:4906: $? = 0 configure:4909: test -s conftest.o configure:4912: $? = 0 configure:4937: checking dependency style of g++ configure:5005: result: gcc3 configure:5027: checking how to run the C++ preprocessor configure:5059: g++ -E conftest.cc configure:5065: $? = 0 configure:5097: g++ -E conftest.cc configure:5112:28: ac_nonexistent.h: No such file or directory configure:5103: $? = 1 configure: failed program was: | #line 5088 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:5141: result: g++ -E configure:5166: g++ -E conftest.cc configure:5172: $? = 0 configure:5204: g++ -E conftest.cc configure:5219:28: ac_nonexistent.h: No such file or directory configure:5210: $? = 1 configure: failed program was: | #line 5195 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:5304: checking for g77 configure:5320: found /opt/csw/gcc3/bin/g77 configure:5330: result: g77 configure:5345: checking for Fortran 77 compiler version configure:5348: g77 --version </dev/null >&5 GNU Fortran (GCC) 3.4.2 Copyright (C) 2004 Free Software Foundation, Inc. GNU Fortran comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of GNU Fortran under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING or type the command `info -f g77 Copying'. configure:5351: $? = 0 configure:5353: g77 -v </dev/null >&5 Reading specs from /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.8/3.4.2/specs Configured with: ../configure --prefix=/opt/csw/gcc3 --with-local-prefix=/opt/csw/gcc3 --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-multilib --disable-nls --enable-threads --with-libiconv-prefix=/opt/csw --enable-shared Thread model: posix gcc version 3.4.2 configure:5356: $? = 0 configure:5358: g77 -V </dev/null >&5 g777: `-V' must come at the start of the command line configure:5361: $? = 1 configure:5368: checking whether we are using the GNU Fortran 77 compiler configure:5382: g77 -c conftest.F >&5 configure:5385: $? = 0 configure:5388: test -s conftest.o configure:5391: $? = 0 configure:5404: result: yes configure:5411: checking whether g77 accepts -g configure:5423: g77 -c -g conftest.f >&5 configure:5426: $? = 0 configure:5429: test -s conftest.o configure:5432: $? = 0 configure:5444: result: yes configure:5472: checking the maximum length of command line arguments configure:5531: result: 262144 configure:5542: checking command to parse /usr/local/bin/nm -B output from gcc object configure:5631: gcc -c -g -O2 conftest.c >&5 configure:5634: $? = 0 configure:5638: /usr/local/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGISTW][ABCDGISTW]*\)[ ][ ]*\(\)\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2\3 \3/p' \> conftest.nm configure:5641: $? = 0 configure:5693: gcc -o conftest -g -O2 conftest.c conftstm.o >&5 configure:5696: $? = 0 configure:5734: result: ok configure:5738: checking for objdir configure:5753: result: .libs configure:5843: checking for ar configure:5859: found /usr/local/bin/ar configure:5870: result: ar configure:5923: checking for ranlib configure:5939: found /usr/local/bin/ranlib configure:5950: result: ranlib configure:6003: checking for strip configure:6019: found /usr/local/bin/strip configure:6030: result: strip configure:6292: checking if gcc static flag works configure:6315: result: yes configure:6332: checking if gcc supports -fno-rtti -fno-exceptions configure:6350: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5 cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C configure:6354: $? = 0 configure:6365: result: no configure:6380: checking for gcc option to produce PIC configure:6557: result: -fPIC configure:6564: checking if gcc PIC flag -fPIC works configure:6582: gcc -c -g -O2 -fPIC -DPIC conftest.c >&5 configure:6586: $? = 0 configure:6597: result: yes configure:6621: checking if gcc supports -c -o file.o configure:6649: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5 configure:6653: $? = 0 configure:6670: result: yes configure:6696: checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries configure:7490: result: yes configure:7516: checking whether -lc should be explicitly linked in configure:7521: gcc -c -g -O2 conftest.c >&5 configure:7524: $? = 0 configure:7538: gcc -shared -Wl,-h -Wl,conftest -o conftest conftest.o -v 2\>\&1 \| grep -lc \>/dev/null 2\>\&1 configure:7541: $? = 1 configure:7553: result: yes configure:7561: checking how to hardcode library paths into programs configure:7586: result: immediate configure:7600: checking whether stripping libraries is possible configure:7605: result: yes configure:7627: checking dynamic linker characteristics configure:8138: result: solaris2.11 ld.so configure:8864: checking if libtool supports shared libraries configure:8866: result: yes configure:8869: checking whether to build shared libraries configure:8918: result: yes configure:8921: checking whether to build static libraries configure:8925: result: yes configure:9016: creating libtool configure:9560: checking for ld used by g++ configure:9627: result: /usr/ccs/bin/ld configure:9636: checking if the linker (/usr/ccs/bin/ld) is GNU ld configure:9651: result: no configure:9702: checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries configure:10497: result: yes configure:10515: g++ -c -g -O2 conftest.cc >&5 configure:10518: $? = 0 configure:10614: checking for g++ option to produce PIC configure:10866: result: -fPIC configure:10873: checking if g++ PIC flag -fPIC works configure:10891: g++ -c -g -O2 -fPIC -DPIC conftest.cc >&5 configure:10895: $? = 0 configure:10906: result: yes configure:10930: checking if g++ supports -c -o file.o configure:10958: g++ -c -g -O2 -o out/conftest2.o conftest.cc >&5 configure:10962: $? = 0 configure:10979: result: yes configure:11005: checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries configure:11030: result: yes configure:11101: checking how to hardcode library paths into programs configure:11126: result: immediate configure:11140: checking whether stripping libraries is possible configure:11145: result: yes configure:11167: checking dynamic linker characteristics configure:11678: result: solaris2.11 ld.so configure:12877: checking if libtool supports shared libraries configure:12879: result: yes configure:12882: checking whether to build shared libraries configure:12900: result: yes configure:12903: checking whether to build static libraries configure:12907: result: yes configure:12919: checking for g77 option to produce PIC configure:13096: result: -fPIC configure:13103: checking if g77 PIC flag -fPIC works configure:13121: g77 -c -g -O2 -fPIC conftest.f >&5 configure:13125: $? = 0 configure:13136: result: yes configure:13160: checking if g77 supports -c -o file.o configure:13188: g77 -c -g -O2 -o out/conftest2.o conftest.f >&5 configure:13192: $? = 0 configure:13209: result: yes configure:13235: checking whether the g77 linker (/usr/ccs/bin/ld) supports shared libraries configure:14007: result: yes configure:14078: checking how to hardcode library paths into programs configure:14103: result: immediate configure:14117: checking whether stripping libraries is possible configure:14122: result: yes configure:14144: checking dynamic linker characteristics configure:14655: result: solaris2.11 ld.so configure:18569: checking for gcc option to accept ANSI C configure:18633: gcc -c conftest.c >&5 configure:18636: $? = 0 configure:18639: test -s conftest.o configure:18642: $? = 0 configure:18657: result: none needed configure:18671: checking for function prototypes configure:18674: result: yes configure:18688: checking for ANSI C header files configure:18838: result: yes configure:18853: checking for string.h configure:18858: result: yes configure:19002: checking dmalloc.h usability configure:19015: gcc -c conftest.c >&5 configure:19065:21: dmalloc.h: No such file or directory configure:19018: $? = 1 configure: failed program was: | #line 19004 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <dmalloc.h> configure:19034: result: no configure:19038: checking dmalloc.h presence configure:19049: gcc -E conftest.c configure:19067:21: dmalloc.h: No such file or directory configure:19055: $? = 1 configure: failed program was: | #line 19040 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | /* end confdefs.h. */ | #include <dmalloc.h> configure:19074: result: no configure:19110: checking for dmalloc.h configure:19117: result: no configure:19151: checking for ANSI C header files configure:19301: result: yes configure:19342: checking errno.h usability configure:19355: gcc -c conftest.c >&5 configure:19358: $? = 0 configure:19361: test -s conftest.o configure:19364: $? = 0 configure:19374: result: yes configure:19378: checking errno.h presence configure:19389: gcc -E conftest.c configure:19395: $? = 0 configure:19414: result: yes configure:19450: checking for errno.h configure:19457: result: yes configure:19342: checking fcntl.h usability configure:19355: gcc -c conftest.c >&5 configure:19358: $? = 0 configure:19361: test -s conftest.o configure:19364: $? = 0 configure:19374: result: yes configure:19378: checking fcntl.h presence configure:19389: gcc -E conftest.c configure:19395: $? = 0 configure:19414: result: yes configure:19450: checking for fcntl.h configure:19457: result: yes configure:19342: checking limits.h usability configure:19355: gcc -c conftest.c >&5 configure:19358: $? = 0 configure:19361: test -s conftest.o configure:19364: $? = 0 configure:19374: result: yes configure:19378: checking limits.h presence configure:19389: gcc -E conftest.c configure:19395: $? = 0 configure:19414: result: yes configure:19450: checking for limits.h configure:19457: result: yes configure:19333: checking for stdint.h configure:19338: result: yes configure:19333: checking for string.h configure:19338: result: yes configure:19342: checking sys/soundcard.h usability configure:19355: gcc -c conftest.c >&5 configure:19411:27: sys/soundcard.h: No such file or directory configure:19358: $? = 1 configure: failed program was: | #line 19344 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <sys/soundcard.h> configure:19374: result: no configure:19378: checking sys/soundcard.h presence configure:19389: gcc -E conftest.c configure:19413:27: sys/soundcard.h: No such file or directory configure:19395: $? = 1 configure: failed program was: | #line 19380 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | /* end confdefs.h. */ | #include <sys/soundcard.h> configure:19414: result: no configure:19450: checking for sys/soundcard.h configure:19457: result: no configure:19342: checking sys/time.h usability configure:19355: gcc -c conftest.c >&5 configure:19358: $? = 0 configure:19361: test -s conftest.o configure:19364: $? = 0 configure:19374: result: yes configure:19378: checking sys/time.h presence configure:19389: gcc -E conftest.c configure:19395: $? = 0 configure:19414: result: yes configure:19450: checking for sys/time.h configure:19457: result: yes configure:19333: checking for unistd.h configure:19338: result: yes configure:19342: checking linux/soundcard.h usability configure:19355: gcc -c conftest.c >&5 configure:19413:29: linux/soundcard.h: No such file or directory configure:19358: $? = 1 configure: failed program was: | #line 19344 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <linux/soundcard.h> configure:19374: result: no configure:19378: checking linux/soundcard.h presence configure:19389: gcc -E conftest.c configure:19415:29: linux/soundcard.h: No such file or directory configure:19395: $? = 1 configure: failed program was: | #line 19380 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #include <linux/soundcard.h> configure:19414: result: no configure:19450: checking for linux/soundcard.h configure:19457: result: no configure:19471: checking for an ANSI C-conforming const configure:19539: gcc -c conftest.c >&5 configure:19542: $? = 0 configure:19545: test -s conftest.o configure:19548: $? = 0 configure:19559: result: yes configure:19569: checking for inline configure:19591: gcc -c conftest.c >&5 configure:19594: $? = 0 configure:19597: test -s conftest.o configure:19600: $? = 0 configure:19612: result: inline configure:19628: checking whether byte ordering is bigendian configure:19656: gcc -c conftest.c >&5 configure: In function `main': configure:19676: error: `bogus' undeclared (first use in this function) configure:19676: error: (Each undeclared identifier is reported only once configure:19676: error: for each function it appears in.) configure:19676: error: parse error before "endian" configure:19659: $? = 1 configure: failed program was: | #line 19634 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #include <sys/types.h> | #include <sys/param.h> | | int | main () | { | #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN | bogus endian macros | #endif | | ; | return 0; | } configure:19789: gcc -o conftest conftest.c >&5 configure:19792: $? = 0 configure:19794: ./conftest configure:19797: $? = 1 configure: program exited with status 1 configure: failed program was: | #line 19768 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | int | main () | { | /* Are we little or big endian? From Harbison&Steele. */ | union | { | long l; | char c[sizeof (long)]; | } u; | u.l = 1; | exit (u.c[sizeof (long) - 1] == 1); | } configure:19813: result: yes configure:19835: checking version of GCC configure:19838: result: 3.4.2 configure:19849: checking for special C compiler options needed for large files configure:19929: result: no configure:19935: checking for _FILE_OFFSET_BITS value needed for large files configure:19967: gcc -c conftest.c >&5 configure:19984: warning: left shift count >= width of type configure:19984: warning: left shift count >= width of type configure:19986: error: size of array `off_t_is_large' is negative configure:19970: $? = 1 configure: failed program was: | #line 19942 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | /* end confdefs.h. */ | #include <sys/types.h> | /* Check that off_t can represent 2**63 - 1 correctly. | We can't simply define LARGE_OFF_T to be 9223372036854775807, | since some C++ compilers masquerading as C compilers | incorrectly reject 9223372036854775807. */ | #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) | int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 | && LARGE_OFF_T % 2147483647 == 1) | ? 1 : -1]; | int | main () | { | | ; | return 0; | } configure:20011: gcc -c conftest.c >&5 configure:20014: $? = 0 configure:20017: test -s conftest.o configure:20020: $? = 0 configure:20032: result: 64 configure:20042: checking for _LARGE_FILES value needed for large files configure:20074: gcc -c conftest.c >&5 configure:20077: $? = 0 configure:20080: test -s conftest.o configure:20083: $? = 0 configure:20139: result: no configure:20152: checking for short configure:20177: gcc -c conftest.c >&5 configure:20180: $? = 0 configure:20183: test -s conftest.o configure:20186: $? = 0 configure:20197: result: yes configure:20200: checking size of short configure:20475: gcc -o conftest conftest.c >&5 configure:20478: $? = 0 configure:20480: ./conftest configure:20483: $? = 0 configure:20506: result: 2 configure:20513: checking for unsigned short configure:20538: gcc -c conftest.c >&5 configure:20541: $? = 0 configure:20544: test -s conftest.o configure:20547: $? = 0 configure:20558: result: yes configure:20561: checking size of unsigned short configure:20836: gcc -o conftest conftest.c >&5 configure:20839: $? = 0 configure:20841: ./conftest configure:20844: $? = 0 configure:20867: result: 2 configure:20874: checking for int configure:20899: gcc -c conftest.c >&5 configure:20902: $? = 0 configure:20905: test -s conftest.o configure:20908: $? = 0 configure:20919: result: yes configure:20922: checking size of int configure:21197: gcc -o conftest conftest.c >&5 configure:21200: $? = 0 configure:21202: ./conftest configure:21205: $? = 0 configure:21228: result: 4 configure:21235: checking for unsigned int configure:21260: gcc -c conftest.c >&5 configure:21263: $? = 0 configure:21266: test -s conftest.o configure:21269: $? = 0 configure:21280: result: yes configure:21283: checking size of unsigned int configure:21558: gcc -o conftest conftest.c >&5 configure:21561: $? = 0 configure:21563: ./conftest configure:21566: $? = 0 configure:21589: result: 4 configure:21596: checking for long configure:21621: gcc -c conftest.c >&5 configure:21624: $? = 0 configure:21627: test -s conftest.o configure:21630: $? = 0 configure:21641: result: yes configure:21644: checking size of long configure:21919: gcc -o conftest conftest.c >&5 configure:21922: $? = 0 configure:21924: ./conftest configure:21927: $? = 0 configure:21950: result: 4 configure:21957: checking for unsigned long configure:21982: gcc -c conftest.c >&5 configure:21985: $? = 0 configure:21988: test -s conftest.o configure:21991: $? = 0 configure:22002: result: yes configure:22005: checking size of unsigned long configure:22280: gcc -o conftest conftest.c >&5 configure:22283: $? = 0 configure:22285: ./conftest configure:22288: $? = 0 configure:22311: result: 4 configure:22318: checking for long long configure:22343: gcc -c conftest.c >&5 configure:22346: $? = 0 configure:22349: test -s conftest.o configure:22352: $? = 0 configure:22363: result: yes configure:22366: checking size of long long configure:22641: gcc -o conftest conftest.c >&5 configure:22644: $? = 0 configure:22646: ./conftest configure:22649: $? = 0 configure:22672: result: 8 configure:22679: checking for unsigned long long configure:22704: gcc -c conftest.c >&5 configure:22707: $? = 0 configure:22710: test -s conftest.o configure:22713: $? = 0 configure:22724: result: yes configure:22727: checking size of unsigned long long configure:23002: gcc -o conftest conftest.c >&5 configure:23005: $? = 0 configure:23007: ./conftest configure:23010: $? = 0 configure:23033: result: 8 configure:23040: checking for float configure:23065: gcc -c conftest.c >&5 configure:23068: $? = 0 configure:23071: test -s conftest.o configure:23074: $? = 0 configure:23085: result: yes configure:23088: checking size of float configure:23363: gcc -o conftest conftest.c >&5 configure:23366: $? = 0 configure:23368: ./conftest configure:23371: $? = 0 configure:23394: result: 4 configure:23401: checking for double configure:23426: gcc -c conftest.c >&5 configure:23429: $? = 0 configure:23432: test -s conftest.o configure:23435: $? = 0 configure:23446: result: yes configure:23449: checking size of double configure:23724: gcc -o conftest conftest.c >&5 configure:23727: $? = 0 configure:23729: ./conftest configure:23732: $? = 0 configure:23755: result: 8 configure:23763: checking for working long double with more range or precision than double configure:23790: gcc -c conftest.c >&5 configure:23793: $? = 0 configure:23796: test -s conftest.o configure:23799: $? = 0 configure:23810: result: yes configure:24184: checking for uint8_t configure:24209: gcc -c conftest.c >&5 configure:24212: $? = 0 configure:24215: test -s conftest.o configure:24218: $? = 0 configure:24229: result: yes configure:24239: checking for int8_t configure:24264: gcc -c conftest.c >&5 configure:24267: $? = 0 configure:24270: test -s conftest.o configure:24273: $? = 0 configure:24284: result: yes configure:24294: checking for uint16_t configure:24319: gcc -c conftest.c >&5 configure:24322: $? = 0 configure:24325: test -s conftest.o configure:24328: $? = 0 configure:24339: result: yes configure:24349: checking for int16_t configure:24374: gcc -c conftest.c >&5 configure:24377: $? = 0 configure:24380: test -s conftest.o configure:24383: $? = 0 configure:24394: result: yes configure:24404: checking for uint32_t configure:24429: gcc -c conftest.c >&5 configure:24432: $? = 0 configure:24435: test -s conftest.o configure:24438: $? = 0 configure:24449: result: yes configure:24459: checking for int32_t configure:24484: gcc -c conftest.c >&5 configure:24487: $? = 0 configure:24490: test -s conftest.o configure:24493: $? = 0 configure:24504: result: yes configure:24514: checking for uint64_t configure:24539: gcc -c conftest.c >&5 configure:24542: $? = 0 configure:24545: test -s conftest.o configure:24548: $? = 0 configure:24559: result: yes configure:24569: checking for int64_t configure:24594: gcc -c conftest.c >&5 configure:24597: $? = 0 configure:24600: test -s conftest.o configure:24603: $? = 0 configure:24614: result: yes configure:24750: checking for IEEE854 compliant 80 bit floats configure:24794: gcc -o conftest conftest.c >&5 configure:24797: $? = 0 configure:24799: ./conftest configure:24802: $? = 0 configure:24816: result: yes configure:24820: checking for ieee854_float80_t configure:24845: gcc -c conftest.c >&5 configure: In function `main': configure:24922: error: `ieee854_float80_t' undeclared (first use in this function) configure:24922: error: (Each undeclared identifier is reported only once configure:24922: error: for each function it appears in.) configure:24922: error: parse error before ')' token configure:24848: $? = 1 configure: failed program was: | #line 24825 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if ((ieee854_float80_t *) 0) | return 0; | if (sizeof (ieee854_float80_t)) | return 0; | ; | return 0; | } configure:24865: result: no configure:24886: checking for ieee754_float64_t configure:24911: gcc -c conftest.c >&5 configure: In function `main': configure:24989: error: `ieee754_float64_t' undeclared (first use in this function) configure:24989: error: (Each undeclared identifier is reported only once configure:24989: error: for each function it appears in.) configure:24989: error: parse error before ')' token configure:24914: $? = 1 configure: failed program was: | #line 24891 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if ((ieee754_float64_t *) 0) | return 0; | if (sizeof (ieee754_float64_t)) | return 0; | ; | return 0; | } configure:24931: result: no configure:24941: checking for ieee754_float32_t configure:24966: gcc -c conftest.c >&5 configure: In function `main': configure:25044: error: `ieee754_float32_t' undeclared (first use in this function) configure:25044: error: (Each undeclared identifier is reported only once configure:25044: error: for each function it appears in.) configure:25044: error: parse error before ')' token configure:24969: $? = 1 configure: failed program was: | #line 24946 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if ((ieee754_float32_t *) 0) | return 0; | if (sizeof (ieee754_float32_t)) | return 0; | ; | return 0; | } configure:24986: result: no configure:25056: checking for size_t configure:25081: gcc -c conftest.c >&5 configure:25084: $? = 0 configure:25087: test -s conftest.o configure:25090: $? = 0 configure:25101: result: yes configure:25113: checking whether time.h and sys/time.h may both be included configure:25139: gcc -c conftest.c >&5 configure:25142: $? = 0 configure:25145: test -s conftest.o configure:25148: $? = 0 configure:25159: result: yes configure:25172: checking for working alloca.h configure:25194: gcc -o conftest conftest.c >&5 configure:25197: $? = 0 configure:25200: test -s conftest configure:25203: $? = 0 configure:25214: result: yes configure:25224: checking for alloca configure:25266: gcc -o conftest conftest.c >&5 configure:25269: $? = 0 configure:25272: test -s conftest configure:25275: $? = 0 configure:25286: result: yes configure:25498: checking for gettimeofday configure:25548: gcc -o conftest conftest.c >&5 configure:25551: $? = 0 configure:25554: test -s conftest configure:25557: $? = 0 configure:25568: result: yes configure:25498: checking for strtol configure:25548: gcc -o conftest conftest.c >&5 configure:25551: $? = 0 configure:25554: test -s conftest configure:25557: $? = 0 configure:25568: result: yes configure:25596: checking winsock2.h usability configure:25609: gcc -c conftest.c >&5 configure:25699:22: winsock2.h: No such file or directory configure:25612: $? = 1 configure: failed program was: | #line 25598 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <winsock2.h> configure:25628: result: no configure:25632: checking winsock2.h presence configure:25643: gcc -E conftest.c configure:25701:22: winsock2.h: No such file or directory configure:25649: $? = 1 configure: failed program was: | #line 25634 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | /* end confdefs.h. */ | #include <winsock2.h> configure:25668: result: no configure:25704: checking for winsock2.h configure:25711: result: no configure:25730: checking for socket configure:25780: gcc -o conftest conftest.c >&5 Undefined first referenced symbol in file socket /var/tmp//ccgWHN4C.o ld: fatal: Symbol referencing errors. No output written to conftest collect2: ld returned 1 exit status configure:25783: $? = 1 configure: failed program was: | #line 25735 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | /* end confdefs.h. */ | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char socket (); below. | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | <limits.h> exists even on freestanding compilers. */ | #ifdef __STDC__ | # include <limits.h> | #else | # include <assert.h> | #endif | /* Override any gcc2 internal prototype to avoid an error. */ | #ifdef __cplusplus | extern "C" | { | #endif | /* We use char because int might match the return type of a gcc2 | builtin and then its argument prototype would still apply. */ | char socket (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined (__stub_socket) || defined (__stub___socket) | choke me | #else | char (*f) () = socket; | #endif | #ifdef __cplusplus | } | #endif | | int | main () | { | return f != socket; | ; | return 0; | } configure:25800: result: no configure:25812: checking for socket in -lsocket configure:25843: gcc -o conftest conftest.c -lsocket >&5 configure:25846: $? = 0 configure:25849: test -s conftest configure:25852: $? = 0 configure:25864: result: yes configure:25921: checking termcap.h usability configure:25934: gcc -c conftest.c >&5 configure:26025:21: termcap.h: No such file or directory configure:25937: $? = 1 configure: failed program was: | #line 25923 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | #define HAVE_SOCKET 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <termcap.h> configure:25953: result: no configure:25957: checking termcap.h presence configure:25968: gcc -E conftest.c configure:26027:21: termcap.h: No such file or directory configure:25974: $? = 1 configure: failed program was: | #line 25959 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | #define HAVE_SOCKET 1 | /* end confdefs.h. */ | #include <termcap.h> configure:25993: result: no configure:26029: checking for termcap.h configure:26036: result: no configure:26063: checking ncurses/termcap.h usability configure:26076: gcc -c conftest.c >&5 configure:26167:29: ncurses/termcap.h: No such file or directory configure:26079: $? = 1 configure: failed program was: | #line 26065 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | #define HAVE_SOCKET 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <ncurses/termcap.h> configure:26095: result: no configure:26099: checking ncurses/termcap.h presence configure:26110: gcc -E conftest.c configure:26169:29: ncurses/termcap.h: No such file or directory configure:26116: $? = 1 configure: failed program was: | #line 26101 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | #define HAVE_SOCKET 1 | /* end confdefs.h. */ | #include <ncurses/termcap.h> configure:26135: result: no configure:26171: checking for ncurses/termcap.h configure:26178: result: no configure:26191: checking for initscr in -ltermcap configure:26222: gcc -o conftest conftest.c -ltermcap -lsocket -lnsl >&5 configure:26225: $? = 0 configure:26228: test -s conftest configure:26231: $? = 0 configure:26243: result: yes configure:26249: checking for initscr in -lcurses configure:26280: gcc -o conftest conftest.c -lcurses -lsocket -lnsl >&5 configure:26283: $? = 0 configure:26286: test -s conftest configure:26289: $? = 0 configure:26301: result: yes configure:26307: checking for initscr in -lncurses configure:26338: gcc -o conftest conftest.c -lncurses -lsocket -lnsl >&5 configure:26341: $? = 0 configure:26344: test -s conftest configure:26347: $? = 0 configure:26359: result: yes configure:26366: checking for cos in -lm configure:26397: gcc -o conftest conftest.c -lm -lsocket -lnsl >&5 configure:26448: warning: conflicting types for built-in function 'cos' configure:26400: $? = 0 configure:26403: test -s conftest configure:26406: $? = 0 configure:26418: result: yes configure:26424: checking for cos in -lffm configure:26455: gcc -o conftest conftest.c -lffm -lsocket -lnsl >&5 configure:26506: warning: conflicting types for built-in function 'cos' ld: fatal: library -lffm: not found ld: fatal: File processing errors. No output written to conftest collect2: ld returned 1 exit status configure:26458: $? = 1 configure: failed program was: | #line 26431 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | #define HAVE_SOCKET 1 | /* end confdefs.h. */ | | /* Override any gcc2 internal prototype to avoid an error. */ | #ifdef __cplusplus | extern "C" | #endif | /* We use char because int might match the return type of a gcc2 | builtin and then its argument prototype would still apply. */ | char cos (); | int | main () | { | cos (); | ; | return 0; | } configure:26476: result: no configure:26482: checking for cos in -lcpml configure:26513: gcc -o conftest conftest.c -lcpml -lsocket -lnsl >&5 configure:26564: warning: conflicting types for built-in function 'cos' ld: fatal: library -lcpml: not found ld: fatal: File processing errors. No output written to conftest collect2: ld returned 1 exit status configure:26516: $? = 1 configure: failed program was: | #line 26489 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | #define HAVE_SOCKET 1 | /* end confdefs.h. */ | | /* Override any gcc2 internal prototype to avoid an error. */ | #ifdef __cplusplus | extern "C" | #endif | /* We use char because int might match the return type of a gcc2 | builtin and then its argument prototype would still apply. */ | char cos (); | int | main () | { | cos (); | ; | return 0; | } configure:26534: result: no configure:26542: checking for sf_open_read in -lsndfile configure:26573: gcc -o conftest conftest.c -lsndfile -lsocket -lnsl >&5 ld: fatal: library -lsndfile: not found ld: fatal: File processing errors. No output written to conftest collect2: ld returned 1 exit status configure:26576: $? = 1 configure: failed program was: | #line 26549 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "lame" | #define VERSION "3.96.1" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | #include <stdlib.h> | #endif | #define PROTOTYPES 1 | #define STDC_HEADERS 1 | #define HAVE_STRING_H 1 | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define _FILE_OFFSET_BITS 64 | #define SIZEOF_SHORT 2 | #define SIZEOF_UNSIGNED_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_UNSIGNED_INT 4 | #define SIZEOF_LONG 4 | #define SIZEOF_UNSIGNED_LONG 4 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_UNSIGNED_LONG_LONG 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define HAVE_LONG_DOUBLE 1 | #define HAVE_UINT8_T 1 | #define HAVE_INT8_T 1 | #define HAVE_UINT16_T 1 | #define HAVE_INT16_T 1 | #define HAVE_UINT32_T 1 | #define HAVE_INT32_T 1 | #define HAVE_UINT64_T 1 | #define HAVE_INT64_T 1 | #define A_UINT32_T unsigned int | #define A_INT32_T int | #define A_UINT64_T unsigned long long | #define A_INT64_T long long | #define HAVE_IEEE854_FLOAT80 1 | #define LAME_LIBRARY_BUILD 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_STRTOL 1 | #define HAVE_SOCKET 1 | /* end confdefs.h. */ | | /* Override any gcc2 internal prototype to avoid an error. */ | #ifdef __cplusplus | extern "C" | #endif | /* We use char because int might match the return type of a gcc2 | builtin and then its argument prototype would still apply. */ | char sf_open_read (); | int | main () | { | sf_open_read (); | ; | return 0; | } configure:26594: result: no configure:26651: checking for gtk-config configure:26669: found /opt/csw/bin/gtk-config configure:26682: result: /opt/csw/bin/gtk-config configure:26690: checking for GTK - version >= 1.2.0 configure:26797: gcc -o conftest -I/opt/csw/include/gtk-1.2 -I/opt/csw/include/glib-1.2 -I/opt/csw/lib/glib/include conftest.c -L/opt/csw/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lsocket -lnsl -lm -lsocket -lnsl >&5 configure:26800: $? = 0 configure:26802: ./conftest configure:26805: $? = 0 configure:26823: result: yes configure:26917: checking use of ElectricFence malloc debugging configure:27002: result: no configure:27013: checking use of file io configure:27086: result: lame configure:27094: checking use of analyzer hooks configure:27120: result: yes configure:27124: checking use of mpg123 decoder configure:27190: result: yes (Layer 2, 3) configure:27194: checking if the lame frontend should be build configure:27205: result: yes configure:27215: checking if mp3x is requested configure:27230: result: no configure:27247: checking if mp3rtp is requested configure:27267: result: no configure:27374: checking use of VBR bitrate histogram configure:27407: result: yes, with ncurses configure:27462: checking for FLOAT8 as float configure:27487: result: no configure:27494: checking for nasm configure:27525: result: no configure:27591: checking for additional optimizations configure:27751: result: no configure:27762: checking for debug options configure:27825: result: no configure:28166: creating ./config.status ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## This file was extended by config.status, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = CONFIG_HEADERS = CONFIG_LINKS = CONFIG_COMMANDS = $ ./config.status on fOrk config.status:727: creating Makefile config.status:727: creating libmp3lame/Makefile config.status:727: creating libmp3lame/i386/Makefile config.status:727: creating frontend/Makefile config.status:727: creating mpglib/Makefile config.status:727: creating doc/Makefile config.status:727: creating doc/html/Makefile config.status:727: creating doc/man/Makefile config.status:727: creating include/Makefile config.status:727: creating Dll/Makefile config.status:727: creating misc/Makefile config.status:727: creating debian/Makefile config.status:727: creating dshow/Makefile config.status:727: creating ACM/Makefile config.status:727: creating ACM/ADbg/Makefile config.status:727: creating ACM/ddk/Makefile config.status:727: creating ACM/tinyxml/Makefile config.status:727: creating lame.spec config.status:727: creating mac/Makefile config.status:831: creating config.h config.status:1180: executing depfiles commands ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=sparc-sun-solaris2.11 ac_cv_build_alias=sparc-sun-solaris2.11 ac_cv_c_bigendian=yes ac_cv_c_compiler_gnu=yes ac_cv_c_const=yes ac_cv_c_inline=inline ac_cv_c_long_double=yes ac_cv_cxx_compiler_gnu=yes ac_cv_env_CC_set= ac_cv_env_CC_value= ac_cv_env_CFLAGS_set= ac_cv_env_CFLAGS_value= ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CPP_set= ac_cv_env_CPP_value= ac_cv_env_CXXCPP_set= ac_cv_env_CXXCPP_value= ac_cv_env_CXXFLAGS_set= ac_cv_env_CXXFLAGS_value= ac_cv_env_CXX_set= ac_cv_env_CXX_value= ac_cv_env_F77_set= ac_cv_env_F77_value= ac_cv_env_FFLAGS_set= ac_cv_env_FFLAGS_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_host_alias_set= ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_exeext= ac_cv_f77_compiler_gnu=yes ac_cv_func_alloca_works=yes ac_cv_func_gettimeofday=yes ac_cv_func_socket=no ac_cv_func_strtol=yes ac_cv_header_dlfcn_h=yes ac_cv_header_dmalloc_h=no ac_cv_header_errno_h=yes ac_cv_header_fcntl_h=yes ac_cv_header_inttypes_h=yes ac_cv_header_limits_h=yes ac_cv_header_linux_soundcard_h=no ac_cv_header_memory_h=yes ac_cv_header_minix_config_h=no ac_cv_header_ncurses_termcap_h=no ac_cv_header_stdc=yes ac_cv_header_stdint_h=yes ac_cv_header_stdlib_h=yes ac_cv_header_string_h=yes ac_cv_header_strings_h=yes ac_cv_header_sys_soundcard_h=no ac_cv_header_sys_stat_h=yes ac_cv_header_sys_time_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_termcap_h=no ac_cv_header_time=yes ac_cv_header_unistd_h=yes ac_cv_header_winsock2_h=no ac_cv_host=sparc-sun-solaris2.11 ac_cv_host_alias=sparc-sun-solaris2.11 ac_cv_lib_cpml_cos=no ac_cv_lib_curses_initscr=yes ac_cv_lib_ffm_cos=no ac_cv_lib_m_cos=yes ac_cv_lib_ncurses_initscr=yes ac_cv_lib_sndfile_sf_open_read=no ac_cv_lib_socket_socket=yes ac_cv_lib_termcap_initscr=yes ac_cv_objext=o ac_cv_path_GTK_CONFIG=/opt/csw/bin/gtk-config ac_cv_path_NASM=no ac_cv_path_install='/opt/sfw/bin/ginstall -c' ac_cv_prog_AWK=gawk ac_cv_prog_CPP='gcc -E' ac_cv_prog_CXXCPP='g++ -E' ac_cv_prog_ac_ct_AR=ar ac_cv_prog_ac_ct_CC=gcc ac_cv_prog_ac_ct_CXX=g++ ac_cv_prog_ac_ct_F77=g77 ac_cv_prog_ac_ct_RANLIB=ranlib ac_cv_prog_ac_ct_STRIP=strip ac_cv_prog_cc_g=yes ac_cv_prog_cc_stdc= ac_cv_prog_cxx_g=yes ac_cv_prog_egrep=egrep ac_cv_prog_f77_g=yes ac_cv_prog_make_make_set=yes ac_cv_search_strerror='none required' ac_cv_sizeof_double=8 ac_cv_sizeof_float=4 ac_cv_sizeof_int=4 ac_cv_sizeof_long=4 ac_cv_sizeof_long_long=8 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_unsigned_short=2 ac_cv_sys_file_offset_bits=64 ac_cv_sys_large_files=no ac_cv_sys_largefile_CC=no ac_cv_type_double=yes ac_cv_type_float=yes ac_cv_type_ieee754_float32_t=no ac_cv_type_ieee754_float64_t=no ac_cv_type_ieee854_float80_t=no ac_cv_type_int=yes ac_cv_type_int16_t=yes ac_cv_type_int32_t=yes ac_cv_type_int64_t=yes ac_cv_type_int8_t=yes ac_cv_type_long=yes ac_cv_type_long_long=yes ac_cv_type_short=yes ac_cv_type_size_t=yes ac_cv_type_uint16_t=yes ac_cv_type_uint32_t=yes ac_cv_type_uint64_t=yes ac_cv_type_uint8_t=yes ac_cv_type_unsigned_int=yes ac_cv_type_unsigned_long=yes ac_cv_type_unsigned_long_long=yes ac_cv_type_unsigned_short=yes ac_cv_working_alloca_h=yes alex_cv_ieee854_float80=yes am_cv_CC_dependencies_compiler_type=gcc3 am_cv_CXX_dependencies_compiler_type=gcc3 am_cv_prog_cc_stdc= lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file=/lib/libc.so lt_cv_ld_reload_flag=-r lt_cv_objdir=.libs lt_cv_path_LD=/usr/ccs/bin/ld lt_cv_path_LDCXX=/usr/ccs/bin/ld lt_cv_path_NM='/usr/local/bin/nm -B' lt_cv_path_SED=/opt/sfw/bin/gsed lt_cv_prog_compiler_c_o=yes lt_cv_prog_compiler_c_o_CXX=yes lt_cv_prog_compiler_c_o_F77=yes lt_cv_prog_compiler_rtti_exceptions=no lt_cv_prog_gnu_ld=no lt_cv_prog_gnu_ldcxx=no lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGISTW][ABCDGISTW]*\)[ ][ ]*\(\)\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2\3 \3/p'\''' lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\''' lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\''' lt_cv_sys_max_cmd_len=262144 lt_lt_cv_prog_compiler_c_o='"yes"' lt_lt_cv_prog_compiler_c_o_CXX='"yes"' lt_lt_cv_prog_compiler_c_o_F77='"yes"' lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGISTW][ABCDGISTW]*\\)[ ][ ]*\\(\\)\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2\\3 \\3/p'\''"' lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"' lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"' ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} /home/shake/lame-3.96.1/missing --run aclocal-1.7' ALLOCA='' AMDEPBACKSLASH='\' AMDEP_FALSE='#' AMDEP_TRUE='' AMTAR='${SHELL} /home/shake/lame-3.96.1/missing --run tar' ANSI2KNR='' AR='ar' AUTOCONF='${SHELL} /home/shake/lame-3.96.1/missing --run autoconf' AUTOHEADER='${SHELL} /home/shake/lame-3.96.1/missing --run autoheader' AUTOMAKE='${SHELL} /home/shake/lame-3.96.1/missing --run automake-1.7' AWK='gawk' CC='gcc' CCDEPMODE='depmode=gcc3' CFLAGS='-O3 -ffast-math -funroll-loops -mcpu=ultrasparc -mtune=ultrasparc -Wall ' CONFIG_DEFS='' CPP='gcc -E' CPPFLAGS='' CPUTYPE='no' CXX='g++' CXXCPP='g++ -E' CXXDEPMODE='depmode=gcc3' CXXFLAGS='-g -O2' CYGPATH_W='echo' DEFS='-DHAVE_CONFIG_H' DEPDIR='.deps' ECHO='echo' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='egrep' EXEEXT='' F77='g77' FFLAGS='-g -O2' FRONTEND_CFLAGS='' FRONTEND_LDADD='-lncurses -lm' FRONTEND_LDFLAGS='' GTK_CFLAGS='-I/opt/csw/include/gtk-1.2 -I/opt/csw/include/glib-1.2 -I/opt/csw/lib/glib/include' GTK_CONFIG='/opt/csw/bin/gtk-config' GTK_LIBS='-L/opt/csw/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lsocket -lnsl -lm' HAVE_NASM_FALSE='' HAVE_NASM_TRUE='#' INCLUDES='-I$(top_srcdir)/include -I$(srcdir)' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' LDADD='' LDFLAGS='' LIBOBJS='' LIBS=' -lsocket -lnsl' LIBTOOL='$(SHELL) $(top_builddir)/libtool' LIBTOOL_DEPS='./ltmain.sh' LIB_MAJOR_VERSION='0' LIB_MINOR_VERSION='0' LIB_WITH_DECODER_FALSE='#' LIB_WITH_DECODER_TRUE='' LN_S='ln -s' LTLIBOBJS='' MAINT='#' MAINTAINER_MODE_FALSE='' MAINTAINER_MODE_TRUE='#' MAKEDEP='-M' MAKEINFO='${SHELL} /home/shake/lame-3.96.1/missing --run makeinfo' NASM='no' NASM_FORMAT='-f elf' OBJEXT='o' PACKAGE='lame' PACKAGE_BUGREPORT='' PACKAGE_NAME='' PACKAGE_STRING='' PACKAGE_TARNAME='' PACKAGE_VERSION='' PATH_SEPARATOR=':' RANLIB='ranlib' RM_F='rm -f' SET_MAKE='' SHELL='/bin/bash' STRIP='strip' U='' VERSION='3.96.1' WITH_BRHIST_FALSE='#' WITH_BRHIST_TRUE='' WITH_FRONTEND='lame' WITH_MP3RTP='' WITH_MP3X='' ac_ct_AR='ar' ac_ct_CC='gcc' ac_ct_CXX='g++' ac_ct_F77='g77' ac_ct_RANLIB='ranlib' ac_ct_STRIP='strip' am__fastdepCC_FALSE='#' am__fastdepCC_TRUE='' am__fastdepCXX_FALSE='#' am__fastdepCXX_TRUE='' am__include='include' am__leading_dot='.' am__quote='' bindir='${exec_prefix}/bin' build='sparc-sun-solaris2.11' build_alias='' build_cpu='sparc' build_os='solaris2.11' build_vendor='sun' datadir='${prefix}/share' exec_prefix='${prefix}' host='sparc-sun-solaris2.11' host_alias='' host_cpu='sparc' host_os='solaris2.11' host_vendor='sun' includedir='${prefix}/include' infodir='${prefix}/info' install_sh='/home/shake/lame-3.96.1/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localstatedir='${prefix}/var' mandir='${prefix}/man' oldincludedir='/usr/include' prefix='/usr/local' program_transform_name='s,x,x,' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias='' ## ----------- ## ## confdefs.h. ## ## ----------- ## #define A_INT32_T int #define A_INT64_T long long #define A_UINT32_T unsigned int #define A_UINT64_T unsigned long long #define BRHIST 1 #define DECODE_ON_THE_FLY 1 #define HAVE_ALLOCA 1 #define HAVE_ALLOCA_H 1 #define HAVE_DLFCN_H 1 #define HAVE_ERRNO_H 1 #define HAVE_FCNTL_H 1 #define HAVE_GETTIMEOFDAY 1 #define HAVE_GTK 1 #define HAVE_IEEE854_FLOAT80 1 #define HAVE_INT16_T 1 #define HAVE_INT32_T 1 #define HAVE_INT64_T 1 #define HAVE_INT8_T 1 #define HAVE_INTTYPES_H 1 #define HAVE_LIMITS_H 1 #define HAVE_LONG_DOUBLE 1 #define HAVE_MEMORY_H 1 #define HAVE_MPGLIB 1 #define HAVE_SOCKET 1 #define HAVE_STDINT_H 1 #define HAVE_STDINT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRINGS_H 1 #define HAVE_STRING_H 1 #define HAVE_STRING_H 1 #define HAVE_STRING_H 1 #define HAVE_STRTOL 1 #define HAVE_SYS_STAT_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_TERMCAP 1 #define HAVE_UINT16_T 1 #define HAVE_UINT32_T 1 #define HAVE_UINT64_T 1 #define HAVE_UINT8_T 1 #define HAVE_UNISTD_H 1 #define HAVE_UNISTD_H 1 #define LAME_LIBRARY_BUILD 1 #define NDEBUG 1 #define PACKAGE "lame" #define PACKAGE_BUGREPORT "" #define PACKAGE_NAME "" #define PACKAGE_STRING "" #define PACKAGE_TARNAME "" #define PACKAGE_VERSION "" #define PROTOTYPES 1 #define SIZEOF_DOUBLE 8 #define SIZEOF_FLOAT 4 #define SIZEOF_INT 4 #define SIZEOF_LONG 4 #define SIZEOF_LONG_LONG 8 #define SIZEOF_SHORT 2 #define SIZEOF_UNSIGNED_INT 4 #define SIZEOF_UNSIGNED_LONG 4 #define SIZEOF_UNSIGNED_LONG_LONG 8 #define SIZEOF_UNSIGNED_SHORT 2 #define STDC_HEADERS 1 #define STDC_HEADERS 1 #define STDC_HEADERS 1 #define TIME_WITH_SYS_TIME 1 #define USE_LAYER_2 1 #define VERSION "3.96.1" #define WORDS_BIGENDIAN 1 #define _FILE_OFFSET_BITS 64 #endif #ifdef __cplusplus #include <stdlib.h> configure: exit 0 �07070100069c8f000081ed0000000200000002000000014325fa8a0000ace6000000200000000800000000000000000000001400000000reloc/config.status���#! /bin/bash # Generated by configure. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=${CONFIG_SHELL-/bin/bash} ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by $as_me, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 config_files=" Makefile libmp3lame/Makefile libmp3lame/i386/Makefile frontend/Makefile mpglib/Makefile doc/Makefile doc/html/Makefile doc/man/Makefile include/Makefile Dll/Makefile misc/Makefile debian/Makefile dshow/Makefile ACM/Makefile ACM/ADbg/Makefile ACM/ddk/Makefile ACM/tinyxml/Makefile lame.spec mac/Makefile" config_headers=" config.h" config_commands=" depfiles" ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to <bug-autoconf@gnu.org>." ac_cs_version="\ config.status configured by ./configure, generated by GNU Autoconf 2.57, with options \"\" Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=. INSTALL="/opt/sfw/bin/ginstall -c" # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ac_shift=: ;; -*) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi if $ac_cs_recheck; then echo "running /bin/bash ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6 exec /bin/bash ./configure $ac_configure_extra_args --no-create --no-recursion fi # # INIT-COMMANDS section. # AMDEP_TRUE="" ac_aux_dir="." for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "libmp3lame/Makefile" ) CONFIG_FILES="$CONFIG_FILES libmp3lame/Makefile" ;; "libmp3lame/i386/Makefile" ) CONFIG_FILES="$CONFIG_FILES libmp3lame/i386/Makefile" ;; "frontend/Makefile" ) CONFIG_FILES="$CONFIG_FILES frontend/Makefile" ;; "mpglib/Makefile" ) CONFIG_FILES="$CONFIG_FILES mpglib/Makefile" ;; "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/html/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;; "doc/man/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;; "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; "Dll/Makefile" ) CONFIG_FILES="$CONFIG_FILES Dll/Makefile" ;; "misc/Makefile" ) CONFIG_FILES="$CONFIG_FILES misc/Makefile" ;; "debian/Makefile" ) CONFIG_FILES="$CONFIG_FILES debian/Makefile" ;; "dshow/Makefile" ) CONFIG_FILES="$CONFIG_FILES dshow/Makefile" ;; "ACM/Makefile" ) CONFIG_FILES="$CONFIG_FILES ACM/Makefile" ;; "ACM/ADbg/Makefile" ) CONFIG_FILES="$CONFIG_FILES ACM/ADbg/Makefile" ;; "ACM/ddk/Makefile" ) CONFIG_FILES="$CONFIG_FILES ACM/ddk/Makefile" ;; "ACM/tinyxml/Makefile" ) CONFIG_FILES="$CONFIG_FILES ACM/tinyxml/Makefile" ;; "lame.spec" ) CONFIG_FILES="$CONFIG_FILES lame.spec" ;; "mac/Makefile" ) CONFIG_FILES="$CONFIG_FILES mac/Makefile" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF s,@SHELL@,/bin/bash,;t t s,@PATH_SEPARATOR@,:,;t t s,@PACKAGE_NAME@,,;t t s,@PACKAGE_TARNAME@,,;t t s,@PACKAGE_VERSION@,,;t t s,@PACKAGE_STRING@,,;t t s,@PACKAGE_BUGREPORT@,,;t t s,@exec_prefix@,${prefix},;t t s,@prefix@,/usr/local,;t t s,@program_transform_name@,s,x,x,,;t t s,@bindir@,${exec_prefix}/bin,;t t s,@sbindir@,${exec_prefix}/sbin,;t t s,@libexecdir@,${exec_prefix}/libexec,;t t s,@datadir@,${prefix}/share,;t t s,@sysconfdir@,${prefix}/etc,;t t s,@sharedstatedir@,${prefix}/com,;t t s,@localstatedir@,${prefix}/var,;t t s,@libdir@,${exec_prefix}/lib,;t t s,@includedir@,${prefix}/include,;t t s,@oldincludedir@,/usr/include,;t t s,@infodir@,${prefix}/info,;t t s,@mandir@,${prefix}/man,;t t s,@build_alias@,,;t t s,@host_alias@,,;t t s,@target_alias@,,;t t s,@DEFS@,-DHAVE_CONFIG_H,;t t s,@ECHO_C@,,;t t s,@ECHO_N@,-n,;t t s,@ECHO_T@,,;t t s,@LIBS@, -lsocket -lnsl,;t t s,@build@,sparc-sun-solaris2.11,;t t s,@build_cpu@,sparc,;t t s,@build_vendor@,sun,;t t s,@build_os@,solaris2.11,;t t s,@host@,sparc-sun-solaris2.11,;t t s,@host_cpu@,sparc,;t t s,@host_vendor@,sun,;t t s,@host_os@,solaris2.11,;t t s,@INSTALL_PROGRAM@,${INSTALL},;t t s,@INSTALL_SCRIPT@,${INSTALL},;t t s,@INSTALL_DATA@,${INSTALL} -m 644,;t t s,@CYGPATH_W@,echo,;t t s,@PACKAGE@,lame,;t t s,@VERSION@,3.96.1,;t t s,@ACLOCAL@,${SHELL} /home/shake/lame-3.96.1/missing --run aclocal-1.7,;t t s,@AUTOCONF@,${SHELL} /home/shake/lame-3.96.1/missing --run autoconf,;t t s,@AUTOMAKE@,${SHELL} /home/shake/lame-3.96.1/missing --run automake-1.7,;t t s,@AUTOHEADER@,${SHELL} /home/shake/lame-3.96.1/missing --run autoheader,;t t s,@MAKEINFO@,${SHELL} /home/shake/lame-3.96.1/missing --run makeinfo,;t t s,@AMTAR@,${SHELL} /home/shake/lame-3.96.1/missing --run tar,;t t s,@install_sh@,/home/shake/lame-3.96.1/install-sh,;t t s,@STRIP@,strip,;t t s,@ac_ct_STRIP@,strip,;t t s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t s,@AWK@,gawk,;t t s,@SET_MAKE@,,;t t s,@am__leading_dot@,.,;t t s,@MAINTAINER_MODE_TRUE@,#,;t t s,@MAINTAINER_MODE_FALSE@,,;t t s,@MAINT@,#,;t t s,@am__include@,include,;t t s,@am__quote@,,;t t s,@CC@,gcc,;t t s,@CFLAGS@,-O3 -ffast-math -funroll-loops -mcpu=ultrasparc -mtune=ultrasparc -Wall ,;t t s,@LDFLAGS@,,;t t s,@CPPFLAGS@,,;t t s,@ac_ct_CC@,gcc,;t t s,@EXEEXT@,,;t t s,@OBJEXT@,o,;t t s,@DEPDIR@,.deps,;t t s,@AMDEP_TRUE@,,;t t s,@AMDEP_FALSE@,#,;t t s,@AMDEPBACKSLASH@,\,;t t s,@CCDEPMODE@,depmode=gcc3,;t t s,@am__fastdepCC_TRUE@,,;t t s,@am__fastdepCC_FALSE@,#,;t t s,@CPP@,gcc -E,;t t s,@EGREP@,egrep,;t t s,@LN_S@,ln -s,;t t s,@ECHO@,echo,;t t s,@AR@,ar,;t t s,@ac_ct_AR@,ar,;t t s,@RANLIB@,ranlib,;t t s,@ac_ct_RANLIB@,ranlib,;t t s,@CXX@,g++,;t t s,@CXXFLAGS@,-g -O2,;t t s,@ac_ct_CXX@,g++,;t t s,@CXXDEPMODE@,depmode=gcc3,;t t s,@am__fastdepCXX_TRUE@,,;t t s,@am__fastdepCXX_FALSE@,#,;t t s,@CXXCPP@,g++ -E,;t t s,@F77@,g77,;t t s,@FFLAGS@,-g -O2,;t t s,@ac_ct_F77@,g77,;t t s,@LIBTOOL@,$(SHELL) $(top_builddir)/libtool,;t t s,@U@,,;t t s,@ANSI2KNR@,,;t t s,@ALLOCA@,,;t t s,@GTK_CONFIG@,/opt/csw/bin/gtk-config,;t t s,@GTK_CFLAGS@,-I/opt/csw/include/gtk-1.2 -I/opt/csw/include/glib-1.2 -I/opt/csw/lib/glib/include,;t t s,@GTK_LIBS@,-L/opt/csw/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lsocket -lnsl -lm,;t t s,@LIB_WITH_DECODER_TRUE@,,;t t s,@LIB_WITH_DECODER_FALSE@,#,;t t s,@WITH_BRHIST_TRUE@,,;t t s,@WITH_BRHIST_FALSE@,#,;t t s,@NASM@,no,;t t s,@HAVE_NASM_TRUE@,#,;t t s,@HAVE_NASM_FALSE@,,;t t s,@INCLUDES@,-I$(top_srcdir)/include -I$(srcdir),;t t s,@FRONTEND_LDFLAGS@,,;t t s,@FRONTEND_CFLAGS@,,;t t s,@FRONTEND_LDADD@,-lncurses -lm,;t t s,@LDADD@,,;t t s,@LIB_MAJOR_VERSION@,0,;t t s,@LIB_MINOR_VERSION@,0,;t t s,@NASM_FORMAT@,-f elf,;t t s,@MAKEDEP@,-M,;t t s,@RM_F@,rm -f,;t t s,@LIBTOOL_DEPS@,./ltmain.sh,;t t s,@WITH_FRONTEND@,lame,;t t s,@WITH_MP3X@,,;t t s,@WITH_MP3RTP@,,;t t s,@CPUTYPE@,no,;t t s,@CONFIG_DEFS@,,;t t s,@LIBOBJS@,,;t t s,@LTLIBOBJS@,,;t t CEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } sed "/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; } :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in # Handle all the #define templates only if necessary. if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then # If there are no defines, we may have an empty if/fi : cat >$tmp/defines.sed <<CEOF /^[ ]*#[ ]*define/!b t clr : clr ${ac_dA}PACKAGE_NAME${ac_dB}PACKAGE_NAME${ac_dC}""${ac_dD} ${ac_dA}PACKAGE_TARNAME${ac_dB}PACKAGE_TARNAME${ac_dC}""${ac_dD} ${ac_dA}PACKAGE_VERSION${ac_dB}PACKAGE_VERSION${ac_dC}""${ac_dD} ${ac_dA}PACKAGE_STRING${ac_dB}PACKAGE_STRING${ac_dC}""${ac_dD} ${ac_dA}PACKAGE_BUGREPORT${ac_dB}PACKAGE_BUGREPORT${ac_dC}""${ac_dD} ${ac_dA}PACKAGE${ac_dB}PACKAGE${ac_dC}"lame"${ac_dD} ${ac_dA}VERSION${ac_dB}VERSION${ac_dC}"3.96.1"${ac_dD} ${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD} ${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_DLFCN_H${ac_dB}HAVE_DLFCN_H${ac_dC}1${ac_dD} ${ac_dA}PROTOTYPES${ac_dB}PROTOTYPES${ac_dC}1${ac_dD} ${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD} ${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD} ${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD} ${ac_dA}HAVE_ERRNO_H${ac_dB}HAVE_ERRNO_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_FCNTL_H${ac_dB}HAVE_FCNTL_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_LIMITS_H${ac_dB}HAVE_LIMITS_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_SYS_TIME_H${ac_dB}HAVE_SYS_TIME_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD} ${ac_dA}WORDS_BIGENDIAN${ac_dB}WORDS_BIGENDIAN${ac_dC}1${ac_dD} ${ac_dA}_FILE_OFFSET_BITS${ac_dB}_FILE_OFFSET_BITS${ac_dC}64${ac_dD} ${ac_dA}SIZEOF_SHORT${ac_dB}SIZEOF_SHORT${ac_dC}2${ac_dD} ${ac_dA}SIZEOF_UNSIGNED_SHORT${ac_dB}SIZEOF_UNSIGNED_SHORT${ac_dC}2${ac_dD} ${ac_dA}SIZEOF_INT${ac_dB}SIZEOF_INT${ac_dC}4${ac_dD} ${ac_dA}SIZEOF_UNSIGNED_INT${ac_dB}SIZEOF_UNSIGNED_INT${ac_dC}4${ac_dD} ${ac_dA}SIZEOF_LONG${ac_dB}SIZEOF_LONG${ac_dC}4${ac_dD} ${ac_dA}SIZEOF_UNSIGNED_LONG${ac_dB}SIZEOF_UNSIGNED_LONG${ac_dC}4${ac_dD} ${ac_dA}SIZEOF_LONG_LONG${ac_dB}SIZEOF_LONG_LONG${ac_dC}8${ac_dD} CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in cat >$tmp/defines.sed <<CEOF /^[ ]*#[ ]*define/!b t clr : clr ${ac_dA}SIZEOF_UNSIGNED_LONG_LONG${ac_dB}SIZEOF_UNSIGNED_LONG_LONG${ac_dC}8${ac_dD} ${ac_dA}SIZEOF_FLOAT${ac_dB}SIZEOF_FLOAT${ac_dC}4${ac_dD} ${ac_dA}SIZEOF_DOUBLE${ac_dB}SIZEOF_DOUBLE${ac_dC}8${ac_dD} ${ac_dA}HAVE_LONG_DOUBLE${ac_dB}HAVE_LONG_DOUBLE${ac_dC}1${ac_dD} ${ac_dA}HAVE_UINT8_T${ac_dB}HAVE_UINT8_T${ac_dC}1${ac_dD} ${ac_dA}HAVE_INT8_T${ac_dB}HAVE_INT8_T${ac_dC}1${ac_dD} ${ac_dA}HAVE_UINT16_T${ac_dB}HAVE_UINT16_T${ac_dC}1${ac_dD} ${ac_dA}HAVE_INT16_T${ac_dB}HAVE_INT16_T${ac_dC}1${ac_dD} ${ac_dA}HAVE_UINT32_T${ac_dB}HAVE_UINT32_T${ac_dC}1${ac_dD} ${ac_dA}HAVE_INT32_T${ac_dB}HAVE_INT32_T${ac_dC}1${ac_dD} ${ac_dA}HAVE_UINT64_T${ac_dB}HAVE_UINT64_T${ac_dC}1${ac_dD} ${ac_dA}HAVE_INT64_T${ac_dB}HAVE_INT64_T${ac_dC}1${ac_dD} ${ac_dA}A_UINT32_T${ac_dB}A_UINT32_T${ac_dC}unsigned int${ac_dD} ${ac_dA}A_INT32_T${ac_dB}A_INT32_T${ac_dC}int${ac_dD} ${ac_dA}A_UINT64_T${ac_dB}A_UINT64_T${ac_dC}unsigned long long${ac_dD} ${ac_dA}A_INT64_T${ac_dB}A_INT64_T${ac_dC}long long${ac_dD} ${ac_dA}HAVE_IEEE854_FLOAT80${ac_dB}HAVE_IEEE854_FLOAT80${ac_dC}1${ac_dD} ${ac_dA}LAME_LIBRARY_BUILD${ac_dB}LAME_LIBRARY_BUILD${ac_dC}1${ac_dD} ${ac_dA}TIME_WITH_SYS_TIME${ac_dB}TIME_WITH_SYS_TIME${ac_dC}1${ac_dD} ${ac_dA}HAVE_ALLOCA_H${ac_dB}HAVE_ALLOCA_H${ac_dC}1${ac_dD} ${ac_dA}HAVE_ALLOCA${ac_dB}HAVE_ALLOCA${ac_dC}1${ac_dD} ${ac_dA}HAVE_GETTIMEOFDAY${ac_dB}HAVE_GETTIMEOFDAY${ac_dC}1${ac_dD} ${ac_dA}HAVE_STRTOL${ac_dB}HAVE_STRTOL${ac_dC}1${ac_dD} ${ac_dA}HAVE_SOCKET${ac_dB}HAVE_SOCKET${ac_dC}1${ac_dD} ${ac_dA}HAVE_GTK${ac_dB}HAVE_GTK${ac_dC}1${ac_dD} ${ac_dA}HAVE_MPGLIB${ac_dB}HAVE_MPGLIB${ac_dC}1${ac_dD} ${ac_dA}DECODE_ON_THE_FLY${ac_dB}DECODE_ON_THE_FLY${ac_dC}1${ac_dD} ${ac_dA}USE_LAYER_2${ac_dB}USE_LAYER_2${ac_dC}1${ac_dD} ${ac_dA}BRHIST${ac_dB}BRHIST${ac_dC}1${ac_dD} ${ac_dA}HAVE_TERMCAP${ac_dB}HAVE_TERMCAP${ac_dC}1${ac_dD} ${ac_dA}NDEBUG${ac_dB}NDEBUG${ac_dC}1${ac_dD} CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in fi # grep # Handle all the #undef templates cat >$tmp/undefs.sed <<CEOF /^[ ]*#[ ]*undef/!b t clr : clr ${ac_uA}PACKAGE_NAME${ac_uB}PACKAGE_NAME${ac_uC}""${ac_uD} ${ac_uA}PACKAGE_TARNAME${ac_uB}PACKAGE_TARNAME${ac_uC}""${ac_uD} ${ac_uA}PACKAGE_VERSION${ac_uB}PACKAGE_VERSION${ac_uC}""${ac_uD} ${ac_uA}PACKAGE_STRING${ac_uB}PACKAGE_STRING${ac_uC}""${ac_uD} ${ac_uA}PACKAGE_BUGREPORT${ac_uB}PACKAGE_BUGREPORT${ac_uC}""${ac_uD} ${ac_uA}PACKAGE${ac_uB}PACKAGE${ac_uC}"lame"${ac_uD} ${ac_uA}VERSION${ac_uB}VERSION${ac_uC}"3.96.1"${ac_uD} ${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD} ${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_DLFCN_H${ac_uB}HAVE_DLFCN_H${ac_uC}1${ac_uD} ${ac_uA}PROTOTYPES${ac_uB}PROTOTYPES${ac_uC}1${ac_uD} ${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD} ${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD} ${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD} ${ac_uA}HAVE_ERRNO_H${ac_uB}HAVE_ERRNO_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_FCNTL_H${ac_uB}HAVE_FCNTL_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_LIMITS_H${ac_uB}HAVE_LIMITS_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_SYS_TIME_H${ac_uB}HAVE_SYS_TIME_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD} ${ac_uA}WORDS_BIGENDIAN${ac_uB}WORDS_BIGENDIAN${ac_uC}1${ac_uD} ${ac_uA}_FILE_OFFSET_BITS${ac_uB}_FILE_OFFSET_BITS${ac_uC}64${ac_uD} ${ac_uA}SIZEOF_SHORT${ac_uB}SIZEOF_SHORT${ac_uC}2${ac_uD} ${ac_uA}SIZEOF_UNSIGNED_SHORT${ac_uB}SIZEOF_UNSIGNED_SHORT${ac_uC}2${ac_uD} ${ac_uA}SIZEOF_INT${ac_uB}SIZEOF_INT${ac_uC}4${ac_uD} ${ac_uA}SIZEOF_UNSIGNED_INT${ac_uB}SIZEOF_UNSIGNED_INT${ac_uC}4${ac_uD} ${ac_uA}SIZEOF_LONG${ac_uB}SIZEOF_LONG${ac_uC}4${ac_uD} ${ac_uA}SIZEOF_UNSIGNED_LONG${ac_uB}SIZEOF_UNSIGNED_LONG${ac_uC}4${ac_uD} ${ac_uA}SIZEOF_LONG_LONG${ac_uB}SIZEOF_LONG_LONG${ac_uC}8${ac_uD} CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in cat >$tmp/undefs.sed <<CEOF /^[ ]*#[ ]*undef/!b t clr : clr ${ac_uA}SIZEOF_UNSIGNED_LONG_LONG${ac_uB}SIZEOF_UNSIGNED_LONG_LONG${ac_uC}8${ac_uD} ${ac_uA}SIZEOF_FLOAT${ac_uB}SIZEOF_FLOAT${ac_uC}4${ac_uD} ${ac_uA}SIZEOF_DOUBLE${ac_uB}SIZEOF_DOUBLE${ac_uC}8${ac_uD} ${ac_uA}HAVE_LONG_DOUBLE${ac_uB}HAVE_LONG_DOUBLE${ac_uC}1${ac_uD} ${ac_uA}HAVE_UINT8_T${ac_uB}HAVE_UINT8_T${ac_uC}1${ac_uD} ${ac_uA}HAVE_INT8_T${ac_uB}HAVE_INT8_T${ac_uC}1${ac_uD} ${ac_uA}HAVE_UINT16_T${ac_uB}HAVE_UINT16_T${ac_uC}1${ac_uD} ${ac_uA}HAVE_INT16_T${ac_uB}HAVE_INT16_T${ac_uC}1${ac_uD} ${ac_uA}HAVE_UINT32_T${ac_uB}HAVE_UINT32_T${ac_uC}1${ac_uD} ${ac_uA}HAVE_INT32_T${ac_uB}HAVE_INT32_T${ac_uC}1${ac_uD} ${ac_uA}HAVE_UINT64_T${ac_uB}HAVE_UINT64_T${ac_uC}1${ac_uD} ${ac_uA}HAVE_INT64_T${ac_uB}HAVE_INT64_T${ac_uC}1${ac_uD} ${ac_uA}A_UINT32_T${ac_uB}A_UINT32_T${ac_uC}unsigned int${ac_uD} ${ac_uA}A_INT32_T${ac_uB}A_INT32_T${ac_uC}int${ac_uD} ${ac_uA}A_UINT64_T${ac_uB}A_UINT64_T${ac_uC}unsigned long long${ac_uD} ${ac_uA}A_INT64_T${ac_uB}A_INT64_T${ac_uC}long long${ac_uD} ${ac_uA}HAVE_IEEE854_FLOAT80${ac_uB}HAVE_IEEE854_FLOAT80${ac_uC}1${ac_uD} ${ac_uA}LAME_LIBRARY_BUILD${ac_uB}LAME_LIBRARY_BUILD${ac_uC}1${ac_uD} ${ac_uA}TIME_WITH_SYS_TIME${ac_uB}TIME_WITH_SYS_TIME${ac_uC}1${ac_uD} ${ac_uA}HAVE_ALLOCA_H${ac_uB}HAVE_ALLOCA_H${ac_uC}1${ac_uD} ${ac_uA}HAVE_ALLOCA${ac_uB}HAVE_ALLOCA${ac_uC}1${ac_uD} ${ac_uA}HAVE_GETTIMEOFDAY${ac_uB}HAVE_GETTIMEOFDAY${ac_uC}1${ac_uD} ${ac_uA}HAVE_STRTOL${ac_uB}HAVE_STRTOL${ac_uC}1${ac_uD} ${ac_uA}HAVE_SOCKET${ac_uB}HAVE_SOCKET${ac_uC}1${ac_uD} ${ac_uA}HAVE_GTK${ac_uB}HAVE_GTK${ac_uC}1${ac_uD} ${ac_uA}HAVE_MPGLIB${ac_uB}HAVE_MPGLIB${ac_uC}1${ac_uD} ${ac_uA}DECODE_ON_THE_FLY${ac_uB}DECODE_ON_THE_FLY${ac_uC}1${ac_uD} ${ac_uA}USE_LAYER_2${ac_uB}USE_LAYER_2${ac_uC}1${ac_uD} ${ac_uA}BRHIST${ac_uB}BRHIST${ac_uC}1${ac_uD} ${ac_uA}HAVE_TERMCAP${ac_uB}HAVE_TERMCAP${ac_uC}1${ac_uD} ${ac_uA}NDEBUG${ac_uB}NDEBUG${ac_uC}1${ac_uD} s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then if diff $ac_file $tmp/config.h >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'`/stamp-h$_am_stamp_count done # # CONFIG_COMMANDS section. # for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_dest" : 'X\(//\)[^/]' \| \ X"$ac_dest" : 'X\(//\)$' \| \ X"$ac_dest" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`(dirname "$mf") 2>/dev/null || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` else continue fi grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`(dirname "$file") 2>/dev/null || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p $dirpart/$fdir else as_dir=$dirpart/$fdir as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done { (exit 0); exit 0; } ��07070100069c90000081ed0000000200000002000000013fc86a760000766b000000200000000800000000000000000000001100000000reloc/config.sub��#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. timestamp='2003-07-04' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to <config-patches@gnu.org>. Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit 0;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k \ | m32r | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | msp430 \ | ns16k | ns32k \ | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | amd64-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* \ | m32r-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | msp430-* \ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ | xtensa-* \ | ymp-* \ | z8k-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nv1) basic_machine=nv1-cray os=-unicosmp ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; or32 | or32-*) basic_machine=or32-unknown os=-coff ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sh64) basic_machine=sh64-unknown ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -ptx*) vendor=sequent ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: �07070100069c91000081a40000000200000002000000014043b784000009bc000000200000000800000000000000000000001100000000reloc/configMS.h��/* The number of bytes in a double. */ #define SIZEOF_DOUBLE 8 /* The number of bytes in a float. */ #define SIZEOF_FLOAT 4 /* The number of bytes in a int. */ #define SIZEOF_INT 4 /* The number of bytes in a long. */ #define SIZEOF_LONG 4 /* The number of bytes in a long double. */ #define SIZEOF_LONG_DOUBLE 12 /* The number of bytes in a short. */ #define SIZEOF_SHORT 2 /* The number of bytes in a unsigned int. */ #define SIZEOF_UNSIGNED_INT 4 /* The number of bytes in a unsigned long. */ #define SIZEOF_UNSIGNED_LONG 4 /* The number of bytes in a unsigned short. */ #define SIZEOF_UNSIGNED_SHORT 2 /* Define if you have the ANSI C header files. */ #define STDC_HEADERS /* Define if you have the <errno.h> header file. */ #define HAVE_ERRNO_H /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H /* Define if you have the <limits.h> header file. */ #define HAVE_LIMITS_H /* Name of package */ #define PACKAGE "lame" /* Version number of package */ #define VERSION "3.96" /* Define if compiler has function prototypes */ #define PROTOTYPES 1 /* enable VBR bitrate histogram */ #define BRHIST 1 /* IEEE754 compatible machine */ #define TAKEHIRO_IEEE754_HACK 1 /* faster log implementation with less but enough precission */ #define USE_FAST_LOG 1 #define HAVE_STRCHR #define HAVE_MEMCPY #if defined(_MSC_VER) #pragma warning( disable : 4305 ) typedef __int8 int8_t; typedef __int16 int16_t; typedef __int32 int32_t; typedef __int64 int64_t; typedef unsigned __int8 uint8_t; typedef unsigned __int16 uint16_t; typedef unsigned __int32 uint32_t; typedef unsigned __int64 uint64_t; typedef float float32_t; typedef double float64_t; #elif defined (__GNUC__) #define uint8_t unsigned char #define uint16_t unsigned short #define uint32_t unsigned int #define uint64_t unsigned long long #define int8_t signed char #define int16_t signed short #define int32_t signed int #define int64_t signed long long #endif typedef long double ieee854_float80_t; typedef double ieee754_float64_t; typedef float ieee754_float32_t; #ifdef HAVE_MPGLIB # define DECODE_ON_THE_FLY 1 #endif #ifdef LAME_ACM /* memory hacking for driver purposes */ #define calloc(x,y) acm_Calloc(x,y) #define free(x) acm_Free(x) #define malloc(x) acm_Malloc(x) #include <stddef.h> void *acm_Calloc( size_t num, size_t size ); void *acm_Malloc( size_t size ); void acm_Free( void * mem); #endif /* LAME_ACM */ #define LAME_LIBRARY_BUILD 07070100069c92000081ed0000000200000002000000014103c944000dbea8000000200000000800000000000000000000001000000000reloc/configure���#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.57. # # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac echo=${ECHO-echo} if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then # Yippee, $echo works! : else # Restart under the correct shell. exec $SHELL "$0" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<EOF $* EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi if test -z "$ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if (echo_test_string="`eval $cmd`") 2>/dev/null && echo_test_string="`eval $cmd`" && (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null then break fi done fi if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. echo='print -r' elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} else # Try using printf. echo='printf %s\n' if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL echo="$CONFIG_SHELL $0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$CONFIG_SHELL $0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "$0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} else # Oops. We lost completely, so just stick with echo. echo=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. ECHO=$echo if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi tagnames=`echo "$tagnames,CXX" | sed 's/^,//'` tagnames=`echo "$tagnames,F77" | sed 's/^,//'` # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local ac_config_libobj_dir=. cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="libmp3lame/lame.c" # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> #if HAVE_SYS_TYPES_H # include <sys/types.h> #endif #if HAVE_SYS_STAT_H # include <sys/stat.h> #endif #if STDC_HEADERS # include <stdlib.h> # include <stddef.h> #else # if HAVE_STDLIB_H # include <stdlib.h> # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include <memory.h> # endif # include <string.h> #endif #if HAVE_STRINGS_H # include <strings.h> #endif #if HAVE_INTTYPES_H # include <inttypes.h> #else # if HAVE_STDINT_H # include <stdint.h> # endif #endif #if HAVE_UNISTD_H # include <unistd.h> #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT am__include am__quote CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL U ANSI2KNR ALLOCA GTK_CONFIG GTK_CFLAGS GTK_LIBS LIB_WITH_DECODER_TRUE LIB_WITH_DECODER_FALSE WITH_BRHIST_TRUE WITH_BRHIST_FALSE NASM HAVE_NASM_TRUE HAVE_NASM_FALSE INCLUDES FRONTEND_LDFLAGS FRONTEND_CFLAGS FRONTEND_LDADD LDADD LIB_MAJOR_VERSION LIB_MINOR_VERSION NASM_FORMAT MAKEDEP RM_F LIBTOOL_DEPS WITH_FRONTEND WITH_MP3X WITH_MP3RTP CPUTYPE CONFIG_DEFS LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} ac_cv_env_CPP_value=$CPP ac_env_CXX_set=${CXX+set} ac_env_CXX_value=$CXX ac_cv_env_CXX_set=${CXX+set} ac_cv_env_CXX_value=$CXX ac_env_CXXFLAGS_set=${CXXFLAGS+set} ac_env_CXXFLAGS_value=$CXXFLAGS ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ac_cv_env_CXXFLAGS_value=$CXXFLAGS ac_env_CXXCPP_set=${CXXCPP+set} ac_env_CXXCPP_value=$CXXCPP ac_cv_env_CXXCPP_set=${CXXCPP+set} ac_cv_env_CXXCPP_value=$CXXCPP ac_env_F77_set=${F77+set} ac_env_F77_value=$F77 ac_cv_env_F77_set=${F77+set} ac_cv_env_F77_value=$F77 ac_env_FFLAGS_set=${FFLAGS+set} ac_env_FFLAGS_value=$FFLAGS ac_cv_env_FFLAGS_set=${FFLAGS+set} ac_cv_env_FFLAGS_value=$FFLAGS # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-largefile omit support for large files --enable-nasm Allow the use of nasm if available --disable-gtktest Do not try to compile and run a test GTK program --enable-efence Use ElectricFence for malloc debugging --disable-analyzer-hooks Exclude analyzer hooks --disable-decoder Exclude mpg123 decoder --enable-decode-layer1 Include layer1 decoding default=no --disable-decode-layer2 Exclude layer2 decoding --disable-frontend Do not build the lame executable default=build --enable-mp3x Build GTK frame analyzer default=no --enable-mp3rtp Build mp3rtp default=no --disable-brhist Include the VBR bitrate histogram feature default=yes --enable-all-float Whether to make all floting point variables as float, not double default=no --enable-expopt=full,norm Whether to enable experimental optimizations default=no --enable-debug=alot,norm Enable debugging (disables optimizations) default=no Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] --with-dmalloc use dmalloc, as in http://www.dmalloc.com/dmalloc.tar.gz --with-gtk-prefix=PFX Prefix where GTK is installed (optional) --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional) --with-fileio=lame Use lame's internal file io routines default =sndfile Use Erik de Castro Lopo's libsndfile (no stdin possible currently) --with-sndfile-prefix=DIR Alternate location for libsndfile Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. if test -f $ac_srcdir/configure.gnu; then echo $SHELL $ac_srcdir/configure.gnu --help=recursive elif test -f $ac_srcdir/configure; then echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ _ACEOF { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. ac_sep=" " ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------- ## ## Output files. ## ## ------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core core.* *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f $ac_dir/shtool; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_build_alias=$build_alias test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_host_alias=$host_alias test -z "$ac_cv_host_alias" && ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` am__api_version="1.7" # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && program_transform_name="s,^,$program_prefix,;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s,\$,$program_suffix,;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF all: @echo 'ac_maketemp="$(MAKE)"' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE=lame VERSION=3.96.1 cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} AMTAR=${AMTAR-"${am_missing_run}tar"} install_sh=${install_sh-"$am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi STRIP=$ac_ct_STRIP else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. ac_config_headers="$ac_config_headers config.h" echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi; echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6 rm -f confinc confmf DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" # Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval="$enable_dependency_tracking" fi; if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 (eval $ac_compiler --version </dev/null >&5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 (eval $ac_compiler -v </dev/null >&5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 (eval $ac_compiler -V </dev/null >&5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. echo "$as_me:$LINENO: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= # b.out is created by i960 compilers. for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; conftest.$ac_ext ) # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool, # but it would be cool to find out if it's true. Does anybody # maintain Libtool? --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <stdarg.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include <stdlib.h>' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <stdlib.h> $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c -o conftest.o conftest.c \ >/dev/null 2>conftest.err && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # (even with -Werror). So we grep stderr for any message # that says an option was ignored. if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep echo "$as_me:$LINENO: checking for AIX" >&5 echo $ECHO_N "checking for AIX... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef _AIX yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 cat >>confdefs.h <<\_ACEOF #define _ALL_SOURCE 1 _ACEOF else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi rm -f conftest* echo "$as_me:$LINENO: checking for library containing strerror" >&5 echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6 if test "${ac_cv_search_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS ac_cv_search_strerror=no cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char strerror (); int main () { strerror (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_search_strerror="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test "$ac_cv_search_strerror" = no; then for ac_lib in cposix; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char strerror (); int main () { strerror (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_search_strerror="-l$ac_lib" break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext done fi LIBS=$ac_func_search_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 echo "${ECHO_T}$ac_cv_search_strerror" >&6 if test "$ac_cv_search_strerror" != no; then test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS" fi echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <stdlib.h> #include <stdarg.h> #include <string.h> #include <float.h> int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <string.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <stdlib.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <ctype.h> #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_minix_config_h+set}" = set; then echo "$as_me:$LINENO: checking for minix/config.h" >&5 echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6 if test "${ac_cv_header_minix_config_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking minix/config.h usability" >&5 echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <minix/config.h> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking minix/config.h presence" >&5 echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <minix/config.h> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for minix/config.h" >&5 echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6 if test "${ac_cv_header_minix_config_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_minix_config_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6 fi if test $ac_cv_header_minix_config_h = yes; then MINIX=yes else MINIX= fi if test "$MINIX" = yes; then cat >>confdefs.h <<\_ACEOF #define _POSIX_SOURCE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _POSIX_1_SOURCE 2 _ACEOF cat >>confdefs.h <<\_ACEOF #define _MINIX 1 _ACEOF fi case $host_os in *cygwin* ) CYGWIN=yes;; * ) CYGWIN=no;; esac # AC_DISABLE_SHARED # Check whether --enable-shared or --disable-shared was given. if test "${enable_shared+set}" = set; then enableval="$enable_shared" p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi; # Check whether --enable-static or --disable-static was given. if test "${enable_static+set}" = set; then enableval="$enable_static" p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi; # Check whether --enable-fast-install or --disable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval="$enable_fast_install" p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi; echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6 if test "${lt_cv_path_SED+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && break cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done SED=$lt_cv_path_SED fi echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6 # Check whether --with-gnu-ld or --without-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval="$with_gnu_ld" test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi; ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 else echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$lt_save_ifs" else lt_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$lt_cv_path_LD" if test -n "$LD"; then echo "$as_me:$LINENO: result: $LD" >&5 echo "${ECHO_T}$LD" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `"$LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) lt_cv_prog_gnu_ld=yes ;; *) lt_cv_prog_gnu_ld=no ;; esac fi echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 with_gnu_ld=$lt_cv_prog_gnu_ld echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/${ac_tool_prefix}nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac esac fi done IFS="$lt_save_ifs" test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6 NM="$lt_cv_path_NM" echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6 fi echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6 if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix4* | aix5*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi4*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin* | mingw* | pw32*) # win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='win32_libid' ;; darwin* | rhapsody*) # this will be overwritten by pass_all, but leave it in just in case lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' lt_cv_file_magic_cmd='/usr/bin/file -L' case "$host_os" in rhapsody* | darwin1.[012]) lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System` ;; *) # Darwin 1.3 on lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' ;; esac lt_cv_deplibs_check_method=pass_all ;; freebsd*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case "$host_cpu" in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; irix5* | irix6* | nonstopux*) case $host_os in irix5* | nonstopux*) # this will be overridden with pass_all, but let us keep it just in case lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" ;; *) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac # this will be overridden with pass_all, but let us keep it just in case lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" ;; esac lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux*) case $host_cpu in alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*) lt_cv_deplibs_check_method=pass_all ;; *) # glibc up to 2.1.1 does not perform some relocations on ARM lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; esac lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; nto-qnx) lt_cv_deplibs_check_method=unknown ;; openbsd*) lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' else lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' fi ;; osf3* | osf4* | osf5*) # this will be overridden with pass_all, but let us keep it just in case lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' lt_cv_file_magic_test_file=/shlib/libc.so lt_cv_deplibs_check_method=pass_all ;; sco3.2v5*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_test_file=/lib/libc.so ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock or --disable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval="$enable_libtool_lock" fi; test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line 4321 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case "`/usr/bin/file conftest.o`" in *32-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then lt_cv_cc_needs_belf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; esac need_locks="$enable_libtool_lock" for ac_header in dlfcn.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 (eval $ac_compiler --version </dev/null >&5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 (eval $ac_compiler -v </dev/null >&5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 (eval $ac_compiler -V </dev/null >&5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include <stdlib.h>' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <stdlib.h> $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c -o conftest.o conftest.c \ >/dev/null 2>conftest.err && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # (even with -Werror). So we grep stderr for any message # that says an option was ignored. if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 f77 xlf frt pgf77 fl32 af77 fort77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 lf95 g95 do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then echo "$as_me:$LINENO: result: $F77" >&5 echo "${ECHO_T}$F77" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 f77 xlf frt pgf77 fl32 af77 fort77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 lf95 g95 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_F77="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 echo "${ECHO_T}$ac_ct_F77" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_F77" && break done F77=$ac_ct_F77 fi # Provide some information about the compiler. echo "$as_me:5345:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 (eval $ac_compiler --version </dev/null >&5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 (eval $ac_compiler -v </dev/null >&5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 (eval $ac_compiler -V </dev/null >&5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } # If we don't use `.F' as extension, the preprocessor is not run on the # input file. ac_save_ext=$ac_ext ac_ext=F echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6 if test "${ac_cv_f77_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6 ac_ext=$ac_save_ext G77=`test $ac_compiler_gnu = yes && echo yes` ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_f77_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else FFLAGS=-g cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_f77_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 echo "${ECHO_T}$ac_cv_prog_f77_g" >&6 if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "$G77" = yes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "$G77" = yes; then FFLAGS="-O2" else FFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6 if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else i=0 testring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while (test "X"`$CONFIG_SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \ = "XX$testring") >/dev/null 2>&1 && new_result=`expr "X$testring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` testring=$testring$testring done testring= # Add a significant safety factor because C++ compilers can tack on massive # amounts of additional arguments before passing them to the linker. # It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6 else echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6 fi # Check for command to grab the raw symbol name followed by C symbol from nm. echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6 if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Transform the above into a raw symbol and a C symbol. symxfrm='\1 \2\3 \3' # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32*) symcode='[ABCDGISTW]' ;; hpux*) # Its linker distinguishes data from code symbols if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris* | sysv5*) symcode='[BDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGISTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Write the raw and C identifiers. lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} EOF if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if grep ' nm_test_var$' "$nlist" >/dev/null; then if grep ' nm_test_func$' "$nlist" >/dev/null; then cat <<EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' cat <<EOF >> conftest.$ac_ext #if defined (__STDC__) && __STDC__ # define lt_ptr_t void * #else # define lt_ptr_t char * # define const #endif /* The mapping between symbol names and symbols. */ const struct { const char *name; lt_ptr_t address; } lt_preloaded_symbols[] = { EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext cat <<\EOF >> conftest.$ac_ext {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then echo "$as_me:$LINENO: result: failed" >&5 echo "${ECHO_T}failed" >&6 else echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6 fi echo "$as_me:$LINENO: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6 if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6 objdir=$lt_cv_objdir case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='sed -e s/^X//' sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Constants: rm="rm -f" # Global variables: default_ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except M$VC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="${ac_tool_prefix}ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false" fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi AR=$ac_ct_AR else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi RANLIB=$ac_ct_RANLIB else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi STRIP=$ac_ct_STRIP else STRIP="$ac_cv_prog_STRIP" fi old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru test -z "$AS" && AS=as test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$LD" && LD=ld test -z "$LN_S" && LN_S="ln -s" test -z "$MAGIC_CMD" && MAGIC_CMD=file test -z "$NM" && NM=nm test -z "$SED" && SED=sed test -z "$OBJDUMP" && OBJDUMP=objdump test -z "$RANLIB" && RANLIB=: test -z "$STRIP" && STRIP=: test -z "$ac_objext" && ac_objext=o # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" ;; *) old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo "$as_me:$LINENO: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi else MAGIC_CMD=: fi fi fi ;; esac enable_dlopen=no enable_win32_dll=no # Check whether --enable-libtool-lock or --disable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval="$enable_libtool_lock" fi; test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic or --without-pic was given. if test "${with_pic+set}" = set; then withval="$with_pic" pic_mode="$withval" else pic_mode=default fi; test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}\n' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # Allow CC to be a program name with arguments. compiler=$CC # # Check for any special shared library compilation flags. # lt_prog_cc_shlib= if test "$GCC" = no; then case $host_os in sco3.2v5*) lt_prog_cc_shlib='-belf' ;; esac fi if test -n "$lt_prog_cc_shlib"; then { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5 echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;} if echo "$old_CC $old_CFLAGS " | grep "[ ]$lt_prog_cc_shlib[ ]" >/dev/null; then : else { echo "$as_me:$LINENO: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;} lt_cv_prog_cc_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # echo "$as_me:$LINENO: checking if $compiler static flag $lt_prog_compiler_static works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_prog_compiler_static works... $ECHO_C" >&6 if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_prog_compiler_static" printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 else lt_prog_compiler_static_works=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6 if test x"$lt_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:6350: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:6354: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test ! -s conftest.err; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case "$host_cpu" in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case "$host_cpu" in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux*) case $CC in icc|ecc) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; ccc) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; sco3.2v5*) lt_prog_compiler_pic='-Kpic' lt_prog_compiler_static='-dn' ;; solaris*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:6582: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:6586: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test ! -s conftest.err; then lt_prog_compiler_pic_works=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6 if test x"$lt_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out printf "$lt_simple_compile_test_code" > conftest.$ac_ext # According to Tom Tromey, Ian Lance Taylor reported there are C compilers # that will create temporary files in the current directory regardless of # the output directory. Thus, making CWD read-only will cause this test # to fail, enabling locking or at least warning the user not to do parallel # builds. chmod -w . lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:6649: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:6653: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . $rm conftest* out/* rmdir out cd .. rmdir conftest $rm conftest* fi echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6 hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6 if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms="_GLOBAL_OFFSET_TABLE_" # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # See if GNU ld supports shared libraries. case $host_os in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach <jrb3@best.com> says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris* | sysv5*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = yes; then runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$link_static_flag"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=yes if test "$GCC" = yes; then case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi esac shared_flag='-shared' else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # -bexpall does not export symbols beginning with underscore (_) always_export_symbols=yes # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec=' ' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi4*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then archive_cmds_need_lc=no case "$host_os" in rhapsody* | darwin1.[012]) allow_undefined_flag='-undefined suppress' ;; *) # Darwin 1.3 on test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag='-flat_namespace -undefined suppress' ;; esac # FIXME: Relying on posixy $() will cause problems for # cross-compilation, but unfortunately the echo tests do not # yet detect zsh echo's removal of \ escapes. Also zsh mangles # `"' quotes if we put them in here... so don't! lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='-all_load $convenience' link_all_deplibs=yes fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case "$host_cpu" in hppa*64*|ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case "$host_cpu" in hppa*64*|ia64*) archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; esac fi if test "$with_gnu_ld" = no; then case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=no hardcode_shlibpath_var=no ;; ia64*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=no hardcode_shlibpath_var=no # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; *) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; sco3.2v5*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='${wl}-Bexport' runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4.2uw2*) archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=no hardcode_shlibpath_var=no hardcode_runpath_var=yes runpath_var=LD_RUN_PATH ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) no_undefined_flag='${wl}-z ${wl}text' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' fi runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv5*) no_undefined_flag=' -z text' # $CC -shared without GNU ld will not create a library from C++ # object files and a static libstdc++, better avoid it by now archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' hardcode_libdir_flag_spec= hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi echo "$as_me:$LINENO: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6 test "$ld_shlibs" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6 ;; esac fi ;; esac echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var " || \ test "X$hardcode_automatic"="Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6 if test "$hardcode_action" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi striplib= old_striplib= echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi ;; *) echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 ;; esac fi echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 library_names_spec= libname_spec='lib$name' soname_spec= shrext=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib<name>.so # instead of lib<name>.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi4*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no # FIXME: Relying on posixy $() will cause problems for # cross-compilation, but unfortunately the echo tests do not # yet detect zsh echo's removal of \ escapes. library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext='$(test .$module = .yes && echo .so || echo .dylib)' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` fi sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; *) # from 3.2 on shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case "$host_cpu" in ia64*) shrext='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; sco3.2v5*) version_type=osf soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6 test "$dynamic_linker" = no && can_build_shared=no if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer <limits.h> to <assert.h> if __STDC__ is defined, since <limits.h> exists even on freestanding compilers. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_shl_load) || defined (__stub___shl_load) choke me #else char (*f) () = shl_load; #endif #ifdef __cplusplus } #endif int main () { return f != shl_load; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6 if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shl_load (); int main () { shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer <limits.h> to <assert.h> if __STDC__ is defined, since <limits.h> exists even on freestanding compilers. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_dlopen) || defined (__stub___dlopen) choke me #else char (*f) () = dlopen; #endif #ifdef __cplusplus } #endif int main () { return f != dlopen; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6 if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dld_link (); int main () { dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF #line 8661 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include <dlfcn.h> #endif #include <stdio.h> #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_unknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6 if test "x$lt_cv_dlopen_self" = xyes; then LDFLAGS="$LDFLAGS $link_static_flag" echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF #line 8759 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include <dlfcn.h> #endif #include <stdio.h> #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi # Report which librarie types wil actually be built echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6 echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case "$host_os" in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix4*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; darwin* | rhapsody*) if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then archive_cmds_need_lc=no case "$host_os" in rhapsody* | darwin1.[012]) allow_undefined_flag='-undefined suppress' ;; *) # Darwin 1.3 on test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag='-flat_namespace -undefined suppress' ;; esac # FIXME: Relying on posixy $() will cause problems for # cross-compilation, but unfortunately the echo tests do not # yet detect zsh echo's removal of \ escapes. Also zsh mangles # `"' quotes if we put them in here... so don't! output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='-all_load $convenience' link_all_deplibs=yes fi ;; esac echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6 echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6 # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { echo "$as_me:$LINENO: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $SHELL # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="$SED -e s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext='$shrext' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$fix_srcfile_path" # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ case $host_os in aix3*) cat <<\EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi EOF ;; esac # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || \ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. test -f Makefile && make "$ltmain" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags or --without-tags was given. if test "${with_tags+set}" = set; then withval="$with_tags" tagnames="$withval" fi; if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for tagname in $tagnames; do IFS="$lt_save_ifs" # Check whether tagname contains only valid characters case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in "") ;; *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } fi # Update the list of available tags. if test -n "$tagname"; then echo appending configuration tag \"$tagname\" to $ofile case $tagname in CXX) if test -n "$CXX" && test "X$CXX" != "Xno"; then ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. ac_ext=cc # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *) { return(0); }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # Allow CC to be a program name with arguments. compiler=$CC # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld or --without-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval="$with_gnu_ld" test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi; ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 else echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$lt_save_ifs" else lt_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$lt_cv_path_LD" if test -n "$LD"; then echo "$as_me:$LINENO: result: $LD" >&5 echo "${ECHO_T}$LD" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `"$LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) lt_cv_prog_gnu_ld=yes ;; *) lt_cv_prog_gnu_ld=no ;; esac fi echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes if test "$GXX" = yes; then case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct_CXX=yes else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # -bexpall does not export symbols beginning with underscore (_) always_export_symbols_CXX=yes # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX=' ' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then archive_cmds_need_lc_CXX=no case "$host_os" in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='-undefined suppress' ;; *) # Darwin 1.3 on test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag_CXX='-flat_namespace -undefined suppress' ;; esac lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds_CXX='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds_CXX='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='-all_load $convenience' link_all_deplibs_CXX=yes fi ;; dgux*) case $cc_basename in ec++) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd12*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld_CXX='+b $libdir' hardcode_libdir_separator_CXX=: ;; ia64*) hardcode_libdir_flag_spec_CXX='-L$libdir' ;; *) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case "$host_cpu" in hppa*64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC) case "$host_cpu" in hppa*64*|ia64*) archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case "$host_cpu" in ia64*|hppa*64*) archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; irix5* | irix6*) case $cc_basename in CC) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux*) case $cc_basename in KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc) # Intel C++ with_gnu_ld=yes archive_cmds_need_lc_CXX=no archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; cxx) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; osf3*) case $cc_basename in KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; osf4* | osf5*) case $cc_basename in KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sco*) archive_cmds_need_lc_CXX=no case $cc_basename in CC) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; sunos4*) case $cc_basename in CC) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC) # Sun C++ 4.2, 5.x and Centerline C++ no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.0-5 | solaris2.0-5.*) ;; *) # The C++ compiler is used as linker so we must use $wl # flag to pass the commands to the underlying system # linker. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac link_all_deplibs_CXX=yes # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[LR]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" fi hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' fi ;; esac ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) archive_cmds_need_lc_CXX=no ;; tandem*) case $cc_basename in NCC) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6 test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <<EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; EOF if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no # The `*' in the case matches for architectures that use `case' in # $output_verbose_cmd can trigger glob expansion during the loop # eval without this substitution. output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" for p in `eval $output_verbose_link_cmd`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" \ || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case "$host_cpu" in hppa*64*|ia64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix4* | aix5*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" case "$host_cpu" in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux*) case $cc_basename in KCC) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; cxx) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; sco*) case $cc_basename in CC) lt_prog_compiler_pic_CXX='-fPIC' ;; *) ;; esac ;; solaris*) case $cc_basename in CC) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; unixware*) ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:10891: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:10895: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test ! -s conftest.err; then lt_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6 if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out printf "$lt_simple_compile_test_code" > conftest.$ac_ext # According to Tom Tromey, Ian Lance Taylor reported there are C compilers # that will create temporary files in the current directory regardless of # the output directory. Thus, making CWD read-only will cause this test # to fail, enabling locking or at least warning the user not to do parallel # builds. chmod -w . lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:10958: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:10962: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . $rm conftest* out/* rmdir out cd .. rmdir conftest $rm conftest* fi echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6 hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6 if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix4* | aix5*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6 test "$ld_shlibs_CXX" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6 ;; esac fi ;; esac echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var CXX" || \ test "X$hardcode_automatic_CXX"="Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6 if test "$hardcode_action_CXX" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi striplib= old_striplib= echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi ;; *) echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 ;; esac fi echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 library_names_spec= libname_spec='lib$name' soname_spec= shrext=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib<name>.so # instead of lib<name>.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi4*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no # FIXME: Relying on posixy $() will cause problems for # cross-compilation, but unfortunately the echo tests do not # yet detect zsh echo's removal of \ escapes. library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext='$(test .$module = .yes && echo .so || echo .dylib)' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` fi sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; *) # from 3.2 on shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case "$host_cpu" in ia64*) shrext='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; sco3.2v5*) version_type=osf soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6 test "$dynamic_linker" = no && can_build_shared=no if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer <limits.h> to <assert.h> if __STDC__ is defined, since <limits.h> exists even on freestanding compilers. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_shl_load) || defined (__stub___shl_load) choke me #else char (*f) () = shl_load; #endif #ifdef __cplusplus } #endif int main () { return f != shl_load; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6 if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shl_load (); int main () { shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer <limits.h> to <assert.h> if __STDC__ is defined, since <limits.h> exists even on freestanding compilers. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_dlopen) || defined (__stub___dlopen) choke me #else char (*f) () = dlopen; #endif #ifdef __cplusplus } #endif int main () { return f != dlopen; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6 if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dld_link (); int main () { dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF #line 12201 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include <dlfcn.h> #endif #include <stdio.h> #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_unknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6 if test "x$lt_cv_dlopen_self" = xyes; then LDFLAGS="$LDFLAGS $link_static_flag" echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF #line 12299 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include <dlfcn.h> #endif #include <stdio.h> #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### BEGIN LIBTOOL TAG CONFIG: $tagname # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext='$shrext' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds_CXX old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_CXX # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$fix_srcfile_path_CXX" # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. test -f Makefile && make "$ltmain" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ldcxx=$with_gnu_ld with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code=" subroutine t\n return\n end\n" # Code to be used in simple link tests lt_simple_link_test_code=" program t\n end\n" # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # Allow CC to be a program name with arguments. compiler=$CC # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6 echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case "$host_os" in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix4*) test "$enable_shared" = yes && enable_static=no ;; esac echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6 echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6 test "$ld_shlibs_F77" = no && can_build_shared=no GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case "$host_cpu" in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case "$host_cpu" in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux*) case $CC in icc|ecc) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; ccc) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; sco3.2v5*) lt_prog_compiler_pic_F77='-Kpic' lt_prog_compiler_static_F77='-dn' ;; solaris*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:13121: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:13125: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test ! -s conftest.err; then lt_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6 if test x"$lt_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out printf "$lt_simple_compile_test_code" > conftest.$ac_ext # According to Tom Tromey, Ian Lance Taylor reported there are C compilers # that will create temporary files in the current directory regardless of # the output directory. Thus, making CWD read-only will cause this test # to fail, enabling locking or at least warning the user not to do parallel # builds. chmod -w . lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:1318