v1.6 RC1 on Win64

Lukáš Lalinský lalinsky at gmail.com
Wed Sep 9 20:14:55 CEST 2009


2009/9/9 NightStrike <nightstrike at gmail.com>:
> Ugh.  I have read this thoroughly and did some test setups.  I have
> determined that cross compiling with CMAKE is absolutely horrendous.
>
> With autoconf, all you do is "../configure --host=$(triplet)", and now
> you're cross compiled.  This puts a boatload of responsibility on the
> user of taglib to figure out what sort of magic to do to get it to
> cross compile, instead of leaving that burden on the taglib
> developers, the people that know the product inside and out.
>
> Isn't there any way that you can make taglib cross compilable out of
> the box once autoconf goes away?  You will be removing a very big
> feature (even if you didn't know it was there and functional).

I'm willing to accept that. As I said, you are welcome to contribute
patches to make it easier, but:

 * Maintaining two build systems is not an option (even if somebody
else volunteers to maintain it -- they won't keep it up to date)
 * Using only autotools means that people can't compile TagLib on
Windows without installing msys/cygwin. This is a much large issue
than making Linux => Windows cross-compilation harder.

Btw, as I mentioned, I had no experience with cross-compiling, but I
was able to build a static Windows version of libtag.a on Linux in
less than five minutes:

$ apt-get install mingw32
<create a file mingw.cmake with http://paste.pocoo.org/show/138909/>
$ cmake -DCMAKE_TOOLCHAIN_FILE=./mingw.cmake -DENABLE_STATIC=ON
-DBUILD_EXAMPLES=ON .
$ make
$ wine examples/tagreader.exe /shared/Hudba/Modul/Globe\ Puzzle/01\ Westwood.mp3
fixme:powrprof:DllMain (0x7e3d0000, 1, (nil)) not fully implemented
fixme:ntdll:NtPowerInformation Unimplemented NtPowerInformation action: 16
******************** "/shared/Hudba/Modul/Globe Puzzle/01
Westwood.mp3" ********************
-- TAG --
title   - "Westwood"
artist  - "Modul"
album   - "Globe Puzzle"
year    - "2006"
comment - "Juan Frank"
track   - "1"
genre   - ""
-- AUDIO --
bitrate     - 320
sample rate - 44100
channels    - 2
length      - 0:47

So I don't believe it's that hard.

>> Yes, but that's not the right solution. This affects way more classes
>> (everything under taglib/) and the macro should not be defined when
>> building for example the C bindings. There are a few possible
>> solution, http://paste.pocoo.org/show/137925/ seemed to be the easiest
>> way.
>
> Are you going to or have you already committed this to 1.6?

It's already committed.

-- 
Lukas Lalinsky
lalinsky at gmail.com


More information about the taglib-devel mailing list