# Rebuild gdk-card-image.o with the 16-bit fix and relink Psion's sol. # # The screen is 16-bit. gdk_pixbuf_render_pixmap_and_mask() renders against # the system colormap, and this X server also offers a 24-bit visual, which # gdk prefers -- so every card pixmap came out at depth 24 and could not be # drawn to a depth 16 window. AisleRiot showed blank white cards while the # green baize slots, drawn by a different path, were fine. set -x rm -rf /build/out; mkdir -p /build/out/bin export PKG_CONFIG_PATH=/usr/lib/pkgconfig export LC_ALL=C export CC=gcc-3.4 cd /build/gdk-card-image grep -q render_at_screen_depth gdk-card-image.c \ && echo "16-bit fix present" || echo "WARNING: fix MISSING" # config.h and games-files.h come from the gnome-games tree; gnome-vfs is # needed too, which libgnomeui's cflags do not pull in on their own. gcc -c -o /build/aisleriot/gdk-card-image.o gdk-card-image.c \ -I. -I/build/aisleriot -O2 \ $(pkg-config --cflags gtk+-2.0 libgnomeui-2.0 gnome-vfs-2.0 gnome-vfs-module-2.0) \ > /build/out/cc.log 2>&1 echo "RC_cc=$?" tail -12 /build/out/cc.log cd /build/aisleriot gcc -o /build/out/bin/sol *.o \ $(pkg-config --libs libglade-2.0 libgnomeui-2.0 gconf-2.0 2>/dev/null) \ -lrsvg-2 -lguile -lltdl -ldl -lm >> /build/out/sol.log 2>&1 echo "RC_link=$?" grep -E 'undefined reference|cannot find|error:' /build/out/sol.log | head -6 [ -f /build/out/bin/sol ] && { strip /build/out/bin/sol; echo GOT_sol; } || echo MISSING_sol ls -l /build/out/bin