On Mon, Jun 16, 2014 at 4:10 AM, lvqcl <[email protected]> wrote: > Erik de Castro Lopo wrote: > >> Ok, done for the autotool build system. Would appreciate it if someone >> could look that the VS build files. > > > I'll do it, but: I cannot build 32-bit flac with MinGW: > > <-------------------------------------------------------------> > CC grabbag/replaygain.lo > In file included from grabbag/replaygain.c:38:0: > ../../include/share/replaygain_analysis.h:45:17: error: conflicting types for > 'float_t' > typedef float float_t; /* Type used for filtering */ > ^ > In file included from grabbag/replaygain.c:25:0: > D:/MSYS/mingw/i686-w64-mingw32/include/math.h:329:21: note: previous > declaration > of 'float_t' was here > typedef long double float_t; > <-------------------------------------------------------------> > > > Also, what about Makefile.lite files? MinGW refuses to build flac > using them, so I cannot test. But 3 of them -- > src\share\getopt\Makefile.lite > src\share\replaygain_synthesis\Makefile.lite > src\share\utf8\Makefile.lite > add both 'include' and 'include/share', and one file -- > src\share\replaygain_analysis\Makefile.lite > adds 'include/share' only. > > Or maybe they are unsupported?
Speaking of the Makefile.lite build system, the attached patch will update it to reflect changes to the FLAC project since my last patch in 2012 and add other important tweaks: * Account for the updates to UTF-8 on Windows. * Add missing object and library entries to the system to ensure all components link properly. * Add USE_LROUND and USE_FSEEKO Makefile variables to allow clean addressing of the HAVE_LROUND and HAVE_FSEEKO conditional sections, normally resolved elsewhere in the full build system. * Add Makefile variables CCFLAGS and CCCFLAGS to specify gcc-only and g++-only flags, respectively. This was done to eliminate the following warnings, which were repeated for every g++ invocation: >cc1plus.exe: warning: command line option '-Wmissing-prototypes' is valid for >C/ObjC but not for C++ [enabled by default] >cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for >C/ObjC but not for C++ [enabled by default] * Remove inclusion of "include/share" and ensure inclusion of "include" in its place, in line with commit 6c9abe3690769ae4c70c301ee8062305d51b9409. * Allow the user to specify CUSTOM_CFLAGS on the make invocation in case a user (like myself) wants to specify additional cflags. For example: make -f Makefile.lite libFLAC CUSTOM_CFLAGS="-fno-stack-check -fno-stack-protector -mno-stack-arg-probe". Please alert me if this build breaks anything on non-Win32 and/or non-Makefile.lite build systems and I will provide an updated patch. I also encountered the error lvqcl identified involving MinGW and float_t. It was caused by commit b4f7528e9a267cf7a8f03827429008cb994e1bb7. I was able to fix it on my end by removing the following line: typedef float float_t; /* Type used for filtering */ I was also able to fix it by replacing all "float_t" with something namespaced like "rg_float_t", but that would effectively revert said commit. I do not know what the correct course of action is. I suggest testing the removal of the line under other build systems and platforms. -H
flac-update-Makefile-lite.patch.gz
Description: GNU Zip compressed data
_______________________________________________ flac-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/flac-dev
