Re: [flac-dev] Patch for cross compilation with MinGW32

2012-07-01 Thread Cristian Rodríguez
El 23/06/12 22:23, Christoph Terasa escribió:
 Hello,
 
 I had some difficulties compiling the current git (
 http://git.xiph.org/?p=flac.git;a=commit;h=a7e3705d051bafd1cae90f6605287cc1d9f2a18d
 ) using the Ubuntu 12.04 supplied MinGW32 cross compiler:
 
 I configured the FLAC build with --host=i586-mingw32msvc
 --target=i586-mingw32msvc --build=i586-linux but ran into several linker
 problems. Are these options somehow wrong? It worked fine when I
 compiled libogg-0.dll. Anyway, I attached a patch to allow cross
 compilation with MinGW32 on my machine again:
 
 First, I moved the implementation of *safe_malloc_mul_2op_ to alloc.h,
 just like all the other alloc implementations, and removed the thereby
 obsolete alloc.c implementation from grabbag.
 Second, I just wrapped FLAC__clz_soft_uint32 with an #ifndef __MINGW32__.
 
 I tested the patch for both Linux and MinGW32 compiles, and both result
 in functional programs.
 

It works for me.. with mingw32-cross-gcc-4.7.0-8.43.x86_64 and the
resulting binaries also work.


___
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev


Re: [flac-dev] Patch for cross compilation with MinGW32

2012-06-23 Thread JonY
On 6/24/2012 10:23, Christoph Terasa wrote:
 Hello,
 
 I had some difficulties compiling the current git (
 http://git.xiph.org/?p=flac.git;a=commit;h=a7e3705d051bafd1cae90f6605287cc1d9f2a18d
 ) using the Ubuntu 12.04 supplied MinGW32 cross compiler:
 
 I configured the FLAC build with --host=i586-mingw32msvc
 --target=i586-mingw32msvc --build=i586-linux but ran into several linker
 problems. Are these options somehow wrong? It worked fine when I
 compiled libogg-0.dll. Anyway, I attached a patch to allow cross
 compilation with MinGW32 on my machine again:
 
 First, I moved the implementation of *safe_malloc_mul_2op_ to alloc.h,
 just like all the other alloc implementations, and removed the thereby
 obsolete alloc.c implementation from grabbag.
 Second, I just wrapped FLAC__clz_soft_uint32 with an #ifndef __MINGW32__.

Curious, why is FLAC__clz_soft_uint32 needed?




signature.asc
Description: OpenPGP digital signature
___
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev


Re: [flac-dev] Patch for cross compilation with MinGW32

2012-06-23 Thread Erik de Castro Lopo
Christoph Terasa wrote:

 I had some difficulties compiling the current git ( 
 http://git.xiph.org/?p=flac.git;a=commit;h=a7e3705d051bafd1cae90f6605287cc1d9f2a18d
  
 ) using the Ubuntu 12.04 supplied MinGW32 cross compiler:

Oh cool, I've wanted to do this myself but hadn't found time.

 I configured the FLAC build with --host=i586-mingw32msvc 
 --target=i586-mingw32msvc --build=i586-linux but ran into several linker 
 problems. Are these options somehow wrong?

Nope, seems about right.

 First, I moved the implementation of *safe_malloc_mul_2op_ to alloc.h, 
 just like all the other alloc implementations, and removed the thereby 
 obsolete alloc.c implementation from grabbag.

Err, probably not a good idea. I assume you moved it there and made it
inline, but GCC on x86-64 complains that it cannot inline it.

 Second, I just wrapped FLAC__clz_soft_uint32 with an #ifndef __MINGW32__.
 
 I tested the patch for both Linux and MinGW32 compiles, and both result 
 in functional programs.

I'm pretty sure there were warnings under linux. You should configure with

./configure --enable-gcc-werrror

whcih turns all warnings into errors. I'm trying to keep the FLAC code 
warning free.

Cheers,
Erik
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/
___
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev