[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