1DOLLY 72TOOLCHAIN x11-build3REQUIRES HOST runtime@04REQUIRES HOST display@05REQUIRES HOST input@06REQUIRES HOST http@07REQUIRES HOST dso@08REQUIRES HOST sockets@09REQUIRES HOST threads@01011# The X Window System's client libraries from X.Org's release archives,12# unchanged: the protocol headers, xtrans, libXau and libxcb (whose protocol13# code xcb-proto's Python generator writes), libX11 and the libraries of the14# Athena toolkit's stack. Static libraries in /usr/lib, as the packages and15# programs of this demo link them. Python serves xcb's generator.16FROM /v0.1.5/demos/tools/Dollyfile-tools-build 9f9cfa93f7bc4ddd5fc5cbd9ced4d2100cd41349f9f2b6f75ab9d8e26a57da6217INSTALL /v0.1.5/demos/python/Dollyfile-python 5909c3743aee62ae30b4bc1bfc3b0b221ac5458e2ed4dfb4b6767d8b072fc9ea18# sockets@0's client, which every X program here links (pkg-config names it).19INSTALL /v0.1.5/Dollyfile-libdolly-sockets e629f66340342d53b4f5251cf02fd275198ce71ef11e884675003ad2a8f25fc12021REQUIRES HEADER libc22REQUIRES TOOL ar23REQUIRES TOOL cc24REQUIRES TOOL cp25REQUIRES TOOL gzip26REQUIRES TOOL make27REQUIRES TOOL mkdir28REQUIRES TOOL python329REQUIRES TOOL sed30REQUIRES TOOL tar3132SOURCE /v0.1.5/dist/static/x11/xorgproto-2026.1.tar.gz 7fa90e48cbaca6bc4c99d176e88c5c147ab0ed42358e14a0869ee9c8a610ae7e /tmp/x11/xorgproto.tar.gz33SOURCE /v0.1.5/dist/static/x11/xtrans-1.6.0.tar.gz 936b74c60b19c317c3f3cb1b114575032528dbdaf428740483200ea874c2ca0a /tmp/x11/xtrans.tar.gz34SOURCE /v0.1.5/dist/static/x11/xcb-proto-1.17.0.tar.gz 392d3c9690f8c8202a68fdb89c16fd55159ab8d65000a6da213f4a1576e97a16 /tmp/x11/xcb-proto.tar.gz35SOURCE /v0.1.5/dist/static/x11/libXau-1.0.12.tar.gz 2402dd938da4d0a332349ab3d3586606175e19cb32cb9fe013c19f1dc922dcee /tmp/x11/libXau.tar.gz36SOURCE /v0.1.5/dist/static/x11/libxcb-1.17.0.tar.gz 2c69287424c9e2128cb47ffe92171e10417041ec2963bceafb65cb3fcf8f0b85 /tmp/x11/libxcb.tar.gz37SOURCE /v0.1.5/dist/static/x11/libX11-1.8.13.tar.gz acf0e7cd7541110e6330ecb539441a2d53061f386ec7be6906dfde0de2598470 /tmp/x11/libX11.tar.gz38SOURCE /v0.1.5/dist/static/x11/libXext-1.3.7.tar.gz 6564608dc3b816b0cfddf0c7ddc62bc579055dd70b2f28113a618df2acb64189 /tmp/x11/libXext.tar.gz39SOURCE /v0.1.5/dist/static/x11/libXrender-0.9.12.tar.gz 0fff64125819c02d1102b6236f3d7d861a07b5216d8eea336c3811d31494ecf7 /tmp/x11/libXrender.tar.gz40SOURCE /v0.1.5/dist/static/x11/libXfixes-6.0.2.tar.gz 041331b8e6e36038b3bf836785b6b175ec8515f964c9e4e3316b3bfed0f53ac7 /tmp/x11/libXfixes.tar.gz41SOURCE /v0.1.5/dist/static/x11/libXi-1.8.3.tar.gz 6648c44127e4585f4e7842c0802d265008fa6f9741df0ea6ee7934a5267adf63 /tmp/x11/libXi.tar.gz42SOURCE /v0.1.5/dist/static/x11/libICE-1.1.2.tar.gz 1da62f732f8679c20045708a29372b82dff9e7eceee543ed488b845002b3b0ff /tmp/x11/libICE.tar.gz43SOURCE /v0.1.5/dist/static/x11/libSM-1.2.6.tar.gz 166b4b50d606cdd83f1ddc61b5b9162600034f848b3e32ccbb0e63536b7d6cdd /tmp/x11/libSM.tar.gz44SOURCE /v0.1.5/dist/static/x11/libXt-1.3.1.tar.gz cf2212189869adb94ffd58c7d9a545a369b83d2274930bfbe148da354030b355 /tmp/x11/libXt.tar.gz45SOURCE /v0.1.5/dist/static/x11/libXmu-1.3.1.tar.gz 5c8f44e26ccc9b14188599524e67ce788a205b38e297834babdeb12090be835b /tmp/x11/libXmu.tar.gz46SOURCE /v0.1.5/dist/static/x11/libXpm-3.5.19.tar.gz f241f705c607fba1a53338f7e1c12005d6da326b5cb55a11a10847781b4578c0 /tmp/x11/libXpm.tar.gz47SOURCE /v0.1.5/dist/static/x11/libXaw-1.0.16.tar.gz 012f90adf8739f2f023d63a5fee1528949cf2aba92ef7ac1abcfc2ae9cf28798 /tmp/x11/libXaw.tar.gz48SLOP CWD /tmp/x11 for archive in *.tar.gz; do gzip -dc "$archive" | tar -xf -; done4950FILE /tmp/x11/libs.mk51    .RECIPEPREFIX := >52    .DELETE_ON_ERROR:53    .SECONDARY:54    MAKEFLAGS += -r55    S := /tmp/x1156    B := /tmp/x11/build57    I := /usr/include/X1158    59    # Slop does not run the configure scripts, so these say what they would60    # find here: libc's pthread functions, which serve Xlib's locks without61    # threads, as XTHREADS. Not claimed: TCP (sockets@0 is local, and xtrans's62    # TCP code needs gethostbyaddr, which libc lacks), shared memory,63    # descriptor passing (xcb sends none) and loadable modules.64    # malloc(0) is taken to return NULL, configure's answer when it cannot run65    # a test program.66    HAVE := -D_GNU_SOURCE -DHAVE_UNISTD_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H \67      -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_STDLIB_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_IOCTL_H \68      -DHAVE_SYS_PARAM_H -DHAVE_SYS_SELECT_H -DHAVE_WCHAR_H -DHAVE_WCTYPE_H -DHAVE_POLL_H \69      -DHAVE_REALLOCARRAY -DHAVE_STRLCPY -DHAVE_STRLCAT -DHAVE_STRCASECMP -DHAVE_STRTOL \70      -DHAVE_ASPRINTF -DHAVE_GETPAGESIZE -DHAVE_ISWALNUM -DHAVE_SOCKLEN_T -DHAVE_UNAME \71      -DHAVE_STRUCT_SOCKADDR_STORAGE -DHAVE_GETADDRINFO -DHAVE_INET_NTOP -DHAVE_GETENTROPY \72      -DHAVE_EXPLICIT_BZERO -DHAVE_PATHCONF -DUSE_POLL -DMALLOC_0_RETURNS_NULL \73      -DUNIXCONN -D_CONST_X_STRING -DXTHREADS -DXUSE_MTSAFE_API74    CC := cc -O2 $(HAVE)75    76    all: $(addprefix /usr/lib/lib,$(addsuffix .a,Xau xcb X11 X11-xcb \77      Xext Xrender Xfixes Xi ICE SM Xt Xmu Xmuu Xpm Xaw7)) /usr/lib/libXaw.a \78      $(addprefix /usr/lib/pkgconfig/,$(addsuffix .pc,xau xcb x11 x11-xcb xext xrender xfixes \79      xi ice sm xt xmu xmuu xpm xaw7))80    81    # Each library's objects, built from its sources with its own flags.82    # $(call objects,LIB,SOURCES) names them; the pattern rules compile them.83    objects = $(patsubst $(S)/%.c,$(B)/$(1)/%.o,$(2))84    85    # Protocol headers and their pkg-config files, as xorgproto installs them;86    # Xpoll.h names musl's fd_set member.87    $(B)/xorgproto:88    >mkdir -p $(B) /usr/share/pkgconfig89    >cp -r $(S)/xorgproto-2026.1/include/X11 $(S)/xorgproto-2026.1/include/GL /usr/include/90    >sed 's/@USE_FDS_BITS@/fds_bits/' $(S)/xorgproto-2026.1/include/X11/Xpoll.h.in > $(I)/Xpoll.h91    >for pc in $(S)/xorgproto-2026.1/*.pc.in; do \92       sed -e 's,@prefix@,/usr,' -e 's,@includedir@,/usr/include,' -e 's,@datarootdir@,/usr/share,' \93         -e 's,@datadir@,/usr/share,' -e 's,@exec_prefix@,/usr,' -e 's,@libdir@,/usr/lib,' \94         $$pc > /usr/share/pkgconfig/$$(basename $$pc .in); done95    >touch $@96    97    # xtrans's configure finds fchown, and no sticky bit: Dolly has no modes.98    $(B)/xtrans: $(B)/xorgproto99    >mkdir -p $(I)/Xtrans100    >cp $(S)/xtrans-1.6.0/*.c $(S)/xtrans-1.6.0/*.h $(I)/Xtrans/101    >sed -e 's,@prefix@,/usr,' -e 's,@includedir@,/usr/include,' -e 's,@PACKAGE_VERSION@,1.6.0,' \102       -e 's,@datarootdir@,/usr/share,' -e 's,@datadir@,/usr/share,' -e 's,@fchown_define@,-DHAS_FCHOWN,' \103       -e 's,@sticky_bit_define@,,' $(S)/xtrans-1.6.0/xtrans.pc.in > /usr/share/pkgconfig/xtrans.pc104    >touch $@105    106    # xcbgen, the Python module, and the protocol descriptions it reads.107    XCBPY := /usr/lib/python3.14/site-packages108    $(B)/xcbproto: $(B)/xorgproto109    >mkdir -p /usr/share/xcb $(XCBPY)/xcbgen110    >cp $(S)/xcb-proto-1.17.0/src/*.xml /usr/share/xcb/111    >cp $(S)/xcb-proto-1.17.0/xcbgen/*.py $(XCBPY)/xcbgen/112    >touch $@113    114    # libXau.115    XAU := $(addprefix $(S)/libXau-1.0.12/,AuDispose.c AuFileName.c AuGetAddr.c AuGetBest.c \116      AuLock.c AuRead.c AuUnlock.c AuWrite.c)117    $(B)/Xau/%.o: $(S)/%.c $(B)/xorgproto118    >mkdir -p $(@D)119    >$(CC) -I$(S)/libXau-1.0.12/include -c $< -o $@120    /usr/lib/libXau.a: $(call objects,Xau,$(XAU))121    >cp $(S)/libXau-1.0.12/include/X11/Xauth.h $(I)/122    >ar rcs $@ $^123    124    # libxcb: the connection code and the core protocol, which c_client.py125    # writes from xproto.xml with the two extensions every client needs.126    XCB := $(S)/libxcb-1.17.0/src127    XCBGEN := $(B)/xcbgen128    /usr/share/xcb/%.xml: $(B)/xcbproto ;129    $(XCBGEN)/%.c: /usr/share/xcb/%.xml130    >mkdir -p $(@D)131    >cd $(@D) && python3 $(XCB)/c_client.py -c 'libxcb 1.17.0' -l 'X Version 11' -s 3 \132       -p $(XCBPY) $<133    XCB_GENERATED := xproto bigreq xc_misc134    $(B)/xcb/%.o: $(S)/%.c /usr/lib/libXau.a $(addprefix $(XCBGEN)/,$(addsuffix .c,$(XCB_GENERATED)))135    >mkdir -p $(@D)136    >$(CC) -DXCB_QUEUE_BUFFER_SIZE=16384 -I$(XCB) -I$(XCBGEN) -c $< -o $@137    $(B)/xcb/gen/%.o: $(XCBGEN)/%.c $(addprefix $(XCBGEN)/,$(addsuffix .c,$(XCB_GENERATED)))138    >mkdir -p $(@D)139    >$(CC) -I$(XCB) -I$(XCBGEN) -c $< -o $@140    /usr/lib/libxcb.a: $(call objects,xcb,$(addprefix $(XCB)/xcb_,$(addsuffix .c,auth conn ext in list out util xid))) \141      $(addprefix $(B)/xcb/gen/,$(addsuffix .o,$(XCB_GENERATED)))142    >mkdir -p /usr/include/xcb143    >cp $(XCB)/xcb.h $(XCB)/xcbext.h $(addprefix $(XCBGEN)/,$(addsuffix .h,$(XCB_GENERATED))) /usr/include/xcb/144    >ar rcs $@ $^145    146    # libX11 with its locale, input and output method modules linked in, as147    # configure builds it by default, and libX11-xcb. ks_tables.h is written148    # by makekeys, a program of the build, from the keysym headers.149    X11 := $(S)/libX11-1.8.13150    X11_CORE := $(filter-out %/reallocarray.c %/x11_xcb.c,$(wildcard $(X11)/src/*.c))151    X11_XIM := $(wildcard $(X11)/modules/im/ximcp/*.c)152    X11_SOURCES := $(X11_CORE) $(X11_XIM) $(wildcard $(X11)/src/xcms/*.c $(X11)/src/xkb/*.c) \153      $(filter-out %/XlcDL.c %/XlcSL.c,$(wildcard $(X11)/src/xlibi18n/*.c)) \154      $(wildcard $(X11)/modules/lc/*/*.c $(X11)/modules/om/generic/*.c)155    $(call objects,X11,$(X11_CORE) $(X11)/src/x11_xcb.c): TRANSPORT := -DX11_t -DTRANS_CLIENT156    $(call objects,X11,$(X11_XIM)): TRANSPORT := -DXIM_t -DTRANS_CLIENT157    X11_FLAGS := -I$(X11)/include -I$(X11)/include/X11 -I$(X11)/src -I$(X11)/src/xcms \158      -I$(X11)/src/xkb -I$(X11)/src/xlibi18n -I$(B)/X11 -D_BSD_SOURCE -DUSE_THREAD_SAFETY_CONSTRUCTOR \159      -DXCMS -DXLOCALE -DXKB -DXF86BIGFONT -DCOMPOSECACHE \160      -DX11_DATADIR='"/usr/share/X11"' -DXLOCALEDIR='"/usr/share/X11/locale"' \161      -DXLOCALELIBDIR='"/usr/lib/X11/locale"' -DXLOCALEDATADIR='"/usr/share/X11/locale"' \162      -DXERRORDB='"/usr/share/X11/XErrorDB"' -DXKEYSYMDB='"/usr/share/X11/XKeysymDB"' \163      -DXCMSDIR='"/usr/share/X11"' -DX11_LIBDIR='"/usr/lib/X11"'164    $(B)/X11/ks_tables.h: $(X11)/src/util/makekeys.c $(B)/xorgproto165    >mkdir -p $(@D)166    >sed -e 's/#undef XTHREADS/#define XTHREADS 1/' -e 's/#undef XUSE_MTSAFE_API/#define XUSE_MTSAFE_API 1/' \167       $(X11)/include/X11/XlibConf.h.in > $(X11)/include/X11/XlibConf.h168    >cc -O1 -I$(X11)/include $< -o $(B)/X11/makekeys169    >$(B)/X11/makekeys $(addprefix $(I)/,keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h) > $@170    $(B)/X11/%.o: $(S)/%.c $(B)/X11/ks_tables.h /usr/lib/libxcb.a171    >mkdir -p $(@D)172    >$(CC) $(X11_FLAGS) $(TRANSPORT) -c $< -o $@173    /usr/lib/libX11.a: $(call objects,X11,$(X11_SOURCES))174    >mkdir -p $(I)/extensions /usr/share/X11175    >cp $(addprefix $(X11)/include/X11/,ImUtil.h XKBlib.h Xcms.h Xlib-xcb.h Xlib.h Xlibint.h \176       Xlocale.h Xregion.h Xresource.h Xutil.h cursorfont.h) $(I)/177    >cp $(X11)/include/X11/XlibConf.h $(I)/178    >cp $(X11)/include/X11/extensions/XKBgeom.h $(I)/extensions/179    >cp $(X11)/src/XErrorDB /usr/share/X11/180    >ar rcs $@ $^181    /usr/lib/libX11-xcb.a: $(call objects,X11,$(X11)/src/x11_xcb.c)182    >ar rcs $@ $^183    184    # The extension libraries: each compiles its src directory but for the files185    # upstream's Makefile.am leaves out.186    EXT_FLAGS = -I$(S)/$(1)/include -I$(S)/$(1)/include/X11/extensions187    define extension188    $(B)/$(1)/%.o: $(S)/%.c /usr/lib/libX11.a $(2)189    >mkdir -p $$(@D)190    >$$(CC) $$(call EXT_FLAGS,$(1)) $(3) -c $$< -o $$@191    /usr/lib/$(word 1,$(subst -, ,$(1))).a: $$(call objects,$(1),$$(filter-out %/reallocarray.c %/XFreeLst.c,$$(wildcard $(S)/$(1)/src/*.c)))192    >mkdir -p $(I)/extensions193    >cp $(S)/$(1)/include/X11/extensions/*.h $(I)/extensions/194    >ar rcs $$@ $$^195    endef196    $(eval $(call extension,libXext-1.3.7))197    $(eval $(call extension,libXrender-0.9.12,/usr/lib/libXext.a))198    $(eval $(call extension,libXfixes-6.0.2,/usr/lib/libXext.a))199    $(eval $(call extension,libXi-1.8.3,/usr/lib/libXfixes.a))200    201    # The inter-client exchange and session management libraries over xtrans.202    $(B)/libICE-1.1.2/%.o: $(S)/%.c $(B)/xtrans $(B)/xorgproto203    >mkdir -p $(@D)204    >$(CC) -I$(S)/libICE-1.1.2/include -DICE_t -DTRANS_CLIENT -DTRANS_SERVER -c $< -o $@205    /usr/lib/libICE.a: $(call objects,libICE-1.1.2,$(wildcard $(S)/libICE-1.1.2/src/*.c))206    >mkdir -p $(I)/ICE207    >cp $(S)/libICE-1.1.2/include/X11/ICE/*.h $(I)/ICE/208    >ar rcs $@ $^209    $(B)/libSM-1.2.6/%.o: $(S)/%.c /usr/lib/libICE.a210    >mkdir -p $(@D)211    >$(CC) -I$(S)/libSM-1.2.6/include -c $< -o $@212    /usr/lib/libSM.a: $(call objects,libSM-1.2.6,$(filter-out %/sm_auth.c,$(wildcard $(S)/libSM-1.2.6/src/*.c)))213    >mkdir -p $(I)/SM214    >cp $(S)/libSM-1.2.6/include/X11/SM/*.h $(I)/SM/215    >ar rcs $@ $^216    217    # The X Toolkit Intrinsics. makestrs writes the string tables, StringDefs.h218    # and Shell.h from string.list.219    XT := $(S)/libXt-1.3.1220    XT_SEARCH := /usr/share/X11/%L/%T/%N%C%S:/usr/share/X11/%l/%T/%N%C%S:/usr/share/X11/%T/%N%C%S:/usr/share/X11/%L/%T/%N%S:/usr/share/X11/%l/%T/%N%S:/usr/share/X11/%T/%N%S221    $(B)/Xt/StringDefs.c: $(XT)/util/makestrs.c222    >mkdir -p $(@D)223    >cc -O1 $< -o $(B)/Xt/makestrs224    >cd $(@D) && ./makestrs -i $(XT) < $(XT)/util/string.list > StringDefs.c225    >cp $(@D)/StringDefs.h $(@D)/Shell.h $(XT)/include/X11/226    $(B)/Xt/%.o: $(S)/%.c $(B)/Xt/StringDefs.c /usr/lib/libSM.a /usr/lib/libX11.a227    >mkdir -p $(@D)228    >$(CC) -I$(XT)/include -I$(XT)/include/X11 -DXKB -DLIBXT_COMPILATION \229       -DXFILESEARCHPATHDEFAULT='"$(XT_SEARCH)"' -DERRORDB='"/usr/share/X11/XtErrorDB"' -c $< -o $@230    $(B)/Xt/gen/StringDefs.o: $(B)/Xt/StringDefs.c231    >mkdir -p $(@D)232    >$(CC) -I$(XT)/include -I$(XT)/include/X11 -c $< -o $@233    /usr/lib/libXt.a: $(call objects,Xt,$(wildcard $(XT)/src/*.c)) $(B)/Xt/gen/StringDefs.o234    >cp $(XT)/include/X11/*.h $(I)/235    >ar rcs $@ $^236    237    # Miscellaneous utilities, and Xmuu, the five of them that need no Xt.238    XMU := $(S)/libXmu-1.3.1239    $(B)/Xmu/%.o: $(S)/%.c /usr/lib/libXt.a /usr/lib/libXext.a240    >mkdir -p $(@D)241    >$(CC) -I$(XMU)/include -I$(XMU)/include/X11/Xmu -DBITMAPDIR='"/usr/include/X11/bitmaps"' -c $< -o $@242    /usr/lib/libXmu.a: $(call objects,Xmu,$(filter-out %/reallocarray.c,$(wildcard $(XMU)/src/*.c)))243    >mkdir -p $(I)/Xmu244    >cp $(XMU)/include/X11/Xmu/*.h $(I)/Xmu/245    >ar rcs $@ $^246    /usr/lib/libXmuu.a: $(call objects,Xmu,$(addprefix $(XMU)/src/,ClientWin.c CursorName.c DefErrMsg.c GetHost.c Lower.c))247    >ar rcs $@ $^248    249    # The pixmap library; compressed files are not read through a pipe.250    $(B)/Xpm/%.o: $(S)/%.c /usr/lib/libX11.a251    >mkdir -p $(@D)252    >$(CC) -I$(S)/libXpm-3.5.19/include/X11 -DNO_ZPIPE -c $< -o $@253    /usr/lib/libXpm.a: $(call objects,Xpm,$(wildcard $(S)/libXpm-3.5.19/src/*.c))254    >cp $(S)/libXpm-3.5.19/include/X11/xpm.h $(I)/255    >ar rcs $@ $^256    257    # The Athena widgets, version 7.258    XAW := $(S)/libXaw-1.0.16259    $(B)/Xaw/%.o: $(S)/%.c /usr/lib/libXmu.a /usr/lib/libXpm.a260    >mkdir -p $(@D)261    >$(CC) -I$(XAW)/include -DXAW7 -DPROJECT_ROOT='"/usr"' -c $< -o $@262    /usr/lib/libXaw7.a: $(call objects,Xaw,$(wildcard $(XAW)/src/*.c))263    >mkdir -p $(I)/Xaw264    >cp $(XAW)/include/X11/Xaw/*.h $(I)/Xaw/265    >ar rcs $@ $^266    /usr/lib/libXaw.a: /usr/lib/libXaw7.a267    >cp $< $@268    269    # pkg-config files as the configure scripts write them, with what a static270    # link needs: xcb and ICE take their sockets from sockets@0's client.271    # $(call pc,NAME,LIBRARY,VERSION,REQUIRES,LIBS)272    define pc273    /usr/lib/pkgconfig/$(1).pc: /usr/lib/lib$(2).a274    >mkdir -p $$(@D)275    >printf '%s\n' 'prefix=/usr' 'Name: $(1)' 'Description: $(1)' 'Version: $(3)' 'Requires: $(4)' \276       'Libs: -L/usr/lib -l$(2) $(5)' 'Cflags: -I/usr/include' > $$@277    endef278    $(eval $(call pc,xau,Xau,1.0.12,xproto))279    $(eval $(call pc,xcb,xcb,1.17.0,xau,-ldolly-sockets))280    $(eval $(call pc,x11,X11,1.8.13,xproto kbproto xcb))281    $(eval $(call pc,x11-xcb,X11-xcb,1.8.13,x11 xcb))282    $(eval $(call pc,xext,Xext,1.3.7,x11 xextproto))283    $(eval $(call pc,xrender,Xrender,0.9.12,x11 renderproto))284    $(eval $(call pc,xfixes,Xfixes,6.0.2,x11 fixesproto))285    $(eval $(call pc,xi,Xi,1.8.3,xext xfixes inputproto))286    $(eval $(call pc,ice,ICE,1.1.2,xproto,-ldolly-sockets))287    $(eval $(call pc,sm,SM,1.2.6,ice))288    $(eval $(call pc,xt,Xt,1.3.1,sm x11))289    $(eval $(call pc,xmu,Xmu,1.3.1,xt xext x11))290    $(eval $(call pc,xmuu,Xmuu,1.3.1,x11))291    $(eval $(call pc,xpm,Xpm,3.5.19,x11))292    $(eval $(call pc,xaw7,Xaw7,1.0.16,xmu xt xpm xext x11))293# One Make for every library would spend many minutes choosing its first294# jobs from scratch: the libraries go in four groups, each on the last.295SLOP make -j4 -f /tmp/x11/libs.mk /tmp/x11/build/xorgproto /tmp/x11/build/xtrans /tmp/x11/build/xcbproto296SLOP make -j4 -f /tmp/x11/libs.mk /usr/lib/libXau.a /usr/lib/libxcb.a297SLOP make -j4 -f /tmp/x11/libs.mk /usr/lib/libX11.a /usr/lib/libX11-xcb.a298SLOP make -j4 -f /tmp/x11/libs.mk299SLOP CWD /tmp/x11 for source in */COPYING; do mkdir -p /usr/share/licenses/${source%%-[0-9]*} && cp $source /usr/share/licenses/${source%%-[0-9]*}/; done300SLOP mkdir -p /usr/share/licenses/xorgproto && cp /tmp/x11/xorgproto-2026.1/COPYING-* /usr/share/licenses/xorgproto/301302EXPORTS HEADER x11 /usr/include/X11303EXPORTS HEADER xcb /usr/include/xcb304EXPORTS LIB Xau /usr/lib/libXau.a305EXPORTS LIB xcb /usr/lib/libxcb.a306EXPORTS LIB X11 /usr/lib/libX11.a307EXPORTS LIB X11-xcb /usr/lib/libX11-xcb.a308EXPORTS LIB Xext /usr/lib/libXext.a309EXPORTS LIB Xrender /usr/lib/libXrender.a310EXPORTS LIB Xfixes /usr/lib/libXfixes.a311EXPORTS LIB Xi /usr/lib/libXi.a312EXPORTS LIB ICE /usr/lib/libICE.a313EXPORTS LIB SM /usr/lib/libSM.a314EXPORTS LIB Xt /usr/lib/libXt.a315EXPORTS LIB Xmu /usr/lib/libXmu.a316EXPORTS LIB Xmuu /usr/lib/libXmuu.a317EXPORTS LIB Xpm /usr/lib/libXpm.a318EXPORTS LIB Xaw7 /usr/lib/libXaw7.a319EXPORTS LIB Xaw /usr/lib/libXaw.a320# pkg-config's files, the protocol descriptions and xcb's generator, for321# libraries and programs built on this stage.322FOLDER /usr/lib/pkgconfig323FOLDER /usr/share/pkgconfig324FOLDER /usr/share/xcb325FOLDER /usr/lib/python3.14/site-packages/xcbgen326FILE /usr/share/X11/XErrorDB327FOLDER /usr/share/licenses328329ENTRY /bin/foreground -i /bin/slop330