compiler for KDE on Windows
Ralf Habacker
ralf.habacker at freenet.de
Thu May 7 11:35:32 CEST 2009
Christian Ehrlicher schrieb:
>> Von: Ralf Habacker
>> Ralf Habacker schrieb:
>>
>>> Christian Ehrlicher schrieb:
>>>
>>>
>>>>> Von: Bernhard Reiter
>>>>> On Tuesday 05 May 2009, Christian Ehrlicher wrote:
>>>>>
>>>>>
>>>>>
>>>>>> I'm thinking about dropping msvc2005 for kde4.4. Don't know what to
>>>>>>
>> do
>>
>>>>>> about mingw though...
>>>>>>
>>>>>>
>>>>>>
>>>>> I have an interest of keeping mingw.
>>>>>
>>>>> The reason is that it can be controlled better as
>>>>> it is Free Software and that it enables cross-compilation.
>>>>> Cross compilation is important as it makes it easier to automate
>>>>> a test and build process, including the necessary steps to compile the
>>>>> matching source code for each distributable binary.
>>>>>
>>>>>
>>>>>
>>>>>
>>>> The problem with mingw (3.4.x and 4.x) is that they don't support the
>>>>
>> crappy manifest things and we need to build something around this. Maybe
>> with a custom PRE_BUILD command or something. But someone has to figure it
>> out...
>>
>>>> So we need a small tool which
>>>> - reads the current manifest resource (so we could also use it for
>>>>
>> msvc2005 which already adds a small manifest but which is not enough)
>>
>>>> - modifies it to accomplish with Vista and up
>>>> - writes it back to the executable/library
>>>> I tested this already (manually) and vista accepted my modified
>>>>
>> manifest and executed update_mime_database without asking the user :)
>>
>>>> If someone knows how to read resources from executables (and maybe has
>>>>
>> a working example) let me know...
>>
>>>>
>>>>
>>>>
>>> http://www.codeproject.com/KB/cpp/dynares.aspx may help.
>>>
>>>
>> In the kdewin32 package there is an initial version of a manifest
>> extractor/update tool like msvc's mt see kdesupport/kdewin32/tools/mt.
>>
>> Another approach is by using windres from the mingw tool chain. It is
>> possible out of the box to compile a rc file containing a manifest
>> definition into a res file which could be linked into a target. See the
>> following example:
>>
>>
> I don't like this idea because it's hard to add this for msvc2005 when a manifest already exists and we only have to modify it.
>
In this case you can use the msvc2005 provided mt tool
In the manifest area there are two kinds of tools
1. adding freshly created manifest file to a resource file
msvc - rc + link
mingw - windres + ld
2. manipulation manifest files in text or resource files (executables
and dll's are resource files)
msvc - mt tool
mingw - newly introduced mingw mt tool
>> @Christian: Which informations are exactly required in the manifest -
>> are the trustInfo/security stuff enough ? It is only required to provide
>> executables with a manifest resource or is it also required to add a
>> manifest to dll's ?
>>
>>
> I'll take a look into your tool this evening (hopefully) and add the appropriate functions/strings.
>
Please note that this tool is c++ and stl only to be able to incorporate
it later in the binutils package.
If you have troubles let me know :-)
Ralf
More information about the Kde-windows
mailing list