1DOLLY 72TOOLCHAIN x11-build3REQUIRES HOST runtime@04REQUIRES HOST display@05REQUIRES HOST input@06REQUIRES HOST download@07REQUIRES HOST http@08REQUIRES HOST upload@09REQUIRES HOST dso@010REQUIRES HOST sockets@011REQUIRES HOST threads@01213# The X Window System's client libraries from X.Org's release archives,14# unchanged: the protocol headers, xtrans, libXau and libxcb (whose protocol15# code xcb-proto's Python generator writes), libX11 and the libraries of the16# Athena toolkit's stack. Static libraries in /usr/lib, as the packages and17# programs of this demo link them. Python serves xcb's generator.18FROM /v0.1.4/demos/tools/Dollyfile-tools-build 81e1c1bc8b06c83b1daead6c8f09bc8b1382e8fe165f896a98109396b58bb30519INSTALL /v0.1.4/demos/python/Dollyfile-python 3e3b6f083bff4d9be1a817d8fa142378e2c0b492c42998e71977e2c309bdddb320# sockets@0's client, which every X program here links (pkg-config names it).21INSTALL /v0.1.4/Dollyfile-libdolly-sockets 53258b5e913671f33fe70294b3ae9f164f2c38e68c13c45b7e5ba29e4526c4972223REQUIRES HEADER libc24REQUIRES TOOL ar25REQUIRES TOOL cc26REQUIRES TOOL cp27REQUIRES TOOL gzip28REQUIRES TOOL make29REQUIRES TOOL mkdir30REQUIRES TOOL python331REQUIRES TOOL sed32REQUIRES TOOL tar3334SOURCE /v0.1.4/dist/static/x11/xorgproto-2026.1.tar.gz 7fa90e48cbaca6bc4c99d176e88c5c147ab0ed42358e14a0869ee9c8a610ae7e /tmp/x11/xorgproto.tar.gz35SOURCE /v0.1.4/dist/static/x11/xtrans-1.6.0.tar.gz 936b74c60b19c317c3f3cb1b114575032528dbdaf428740483200ea874c2ca0a /tmp/x11/xtrans.tar.gz36SOURCE /v0.1.4/dist/static/x11/xcb-proto-1.17.0.tar.gz 392d3c9690f8c8202a68fdb89c16fd55159ab8d65000a6da213f4a1576e97a16 /tmp/x11/xcb-proto.tar.gz37SOURCE /v0.1.4/dist/static/x11/libXau-1.0.12.tar.gz 2402dd938da4d0a332349ab3d3586606175e19cb32cb9fe013c19f1dc922dcee /tmp/x11/libXau.tar.gz38SOURCE /v0.1.4/dist/static/x11/libxcb-1.17.0.tar.gz 2c69287424c9e2128cb47ffe92171e10417041ec2963bceafb65cb3fcf8f0b85 /tmp/x11/libxcb.tar.gz39SOURCE /v0.1.4/dist/static/x11/libX11-1.8.13.tar.gz acf0e7cd7541110e6330ecb539441a2d53061f386ec7be6906dfde0de2598470 /tmp/x11/libX11.tar.gz40SOURCE /v0.1.4/dist/static/x11/libXext-1.3.7.tar.gz 6564608dc3b816b0cfddf0c7ddc62bc579055dd70b2f28113a618df2acb64189 /tmp/x11/libXext.tar.gz41SOURCE /v0.1.4/dist/static/x11/libXrender-0.9.12.tar.gz 0fff64125819c02d1102b6236f3d7d861a07b5216d8eea336c3811d31494ecf7 /tmp/x11/libXrender.tar.gz42SOURCE /v0.1.4/dist/static/x11/libXfixes-6.0.2.tar.gz 041331b8e6e36038b3bf836785b6b175ec8515f964c9e4e3316b3bfed0f53ac7 /tmp/x11/libXfixes.tar.gz43SOURCE /v0.1.4/dist/static/x11/libXi-1.8.3.tar.gz 6648c44127e4585f4e7842c0802d265008fa6f9741df0ea6ee7934a5267adf63 /tmp/x11/libXi.tar.gz44SOURCE /v0.1.4/dist/static/x11/libICE-1.1.2.tar.gz 1da62f732f8679c20045708a29372b82dff9e7eceee543ed488b845002b3b0ff /tmp/x11/libICE.tar.gz45SOURCE /v0.1.4/dist/static/x11/libSM-1.2.6.tar.gz 166b4b50d606cdd83f1ddc61b5b9162600034f848b3e32ccbb0e63536b7d6cdd /tmp/x11/libSM.tar.gz46SOURCE /v0.1.4/dist/static/x11/libXt-1.3.1.tar.gz cf2212189869adb94ffd58c7d9a545a369b83d2274930bfbe148da354030b355 /tmp/x11/libXt.tar.gz47SOURCE /v0.1.4/dist/static/x11/libXmu-1.3.1.tar.gz 5c8f44e26ccc9b14188599524e67ce788a205b38e297834babdeb12090be835b /tmp/x11/libXmu.tar.gz48SOURCE /v0.1.4/dist/static/x11/libXpm-3.5.19.tar.gz f241f705c607fba1a53338f7e1c12005d6da326b5cb55a11a10847781b4578c0 /tmp/x11/libXpm.tar.gz49SOURCE /v0.1.4/dist/static/x11/libXaw-1.0.16.tar.gz 012f90adf8739f2f023d63a5fee1528949cf2aba92ef7ac1abcfc2ae9cf28798 /tmp/x11/libXaw.tar.gz50SLOP CWD /tmp/x11 for archive in *.tar.gz; do gzip -dc "$archive" | tar -xf -; done5152FILE /tmp/x11/libs.mk53    .RECIPEPREFIX := >54    .DELETE_ON_ERROR:55    .SECONDARY:56    MAKEFLAGS += -r57    S := /tmp/x1158    B := /tmp/x11/build59    I := /usr/include/X1160    61    # Slop does not run the configure scripts, so these say what they would62    # find here: libc's pthread functions, which serve Xlib's locks without63    # threads, as XTHREADS. Not claimed: TCP (sockets@0 is local, and xtrans's64    # TCP code needs gethostbyaddr, which libc lacks), shared memory,65    # descriptor passing (xcb sends none) and loadable modules.66    # malloc(0) is taken to return NULL, configure's answer when it cannot run67    # a test program.68    HAVE := -D_GNU_SOURCE -DHAVE_UNISTD_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H \69      -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_STDLIB_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_IOCTL_H \70      -DHAVE_SYS_PARAM_H -DHAVE_SYS_SELECT_H -DHAVE_WCHAR_H -DHAVE_WCTYPE_H -DHAVE_POLL_H \71      -DHAVE_REALLOCARRAY -DHAVE_STRLCPY -DHAVE_STRLCAT -DHAVE_STRCASECMP -DHAVE_STRTOL \72      -DHAVE_ASPRINTF -DHAVE_GETPAGESIZE -DHAVE_ISWALNUM -DHAVE_SOCKLEN_T -DHAVE_UNAME \73      -DHAVE_STRUCT_SOCKADDR_STORAGE -DHAVE_GETADDRINFO -DHAVE_INET_NTOP -DHAVE_GETENTROPY \74      -DHAVE_EXPLICIT_BZERO -DHAVE_PATHCONF -DUSE_POLL -DMALLOC_0_RETURNS_NULL \75      -DUNIXCONN -D_CONST_X_STRING -DXTHREADS -DXUSE_MTSAFE_API76    CC := cc -O2 $(HAVE)77    78    all: $(addprefix /usr/lib/lib,$(addsuffix .a,Xau xcb X11 X11-xcb \79      Xext Xrender Xfixes Xi ICE SM Xt Xmu Xmuu Xpm Xaw7)) /usr/lib/libXaw.a \80      $(addprefix /usr/lib/pkgconfig/,$(addsuffix .pc,xau xcb x11 x11-xcb xext xrender xfixes \81      xi ice sm xt xmu xmuu xpm xaw7))82    83    # Each library's objects, built from its sources with its own flags.84    # $(call objects,LIB,SOURCES) names them; the pattern rules compile them.85    objects = $(patsubst $(S)/%.c,$(B)/$(1)/%.o,$(2))86    87    # Protocol headers and their pkg-config files, as xorgproto installs them;88    # Xpoll.h names musl's fd_set member.89    $(B)/xorgproto:90    >mkdir -p $(B) /usr/share/pkgconfig91    >cp -r $(S)/xorgproto-2026.1/include/X11 $(S)/xorgproto-2026.1/include/GL /usr/include/92    >sed 's/@USE_FDS_BITS@/fds_bits/' $(S)/xorgproto-2026.1/include/X11/Xpoll.h.in > $(I)/Xpoll.h93    >for pc in $(S)/xorgproto-2026.1/*.pc.in; do \94       sed -e 's,@prefix@,/usr,' -e 's,@includedir@,/usr/include,' -e 's,@datarootdir@,/usr/share,' \95         -e 's,@datadir@,/usr/share,' -e 's,@exec_prefix@,/usr,' -e 's,@libdir@,/usr/lib,' \96         $$pc > /usr/share/pkgconfig/$$(basename $$pc .in); done97    >touch $@98    99    # xtrans's configure finds fchown, and no sticky bit: Dolly has no modes.100    $(B)/xtrans: $(B)/xorgproto101    >mkdir -p $(I)/Xtrans102    >cp $(S)/xtrans-1.6.0/*.c $(S)/xtrans-1.6.0/*.h $(I)/Xtrans/103    >sed -e 's,@prefix@,/usr,' -e 's,@includedir@,/usr/include,' -e 's,@PACKAGE_VERSION@,1.6.0,' \104       -e 's,@datarootdir@,/usr/share,' -e 's,@datadir@,/usr/share,' -e 's,@fchown_define@,-DHAS_FCHOWN,' \105       -e 's,@sticky_bit_define@,,' $(S)/xtrans-1.6.0/xtrans.pc.in > /usr/share/pkgconfig/xtrans.pc106    >touch $@107    108    # xcbgen, the Python module, and the protocol descriptions it reads.109    XCBPY := /usr/lib/python3.14/site-packages110    $(B)/xcbproto: $(B)/xorgproto111    >mkdir -p /usr/share/xcb $(XCBPY)/xcbgen112    >cp $(S)/xcb-proto-1.17.0/src/*.xml /usr/share/xcb/113    >cp $(S)/xcb-proto-1.17.0/xcbgen/*.py $(XCBPY)/xcbgen/114    >touch $@115    116    # libXau.117    XAU := $(addprefix $(S)/libXau-1.0.12/,AuDispose.c AuFileName.c AuGetAddr.c AuGetBest.c \118      AuLock.c AuRead.c AuUnlock.c AuWrite.c)119    $(B)/Xau/%.o: $(S)/%.c $(B)/xorgproto120    >mkdir -p $(@D)121    >$(CC) -I$(S)/libXau-1.0.12/include -c $< -o $@122    /usr/lib/libXau.a: $(call objects,Xau,$(XAU))123    >cp $(S)/libXau-1.0.12/include/X11/Xauth.h $(I)/124    >ar rcs $@ $^125    126    # libxcb: the connection code and the core protocol, which c_client.py127    # writes from xproto.xml with the two extensions every client needs.128    XCB := $(S)/libxcb-1.17.0/src129    XCBGEN := $(B)/xcbgen130    /usr/share/xcb/%.xml: $(B)/xcbproto ;131    $(XCBGEN)/%.c: /usr/share/xcb/%.xml132    >mkdir -p $(@D)133    >cd $(@D) && python3 $(XCB)/c_client.py -c 'libxcb 1.17.0' -l 'X Version 11' -s 3 \134       -p $(XCBPY) $<135    XCB_GENERATED := xproto bigreq xc_misc136    $(B)/xcb/%.o: $(S)/%.c /usr/lib/libXau.a $(addprefix $(XCBGEN)/,$(addsuffix .c,$(XCB_GENERATED)))137    >mkdir -p $(@D)138    >$(CC) -DXCB_QUEUE_BUFFER_SIZE=16384 -I$(XCB) -I$(XCBGEN) -c $< -o $@139    $(B)/xcb/gen/%.o: $(XCBGEN)/%.c $(addprefix $(XCBGEN)/,$(addsuffix .c,$(XCB_GENERATED)))140    >mkdir -p $(@D)141    >$(CC) -I$(XCB) -I$(XCBGEN) -c $< -o $@142    /usr/lib/libxcb.a: $(call objects,xcb,$(addprefix $(XCB)/xcb_,$(addsuffix .c,auth conn ext in list out util xid))) \143      $(addprefix $(B)/xcb/gen/,$(addsuffix .o,$(XCB_GENERATED)))144    >mkdir -p /usr/include/xcb145    >cp $(XCB)/xcb.h $(XCB)/xcbext.h $(addprefix $(XCBGEN)/,$(addsuffix .h,$(XCB_GENERATED))) /usr/include/xcb/146    >ar rcs $@ $^147    148    # libX11 with its locale, input and output method modules linked in, as149    # configure builds it by default, and libX11-xcb. ks_tables.h is written150    # by makekeys, a program of the build, from the keysym headers.151    X11 := $(S)/libX11-1.8.13152    X11_CORE := $(filter-out %/reallocarray.c %/x11_xcb.c,$(wildcard $(X11)/src/*.c))153    X11_XIM := $(wildcard $(X11)/modules/im/ximcp/*.c)154    X11_SOURCES := $(X11_CORE) $(X11_XIM) $(wildcard $(X11)/src/xcms/*.c $(X11)/src/xkb/*.c) \155      $(filter-out %/XlcDL.c %/XlcSL.c,$(wildcard $(X11)/src/xlibi18n/*.c)) \156      $(wildcard $(X11)/modules/lc/*/*.c $(X11)/modules/om/generic/*.c)157    $(call objects,X11,$(X11_CORE) $(X11)/src/x11_xcb.c): TRANSPORT := -DX11_t -DTRANS_CLIENT158    $(call objects,X11,$(X11_XIM)): TRANSPORT := -DXIM_t -DTRANS_CLIENT159    X11_FLAGS := -I$(X11)/include -I$(X11)/include/X11 -I$(X11)/src -I$(X11)/src/xcms \160      -I$(X11)/src/xkb -I$(X11)/src/xlibi18n -I$(B)/X11 -D_BSD_SOURCE -DUSE_THREAD_SAFETY_CONSTRUCTOR \161      -DXCMS -DXLOCALE -DXKB -DXF86BIGFONT -DCOMPOSECACHE \162      -DX11_DATADIR='"/usr/share/X11"' -DXLOCALEDIR='"/usr/share/X11/locale"' \163      -DXLOCALELIBDIR='"/usr/lib/X11/locale"' -DXLOCALEDATADIR='"/usr/share/X11/locale"' \164      -DXERRORDB='"/usr/share/X11/XErrorDB"' -DXKEYSYMDB='"/usr/share/X11/XKeysymDB"' \165      -DXCMSDIR='"/usr/share/X11"' -DX11_LIBDIR='"/usr/lib/X11"'166    $(B)/X11/ks_tables.h: $(X11)/src/util/makekeys.c $(B)/xorgproto167    >mkdir -p $(@D)168    >sed -e 's/#undef XTHREADS/#define XTHREADS 1/' -e 's/#undef XUSE_MTSAFE_API/#define XUSE_MTSAFE_API 1/' \169       $(X11)/include/X11/XlibConf.h.in > $(X11)/include/X11/XlibConf.h170    >cc -O1 -I$(X11)/include $< -o $(B)/X11/makekeys171    >$(B)/X11/makekeys $(addprefix $(I)/,keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h) > $@172    $(B)/X11/%.o: $(S)/%.c $(B)/X11/ks_tables.h /usr/lib/libxcb.a173    >mkdir -p $(@D)174    >$(CC) $(X11_FLAGS) $(TRANSPORT) -c $< -o $@175    /usr/lib/libX11.a: $(call objects,X11,$(X11_SOURCES))176    >mkdir -p $(I)/extensions /usr/share/X11177    >cp $(addprefix $(X11)/include/X11/,ImUtil.h XKBlib.h Xcms.h Xlib-xcb.h Xlib.h Xlibint.h \178       Xlocale.h Xregion.h Xresource.h Xutil.h cursorfont.h) $(I)/179    >cp $(X11)/include/X11/XlibConf.h $(I)/180    >cp $(X11)/include/X11/extensions/XKBgeom.h $(I)/extensions/181    >cp $(X11)/src/XErrorDB /usr/share/X11/182    >ar rcs $@ $^183    /usr/lib/libX11-xcb.a: $(call objects,X11,$(X11)/src/x11_xcb.c)184    >ar rcs $@ $^185    186    # The extension libraries: each compiles its src directory but for the files187    # upstream's Makefile.am leaves out.188    EXT_FLAGS = -I$(S)/$(1)/include -I$(S)/$(1)/include/X11/extensions189    define extension190    $(B)/$(1)/%.o: $(S)/%.c /usr/lib/libX11.a $(2)191    >mkdir -p $$(@D)192    >$$(CC) $$(call EXT_FLAGS,$(1)) $(3) -c $$< -o $$@193    /usr/lib/$(word 1,$(subst -, ,$(1))).a: $$(call objects,$(1),$$(filter-out %/reallocarray.c %/XFreeLst.c,$$(wildcard $(S)/$(1)/src/*.c)))194    >mkdir -p $(I)/extensions195    >cp $(S)/$(1)/include/X11/extensions/*.h $(I)/extensions/196    >ar rcs $$@ $$^197    endef198    $(eval $(call extension,libXext-1.3.7))199    $(eval $(call extension,libXrender-0.9.12,/usr/lib/libXext.a))200    $(eval $(call extension,libXfixes-6.0.2,/usr/lib/libXext.a))201    $(eval $(call extension,libXi-1.8.3,/usr/lib/libXfixes.a))202    203    # The inter-client exchange and session management libraries over xtrans.204    $(B)/libICE-1.1.2/%.o: $(S)/%.c $(B)/xtrans $(B)/xorgproto205    >mkdir -p $(@D)206    >$(CC) -I$(S)/libICE-1.1.2/include -DICE_t -DTRANS_CLIENT -DTRANS_SERVER -c $< -o $@207    /usr/lib/libICE.a: $(call objects,libICE-1.1.2,$(wildcard $(S)/libICE-1.1.2/src/*.c))208    >mkdir -p $(I)/ICE209    >cp $(S)/libICE-1.1.2/include/X11/ICE/*.h $(I)/ICE/210    >ar rcs $@ $^211    $(B)/libSM-1.2.6/%.o: $(S)/%.c /usr/lib/libICE.a212    >mkdir -p $(@D)213    >$(CC) -I$(S)/libSM-1.2.6/include -c $< -o $@214    /usr/lib/libSM.a: $(call objects,libSM-1.2.6,$(filter-out %/sm_auth.c,$(wildcard $(S)/libSM-1.2.6/src/*.c)))215    >mkdir -p $(I)/SM216    >cp $(S)/libSM-1.2.6/include/X11/SM/*.h $(I)/SM/217    >ar rcs $@ $^218    219    # The X Toolkit Intrinsics. makestrs writes the string tables, StringDefs.h220    # and Shell.h from string.list.221    XT := $(S)/libXt-1.3.1222    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%S223    $(B)/Xt/StringDefs.c: $(XT)/util/makestrs.c224    >mkdir -p $(@D)225    >cc -O1 $< -o $(B)/Xt/makestrs226    >cd $(@D) && ./makestrs -i $(XT) < $(XT)/util/string.list > StringDefs.c227    >cp $(@D)/StringDefs.h $(@D)/Shell.h $(XT)/include/X11/228    $(B)/Xt/%.o: $(S)/%.c $(B)/Xt/StringDefs.c /usr/lib/libSM.a /usr/lib/libX11.a229    >mkdir -p $(@D)230    >$(CC) -I$(XT)/include -I$(XT)/include/X11 -DXKB -DLIBXT_COMPILATION \231       -DXFILESEARCHPATHDEFAULT='"$(XT_SEARCH)"' -DERRORDB='"/usr/share/X11/XtErrorDB"' -c $< -o $@232    $(B)/Xt/gen/StringDefs.o: $(B)/Xt/StringDefs.c233    >mkdir -p $(@D)234    >$(CC) -I$(XT)/include -I$(XT)/include/X11 -c $< -o $@235    /usr/lib/libXt.a: $(call objects,Xt,$(wildcard $(XT)/src/*.c)) $(B)/Xt/gen/StringDefs.o236    >cp $(XT)/include/X11/*.h $(I)/237    >ar rcs $@ $^238    239    # Miscellaneous utilities, and Xmuu, the five of them that need no Xt.240    XMU := $(S)/libXmu-1.3.1241    $(B)/Xmu/%.o: $(S)/%.c /usr/lib/libXt.a /usr/lib/libXext.a242    >mkdir -p $(@D)243    >$(CC) -I$(XMU)/include -I$(XMU)/include/X11/Xmu -DBITMAPDIR='"/usr/include/X11/bitmaps"' -c $< -o $@244    /usr/lib/libXmu.a: $(call objects,Xmu,$(filter-out %/reallocarray.c,$(wildcard $(XMU)/src/*.c)))245    >mkdir -p $(I)/Xmu246    >cp $(XMU)/include/X11/Xmu/*.h $(I)/Xmu/247    >ar rcs $@ $^248    /usr/lib/libXmuu.a: $(call objects,Xmu,$(addprefix $(XMU)/src/,ClientWin.c CursorName.c DefErrMsg.c GetHost.c Lower.c))249    >ar rcs $@ $^250    251    # The pixmap library; compressed files are not read through a pipe.252    $(B)/Xpm/%.o: $(S)/%.c /usr/lib/libX11.a253    >mkdir -p $(@D)254    >$(CC) -I$(S)/libXpm-3.5.19/include/X11 -DNO_ZPIPE -c $< -o $@255    /usr/lib/libXpm.a: $(call objects,Xpm,$(wildcard $(S)/libXpm-3.5.19/src/*.c))256    >cp $(S)/libXpm-3.5.19/include/X11/xpm.h $(I)/257    >ar rcs $@ $^258    259    # The Athena widgets, version 7.260    XAW := $(S)/libXaw-1.0.16261    $(B)/Xaw/%.o: $(S)/%.c /usr/lib/libXmu.a /usr/lib/libXpm.a262    >mkdir -p $(@D)263    >$(CC) -I$(XAW)/include -DXAW7 -DPROJECT_ROOT='"/usr"' -c $< -o $@264    /usr/lib/libXaw7.a: $(call objects,Xaw,$(wildcard $(XAW)/src/*.c))265    >mkdir -p $(I)/Xaw266    >cp $(XAW)/include/X11/Xaw/*.h $(I)/Xaw/267    >ar rcs $@ $^268    /usr/lib/libXaw.a: /usr/lib/libXaw7.a269    >cp $< $@270    271    # pkg-config files as the configure scripts write them, with what a static272    # link needs: xcb and ICE take their sockets from sockets@0's client.273    # $(call pc,NAME,LIBRARY,VERSION,REQUIRES,LIBS)274    define pc275    /usr/lib/pkgconfig/$(1).pc: /usr/lib/lib$(2).a276    >mkdir -p $$(@D)277    >printf '%s\n' 'prefix=/usr' 'Name: $(1)' 'Description: $(1)' 'Version: $(3)' 'Requires: $(4)' \278       'Libs: -L/usr/lib -l$(2) $(5)' 'Cflags: -I/usr/include' > $$@279    endef280    $(eval $(call pc,xau,Xau,1.0.12,xproto))281    $(eval $(call pc,xcb,xcb,1.17.0,xau,-ldolly-sockets))282    $(eval $(call pc,x11,X11,1.8.13,xproto kbproto xcb))283    $(eval $(call pc,x11-xcb,X11-xcb,1.8.13,x11 xcb))284    $(eval $(call pc,xext,Xext,1.3.7,x11 xextproto))285    $(eval $(call pc,xrender,Xrender,0.9.12,x11 renderproto))286    $(eval $(call pc,xfixes,Xfixes,6.0.2,x11 fixesproto))287    $(eval $(call pc,xi,Xi,1.8.3,xext xfixes inputproto))288    $(eval $(call pc,ice,ICE,1.1.2,xproto,-ldolly-sockets))289    $(eval $(call pc,sm,SM,1.2.6,ice))290    $(eval $(call pc,xt,Xt,1.3.1,sm x11))291    $(eval $(call pc,xmu,Xmu,1.3.1,xt xext x11))292    $(eval $(call pc,xmuu,Xmuu,1.3.1,x11))293    $(eval $(call pc,xpm,Xpm,3.5.19,x11))294    $(eval $(call pc,xaw7,Xaw7,1.0.16,xmu xt xpm xext x11))295# One Make for every library would spend many minutes choosing its first296# jobs from scratch: the libraries go in four groups, each on the last.297SLOP make -j4 -f /tmp/x11/libs.mk /tmp/x11/build/xorgproto /tmp/x11/build/xtrans /tmp/x11/build/xcbproto298SLOP make -j4 -f /tmp/x11/libs.mk /usr/lib/libXau.a /usr/lib/libxcb.a299SLOP make -j4 -f /tmp/x11/libs.mk /usr/lib/libX11.a /usr/lib/libX11-xcb.a300SLOP make -j4 -f /tmp/x11/libs.mk301SLOP CWD /tmp/x11 for source in */COPYING; do mkdir -p /usr/share/licenses/${source%%-[0-9]*} && cp $source /usr/share/licenses/${source%%-[0-9]*}/; done302SLOP mkdir -p /usr/share/licenses/xorgproto && cp /tmp/x11/xorgproto-2026.1/COPYING-* /usr/share/licenses/xorgproto/303304EXPORTS HEADER x11 /usr/include/X11305EXPORTS HEADER xcb /usr/include/xcb306EXPORTS LIB Xau /usr/lib/libXau.a307EXPORTS LIB xcb /usr/lib/libxcb.a308EXPORTS LIB X11 /usr/lib/libX11.a309EXPORTS LIB X11-xcb /usr/lib/libX11-xcb.a310EXPORTS LIB Xext /usr/lib/libXext.a311EXPORTS LIB Xrender /usr/lib/libXrender.a312EXPORTS LIB Xfixes /usr/lib/libXfixes.a313EXPORTS LIB Xi /usr/lib/libXi.a314EXPORTS LIB ICE /usr/lib/libICE.a315EXPORTS LIB SM /usr/lib/libSM.a316EXPORTS LIB Xt /usr/lib/libXt.a317EXPORTS LIB Xmu /usr/lib/libXmu.a318EXPORTS LIB Xmuu /usr/lib/libXmuu.a319EXPORTS LIB Xpm /usr/lib/libXpm.a320EXPORTS LIB Xaw7 /usr/lib/libXaw7.a321EXPORTS LIB Xaw /usr/lib/libXaw.a322# pkg-config's files, the protocol descriptions and xcb's generator, for323# libraries and programs built on this stage.324FOLDER /usr/lib/pkgconfig325FOLDER /usr/share/pkgconfig326FOLDER /usr/share/xcb327FOLDER /usr/lib/python3.14/site-packages/xcbgen328FILE /usr/share/X11/XErrorDB329FOLDER /usr/share/licenses330331ENTRY /bin/foreground -i /bin/slop332