[Xcb] xcb-util - image library n win32

Jeetu Golani jeetu.golani at gmail.com
Thu May 14 03:54:17 PDT 2009


Hi everyone,

Finally managed to build xcb-util for win32. Was pretty straight forward
once I setup xcb, proto, pthread, the required headers all in the correct
places and made changes to the configure.ac and each individual libraries
Makefile.am. Pretty simple but if someone thinks it will be useful will
update the win32port page on the xcb site to show how to do this.

Bye for now

On Thu, May 7, 2009 at 1:35 PM, Jeetu Golani <jeetu.golani at gmail.com> wrote:

>
> Hi Vincent,
>
> Thanks so much for replying back.
>
> > Why do you want a .so file ? the equivalent file type of a linux .so
> shared library is a .dll file
>
> Yes I realized that....unfortunately I still have the problems reported in
> my earlier mail (mail after the one referred by you here). The chief problem
> now seems to be that if I add -no-undefined to LDFLAGS for say atom...or
> property....I get undefined references to functions within my xcb dll for
> e.g. xcb_get_atom_name.
>
> Any thoughts would be appreciated :)
>
> Bye for now
>
>
> On Wed, May 6, 2009 at 7:19 PM, Vincent Torri <vtorri at univ-evry.fr> wrote:
>
>>
>>
>> On Mon, 4 May 2009, Jeetu Golani wrote:
>>
>>  Hi guys,
>>>
>>> Thanks for replying back.
>>>
>>> I've made changes as suggested by Vincent. It's all quite a quickly put
>>> together hack for now but I get the warnings on static libraries as can
>>> be
>>> seen in the attached without-noundefined text file. I don't have any
>>> shared
>>> library .so files for the win32 xcb port I've generated, just the dll and
>>> the .a,.la files......neither do the xcb-util libraries generate .so
>>> files....do I need to add -shared somewhere so these are built first?
>>>
>>
>> Why do you want a .so file ? the equivalent file type of a linux .so
>> shared library is a .dll file
>>
>> If you have it, then it's good. When you install the library, you should
>> have:
>>
>> 1) a .dll file in $prefix/bin
>> 2) a .dll.a and a .a files in $prefix/lib
>>
>> Vincent
>>
>>
>>> The above is done without adding the -no-undefined directive. The
>>> with-undefined file which I'm attaching shows what happens if I add
>>> -no-undefined to libxcb_atom_la_LDFLAGS as an example here
>>> atom/Makefile.am.
>>> I get a bunch of  undefined references here. The same happens with image
>>> or
>>> any of the other libraries.
>>>
>>> Any clues?
>>>
>>> Thanks....n I don't know whether this list prefers file attachments or I
>>> should have pasted the text instead but if its the latter my bad..sorry
>>> :)
>>>
>>> Bye for now
>>>
>>>
>>>
>>> On Sun, May 3, 2009 at 1:57 PM, Vincent Torri <vtorri at univ-evry.fr>
>>> wrote:
>>>
>>>
>>>>
>>>> On Sun, 3 May 2009, Jeetu Golani wrote:
>>>>
>>>>
>>>>  Hi,
>>>>>
>>>>>  When you build and install libxcb, it will create xcb.pc. Points
>>>>>
>>>>>> PKG_CONFIG_PATH there. For example I built libxcb with prefix
>>>>>> $HOME/w/x11 so it would configure xcb-util like this:
>>>>>>
>>>>>>
>>>>> I got past this step. I setup the XCB_CFLAGS and XCB_LIBS environment
>>>>> variables instead so that works.  I also had to setup environment
>>>>> variables
>>>>> for SHM and Render. Although I've set things up so as to link against
>>>>> my
>>>>> pthreadGC2 dll there is still one place (at least) which is still
>>>>> causing
>>>>> it
>>>>> to link against -lpthread which fails for me....tried making changes
>>>>> within
>>>>> Makefile.am but didn't work so as a quick hack setup a symlink between
>>>>> libpthread.a and my pthreadGC2.dll so I got through this step.
>>>>>
>>>>> In order to get a DLL I tried doing what I did for XCB i.e. in
>>>>> configure.ac I
>>>>> put in an AC_LIBTOOL_WIN32_DLL before AC_PROG_LIBTOOL. Also in
>>>>> Makefile.am
>>>>> I
>>>>> put in a libxcb_image_LDFLAGS=-no-undefined. (reciting by memory so
>>>>> hope I
>>>>> haven't made a mistake writing this but I think this seems what I did)
>>>>>
>>>>> Everything goes through now but under image/.libs all i can see is a
>>>>> libxcb-image.a and a .la file....no dll...so I'm guessing something
>>>>> more
>>>>> needs to be done....any ideas?
>>>>>
>>>>>
>>>> to make libtool aware of building a dll:
>>>>
>>>> 1) put AC_LIBTOOL_WIN32_DLL before AC_PROG_LIBTOOL (you already did
>>>> that)
>>>> 2) add -no-undefined in the *_LDFLAGS cariable in the Makefile.am file
>>>> 3) have all the dependency dll needed to build the lib.
>>>>
>>>> don't forget to run 'make clean' to force the link again before running
>>>> make.
>>>>
>>>> check if during the link, there is no warning message that tells you
>>>> that
>>>> libtool can create only the static lib (for some reason). If yes, then
>>>> the
>>>> dll is not built. Then, paste the message.
>>>>
>>>> Vincent
>>>>
>>>>
>>> --
>>> Ce message a été vérifié par MailScanner
>>> pour des virus ou des polluriels et rien de
>>> suspect n'a été trouvé.
>>> Message délivré par le serveur de messagerie de l'Université d'Evry.
>>>
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freedesktop.org/archives/xcb/attachments/20090514/c2005638/attachment.htm 


More information about the Xcb mailing list