|
View:
New views
16 Messages
—
Rating Filter:
Alert me
|
|
|
v1.6 RC1 on Win64Taglib is currently used by VLC, and VLC requires Win64 support in
Taglib to have a win64 supported VLC. 1.5 works for this, but 1.6 seems to break this compatibility. I tried to compile your release candidate for Win64 using http://mingw-w64.sf.net/ , and it died as follows: tstring.cpp:74:16: error: definition of static data member 'TagLib::String::null' of dllimport'd class It seems like this should be simple to fix. Also, you might want to clean up a lot of these warnings, too. It would be a big help for Win64 support: tstring.cpp:74:16: warning: 'TagLib::String::null' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:78:1: warning: 'TagLib::String::String()' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp:83:1: warning: 'TagLib::String::String(const TagLib::String&)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:88:1: warning: 'TagLib::String::String(const std::string&, TagLib::String::Type)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:109:1: warning: 'TagLib::String::String(const TagLib::wstring&, TagLib::String::Type)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:115:1: warning: 'TagLib::String::String(const wchar_t*, TagLib::String::Type)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:121:1: warning: 'TagLib::String::String(const char*, TagLib::String::Type)' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp:143:1: warning: 'TagLib::String::String(wchar_t, TagLib::String::Type)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:150:1: warning: 'TagLib::String::String(char, TagLib::String::Type)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:163:1: warning: 'TagLib::String::String(const TagLib::ByteVector&, TagLib::String::Type)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:199:1: warning: 'virtual TagLib::String::~String()' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp:205:13: warning: 'std::string TagLib::String::to8Bit(bool) const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:250:17: warning: 'TagLib::wstring TagLib::String::toWString() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:255:13: warning: 'const char* TagLib::String::toCString(bool) const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:266:18: warning: 'TagLib::String::Iterator TagLib::String::begin()' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:271:23: warning: 'TagLib::String::ConstIterator TagLib::String::begin() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:276:18: warning: 'TagLib::String::Iterator TagLib::String::end()' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:281:23: warning: 'TagLib::String::ConstIterator TagLib::String::end() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:286:5: warning: 'int TagLib::String::find(const TagLib::String&, int) const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:296:5: warning: 'int TagLib::String::rfind(const TagLib::String&, int) const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:307:6: warning: 'bool TagLib::String::startsWith(const TagLib::String&) const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:315:8: warning: 'TagLib::String TagLib::String::substr(TagLib::uint, TagLib::uint) const' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp:325:9: warning: 'TagLib::String& TagLib::String::append(const TagLib::String&)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:332:8: warning: 'TagLib::String TagLib::String::upper() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:348:14: warning: 'TagLib::uint TagLib::String::size() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:353:14: warning: 'TagLib::uint TagLib::String::length() const' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp:358:6: warning: 'bool TagLib::String::isEmpty() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:363:6: warning: 'bool TagLib::String::isNull() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:368:12: warning: 'TagLib::ByteVector TagLib::String::data(TagLib::String::Type) const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:433:5: warning: 'int TagLib::String::toInt() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:449:8: warning: 'TagLib::String TagLib::String::stripWhiteSpace() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:475:6: warning: 'bool TagLib::String::isLatin1() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:484:6: warning: 'bool TagLib::String::isAscii() const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:493:8: warning: 'static TagLib::String TagLib::String::number(int)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:522:16: warning: 'TagLib::wchar& TagLib::String::operator[](int)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:529:22: warning: 'const TagLib::wchar& TagLib::String::operator[](int) const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:534:6: warning: 'bool TagLib::String::operator==(const TagLib::String&) const' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp:539:9: warning: 'TagLib::String& TagLib::String::operator+=(const TagLib::String&)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:547:9: warning: 'TagLib::String& TagLib::String::operator+=(const wchar_t*)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:555:9: warning: 'TagLib::String& TagLib::String::operator+=(const char*)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:564:9: warning: 'TagLib::String& TagLib::String::operator+=(wchar_t)' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp:572:9: warning: 'TagLib::String& TagLib::String::operator+=(char)' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp:580:9: warning: 'TagLib::String& TagLib::String::operator=(const TagLib::String&)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:592:9: warning: 'TagLib::String& TagLib::String::operator=(const std::string&)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:610:9: warning: 'TagLib::String& TagLib::String::operator=(const TagLib::wstring&)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:618:9: warning: 'TagLib::String& TagLib::String::operator=(const wchar_t*)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:626:9: warning: 'TagLib::String& TagLib::String::operator=(char)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:635:9: warning: 'TagLib::String& TagLib::String::operator=(wchar_t)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:644:9: warning: 'TagLib::String& TagLib::String::operator=(const char*)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:663:9: warning: 'TagLib::String& TagLib::String::operator=(const TagLib::ByteVector&)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:687:6: warning: 'bool TagLib::String::operator<(const TagLib::String&) const' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:696:6: warning: 'void TagLib::String::detach()' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp:708:6: warning: 'void TagLib::String::prepare(TagLib::String::Type)' redeclared without dllimport attribute after being referenced with dll linkage tstring.cpp: In function 'const TagLib::String operator+(const TagLib::String&, const TagLib::String&)': tstring.cpp:776:22: warning: 'const TagLib::String operator+(const TagLib::String&, const TagLib::String&)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:783:22: warning: 'const TagLib::String operator+(const char*, const TagLib::String&)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp: In function 'const TagLib::String operator+(const TagLib::String&, const char*)': tstring.cpp:790:22: warning: 'const TagLib::String operator+(const TagLib::String&, const char*)' redeclared without dllimport attribute: previous dllimport ignored tstring.cpp:797:15: warning: 'std::ostream& operator<<(std::ostream&, const TagLib::String&)' redeclared without dllimport attribute: previous dllimport ignored _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win64On Thu, Sep 3, 2009 at 11:22 PM, NightStrike<nightstrike@...> wrote:
> Taglib is currently used by VLC, and VLC requires Win64 support in > Taglib to have a win64 supported VLC. 1.5 works for this, but 1.6 > seems to break this compatibility. > > I tried to compile your release candidate for Win64 using > http://mingw-w64.sf.net/ , and it died as follows: > > tstring.cpp:74:16: error: definition of static data member > 'TagLib::String::null' of dllimport'd class How are you building TagLib? tstring.cpp should see only dllexported TagLib::String, never dllimported. -- Lukas Lalinsky lalinsky@... _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/3 Lukáš Lalinský <lalinsky@...>:
> On Thu, Sep 3, 2009 at 11:22 PM, NightStrike<nightstrike@...> wrote: >> Taglib is currently used by VLC, and VLC requires Win64 support in >> Taglib to have a win64 supported VLC. 1.5 works for this, but 1.6 >> seems to break this compatibility. >> >> I tried to compile your release candidate for Win64 using >> http://mingw-w64.sf.net/ , and it died as follows: >> >> tstring.cpp:74:16: error: definition of static data member >> 'TagLib::String::null' of dllimport'd class > > How are you building TagLib? tstring.cpp should see only dllexported > TagLib::String, never dllimported. > > -- > Lukas Lalinsky > lalinsky@... > ./configure --target=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu --program-prefix= --without-pic --disable-shared --enable-msw --disable-dependency-tracking --prefix=/home/nightstrike/work/vlc/extras/contrib _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/3 NightStrike <nightstrike@...>:
> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >> On Thu, Sep 3, 2009 at 11:22 PM, NightStrike<nightstrike@...> wrote: >>> Taglib is currently used by VLC, and VLC requires Win64 support in >>> Taglib to have a win64 supported VLC. 1.5 works for this, but 1.6 >>> seems to break this compatibility. >>> >>> I tried to compile your release candidate for Win64 using >>> http://mingw-w64.sf.net/ , and it died as follows: >>> >>> tstring.cpp:74:16: error: definition of static data member >>> 'TagLib::String::null' of dllimport'd class >> >> How are you building TagLib? tstring.cpp should see only dllexported >> TagLib::String, never dllimported. >> >> -- >> Lukas Lalinsky >> lalinsky@... >> > > ./configure --target=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 > --build=x86_64-linux-gnu --program-prefix= --without-pic > --disable-shared --enable-msw --disable-dependency-tracking > --prefix=/home/nightstrike/work/vlc/extras/contrib > Also, please see these two (very small) patches for consideration from 1.5: http://git.videolan.org/?p=vlc.git;a=blob;f=extras/contrib/src/Patches/taglib-static.patch;h=23bc5d99cd16c0e3c5fb6cdaaf95e0073ed369e0;hb=HEAD http://git.videolan.org/?p=vlc.git;a=blob;f=extras/contrib/src/Patches/taglib-cygwin.patch;h=c5efe71af393c01a2421828b2d9a26b5ee584e92;hb=HEAD _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/3 NightStrike <nightstrike@...>:
> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >> On Thu, Sep 3, 2009 at 11:22 PM, NightStrike<nightstrike@...> wrote: >>> Taglib is currently used by VLC, and VLC requires Win64 support in >>> Taglib to have a win64 supported VLC. 1.5 works for this, but 1.6 >>> seems to break this compatibility. >>> >>> I tried to compile your release candidate for Win64 using >>> http://mingw-w64.sf.net/ , and it died as follows: >>> >>> tstring.cpp:74:16: error: definition of static data member >>> 'TagLib::String::null' of dllimport'd class >> >> How are you building TagLib? tstring.cpp should see only dllexported >> TagLib::String, never dllimported. > > ./configure --target=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 > --build=x86_64-linux-gnu --program-prefix= --without-pic > --disable-shared --enable-msw --disable-dependency-tracking > --prefix=/home/nightstrike/work/vlc/extras/contrib The autotools-based build system doesn't support compilation on Windows (and neither it did in 1.5). This is possible to fix, but I didn't know anybody would like to use that. All that is necessary is to define MAKE_TAGLIB_LIB. -- Lukas Lalinsky lalinsky@... _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/3 Lukáš Lalinský <lalinsky@...>:
> 2009/9/3 NightStrike <nightstrike@...>: >> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >>> On Thu, Sep 3, 2009 at 11:22 PM, NightStrike<nightstrike@...> wrote: >>>> Taglib is currently used by VLC, and VLC requires Win64 support in >>>> Taglib to have a win64 supported VLC. 1.5 works for this, but 1.6 >>>> seems to break this compatibility. >>>> >>>> I tried to compile your release candidate for Win64 using >>>> http://mingw-w64.sf.net/ , and it died as follows: >>>> >>>> tstring.cpp:74:16: error: definition of static data member >>>> 'TagLib::String::null' of dllimport'd class >>> >>> How are you building TagLib? tstring.cpp should see only dllexported >>> TagLib::String, never dllimported. >> >> ./configure --target=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 >> --build=x86_64-linux-gnu --program-prefix= --without-pic >> --disable-shared --enable-msw --disable-dependency-tracking >> --prefix=/home/nightstrike/work/vlc/extras/contrib > > The autotools-based build system doesn't support compilation on > Windows (and neither it did in 1.5). This is possible to fix, but I > didn't know anybody would like to use that. All that is necessary is > to define MAKE_TAGLIB_LIB. > > -- > Lukas Lalinsky > lalinsky@... > Anyone cross compiling, I'd imagine. It's how vlc builds taglib. I'm doing that right now, crossing from linux to win64. Where should MAKE_TAGLIB_LIB be defined? _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/3 NightStrike <nightstrike@...>:
> Also, please see these two (very small) patches for consideration from 1.5: > > http://git.videolan.org/?p=vlc.git;a=blob;f=extras/contrib/src/Patches/taglib-static.patch;h=23bc5d99cd16c0e3c5fb6cdaaf95e0073ed369e0;hb=HEAD Definitely not, we are building dll by default. A patch to add support for static library would be welcome, though. > http://git.videolan.org/?p=vlc.git;a=blob;f=extras/contrib/src/Patches/taglib-cygwin.patch;h=c5efe71af393c01a2421828b2d9a26b5ee584e92;hb=HEAD Any reason why is this necessary? -- Lukas Lalinsky lalinsky@... _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/3 Lukáš Lalinský <lalinsky@...>:
> 2009/9/3 NightStrike <nightstrike@...>: >> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >>> On Thu, Sep 3, 2009 at 11:22 PM, NightStrike<nightstrike@...> wrote: >>>> Taglib is currently used by VLC, and VLC requires Win64 support in >>>> Taglib to have a win64 supported VLC. 1.5 works for this, but 1.6 >>>> seems to break this compatibility. >>>> >>>> I tried to compile your release candidate for Win64 using >>>> http://mingw-w64.sf.net/ , and it died as follows: >>>> >>>> tstring.cpp:74:16: error: definition of static data member >>>> 'TagLib::String::null' of dllimport'd class >>> >>> How are you building TagLib? tstring.cpp should see only dllexported >>> TagLib::String, never dllimported. >> >> ./configure --target=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 >> --build=x86_64-linux-gnu --program-prefix= --without-pic >> --disable-shared --enable-msw --disable-dependency-tracking >> --prefix=/home/nightstrike/work/vlc/extras/contrib > > The autotools-based build system doesn't support compilation on > Windows (and neither it did in 1.5). This is possible to fix, but I > didn't know anybody would like to use that. All that is necessary is > to define MAKE_TAGLIB_LIB. > > -- > Lukas Lalinsky > lalinsky@... > diff -ru taglib-1.6rc1/configure.in taglib-1.6rc1.new/configure.in --- taglib-1.6rc1/configure.in 2009-09-03 21:19:26.000000000 +0200 +++ taglib-1.6rc1.new/configure.in 2009-09-04 00:00:06.000000000 +0200 @@ -37,7 +37,11 @@ unset CDPATH dnl Checking host/target/build systems, for make, install etc. -AC_CANONICAL_SYSTEM +AC_CANONICAL_HOST + +AS_CASE([$host_os], + [mingw*],[AC_DEFINE([MAKE_TAGLIB_LIB],[],[Enable support for windows])]) + dnl Perform program name transformation AC_ARG_PROGRAM diff -ru taglib-1.6rc1/taglib/toolkit/tbytevector.cpp taglib-1.6rc1.new/taglib/toolkit/tbytevector.cpp --- taglib-1.6rc1/taglib/toolkit/tbytevector.cpp 2008-12-04 13:37:36.000000000 +0100 +++ taglib-1.6rc1.new/taglib/toolkit/tbytevector.cpp 2009-09-04 00:05:37.000000000 +0200 @@ -22,7 +22,7 @@ * License Version 1.1. You may obtain a copy of the License at * * http://www.mozilla.org/MPL/ * ***************************************************************************/ - +#include <config.h> #include <iostream> #include <tstring.h> diff -ru taglib-1.6rc1/taglib/toolkit/tstring.cpp taglib-1.6rc1.new/taglib/toolkit/tstring.cpp --- taglib-1.6rc1/taglib/toolkit/tstring.cpp 2009-04-29 17:57:05.000000000 +0200 +++ taglib-1.6rc1.new/taglib/toolkit/tstring.cpp 2009-09-04 00:05:05.000000000 +0200 @@ -22,7 +22,7 @@ * License Version 1.1. You may obtain a copy of the License at * * http://www.mozilla.org/MPL/ * ***************************************************************************/ - +#include <config.h> #include "tstring.h" #include "unicode.h" #include "tdebug.h" _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/3 Lukáš Lalinský <lalinsky@...>:
> 2009/9/3 NightStrike <nightstrike@...>: >> Also, please see these two (very small) patches for consideration from 1.5: >> >> http://git.videolan.org/?p=vlc.git;a=blob;f=extras/contrib/src/Patches/taglib-static.patch;h=23bc5d99cd16c0e3c5fb6cdaaf95e0073ed369e0;hb=HEAD > > Definitely not, we are building dll by default. A patch to add support > for static library would be welcome, though. Well, I could add that in to your auto* system, although it'd probably be a good idea to update a lot of the old constructs with current autoconf. I can do both if you like. So basically, you don't support building a static library on windows at all? >> http://git.videolan.org/?p=vlc.git;a=blob;f=extras/contrib/src/Patches/taglib-cygwin.patch;h=c5efe71af393c01a2421828b2d9a26b5ee584e92;hb=HEAD > > Any reason why is this necessary? I will find out. _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/4 NightStrike <nightstrike@...>:
> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >> 2009/9/3 NightStrike <nightstrike@...>: >>> Also, please see these two (very small) patches for consideration from 1.5: >>> >>> http://git.videolan.org/?p=vlc.git;a=blob;f=extras/contrib/src/Patches/taglib-static.patch;h=23bc5d99cd16c0e3c5fb6cdaaf95e0073ed369e0;hb=HEAD >> >> Definitely not, we are building dll by default. A patch to add support >> for static library would be welcome, though. > > Well, I could add that in to your auto* system, although it'd probably > be a good idea to update a lot of the old constructs with current > autoconf. I can do both if you like. The autotools build system will go away right after the 1.6 release. I have no problem accepting a patch for it in 1.6, but combined with the KDE-specific configuration it's so bad that I don't think updating the autoconf script to newer constructs is worth the work. > So basically, you don't support building a static library on windows at all? Correct. -- Lukas Lalinsky lalinsky@... _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/3 Lukáš Lalinský <lalinsky@...>:
> 2009/9/4 NightStrike <nightstrike@...>: >> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >>> 2009/9/3 NightStrike <nightstrike@...>: >>>> Also, please see these two (very small) patches for consideration from 1.5: >>>> >>>> http://git.videolan.org/?p=vlc.git;a=blob;f=extras/contrib/src/Patches/taglib-static.patch;h=23bc5d99cd16c0e3c5fb6cdaaf95e0073ed369e0;hb=HEAD >>> >>> Definitely not, we are building dll by default. A patch to add support >>> for static library would be welcome, though. >> >> Well, I could add that in to your auto* system, although it'd probably >> be a good idea to update a lot of the old constructs with current >> autoconf. I can do both if you like. > > The autotools build system will go away right after the 1.6 release. I > have no problem accepting a patch for it in 1.6, but combined with the > KDE-specific configuration it's so bad that I don't think updating the > autoconf script to newer constructs is worth the work. What are you replacing your build system with? >> So basically, you don't support building a static library on windows at all? > > Correct. It looks like just adding --enable-static did the trick. I'm left with a few .a files, at least. _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/4 NightStrike <nightstrike@...>:
> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >> The autotools build system will go away right after the 1.6 release. I >> have no problem accepting a patch for it in 1.6, but combined with the >> KDE-specific configuration it's so bad that I don't think updating the >> autoconf script to newer constructs is worth the work. > > What are you replacing your build system with? There is already CMake build system in place, we currently maintain two and it complicates things. -- Lukas Lalinsky lalinsky@... _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/4 Lukáš Lalinský <lalinsky@...>:
> 2009/9/4 NightStrike <nightstrike@...>: >> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >>> The autotools build system will go away right after the 1.6 release. I >>> have no problem accepting a patch for it in 1.6, but combined with the >>> KDE-specific configuration it's so bad that I don't think updating the >>> autoconf script to newer constructs is worth the work. >> >> What are you replacing your build system with? > > There is already CMake build system in place, we currently maintain > two and it complicates things. Does that support cross compiling? And, did you see my other post with diff changes for config.h? _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/4 NightStrike <nightstrike@...>:
> 2009/9/4 Lukáš Lalinský <lalinsky@...>: >> 2009/9/4 NightStrike <nightstrike@...>: >>> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >>>> The autotools build system will go away right after the 1.6 release. I >>>> have no problem accepting a patch for it in 1.6, but combined with the >>>> KDE-specific configuration it's so bad that I don't think updating the >>>> autoconf script to newer constructs is worth the work. >>> >>> What are you replacing your build system with? >> >> There is already CMake build system in place, we currently maintain >> two and it complicates things. > > Does that support cross compiling? Yes. Although I've never tried it myself, so I can't help much. http://www.cmake.org/Wiki/CMake_Cross_Compiling http://www.cmake.org/Wiki/CmakeMingw > And, did you see my other post with diff changes for config.h? 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. -- Lukas Lalinsky lalinsky@... _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/4 Lukáš Lalinský <lalinsky@...>:
> 2009/9/4 NightStrike <nightstrike@...>: >> 2009/9/4 Lukáš Lalinský <lalinsky@...>: >>> 2009/9/4 NightStrike <nightstrike@...>: >>>> 2009/9/3 Lukáš Lalinský <lalinsky@...>: >>>>> The autotools build system will go away right after the 1.6 release. I >>>>> have no problem accepting a patch for it in 1.6, but combined with the >>>>> KDE-specific configuration it's so bad that I don't think updating the >>>>> autoconf script to newer constructs is worth the work. >>>> >>>> What are you replacing your build system with? >>> >>> There is already CMake build system in place, we currently maintain >>> two and it complicates things. >> >> Does that support cross compiling? > > Yes. Although I've never tried it myself, so I can't help much. > > http://www.cmake.org/Wiki/CMake_Cross_Compiling > http://www.cmake.org/Wiki/CmakeMingw 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). > >> And, did you see my other post with diff changes for config.h? > > 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? _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
|
|
Re: v1.6 RC1 on Win642009/9/9 NightStrike <nightstrike@...>:
> 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@... _______________________________________________ taglib-devel mailing list taglib-devel@... https://mail.kde.org/mailman/listinfo/taglib-devel |
| Free embeddable forum powered by Nabble | Forum Help |