[PATCH xserver 2/2] xfree86: add support for Cygwin

Yaakov (Cygwin/X) yselkowitz at users.sourceforge.net
Wed Mar 28 21:05:51 PDT 2012


On 2012-03-28 22:19, Alan Coopersmith wrote:
> On 03/27/12 10:16 PM, Yaakov (Cygwin/X) wrote:
>> As a PE platform, all symbols in both EXEs and DLLs must be resolved
>> at link time.  As Xorg modules depend on symbols in the Xorg
>> executable, we must build Xorg before its modules, creating an implib
>> from the former which is used to link the latter.  This implib must
>> then be installed in order to build the drivers.
>
> I do something similar when building X11 for Solaris packaging, in order
> to catch ABI issues such as missing symbols at build time instead of run
> time, and this patch will make it easier for me to do that with all the
> modules, while now it mostly just checks drivers due to build ordering.
>
>> +
>> +i2c/libi2c.la:
>> +	$(MAKE) -C $(@D) $(@F)
>> +
>> +dixmods/libdixmods.la:
>> +	$(MAKE) -C $(@D) $(@F)
>> +
>> +dixmods/libxorgxkb.la:
>> +	$(MAKE) -C $(@D) $(@F)
>
> Should those be $(MAKE) $(AM_MAKEFLAGS) ... ?  That's what most automake calls
> seem to use.
> Also -C is a gnu make specific flag, but I think we still require GNU make
> to build the server due to other issues anyway.

$(MAKE) -C is already used in the top-level Makefile, hw/Makefile, and 
hw/kdrive/Makefile.  But now that you mention it, I see that I forgot 
the $(AM_V_at).

> BTW, in my patch in the Solaris tree, I have:
> +libfb_la_LIBADD += -lpixman-1

That's not necessary with recent libtools; the DIX fb/libfb.la is 
already linked with $(PIXMAN_LIBS).

>> +if CYGWIN
>> +libshadow_la_LIBADD += libfb.la
>> +endif
>
> I currently patch that in on Solaris too, so would appreciate finding a more
> common name than if CYGWIN for this.

How about NO_UNDEFINED?

> The current work in progress from our branch to get 1.12 ready to merge in:
> http://src.opensolaris.org/source/xref/fox/Xorg-1.12-merge/open-src/xserver/xorg/dixmods-deps.patch

Thanks, I'll incorporate what I can from there.

>> -prefix, or the \(lq.a\(rq, \(lq.o\(rq, or \(lq.so\(rq suffixes.
>> +or \(lqcyg\(rq prefixes, or the \(lq.a\(rq, \(lq.o\(rq, \(lq.dll\(rq,
>> +or \(lq.so\(rq suffixes.
>
> We can probably remove .o&  .a from that list now that the old elfloader is gone.

OK, I'll get that when I respin these patches.


Yaakov


More information about the xorg-devel mailing list