More X.org installation notes
authordavshao <davshao@web>
Mon, 10 May 2010 14:42:45 +0000 (07:42 -0700)
committerCharlie <root@leaf.dragonflybsd.org>
Mon, 10 May 2010 14:42:45 +0000 (07:42 -0700)
docs/developer/GEMdrmKMS/index.mdwn

index d6219bc..4f7b9b3 100644 (file)
@@ -158,3 +158,59 @@ Use the following patch from <http://lists.x.org/archives/xorg-devel/2009-Novemb
      xgeExtRegister(Display* dpy, int offset, XExtensionHooks* callbacks)
      {
          XGEExtNode* newExt;
+
+### FreeType 2
+
+We install [FreeType 2.3.12](http://www.freetype.org/).  It appears that *GNUMAKE=gmake* is required.
+Most of the X.org projects use *autogen.sh*, but here we use a standard call to *configure* somewhat
+similar to:
+
+        export ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
+        export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
+        GNUMAKE=gmake ./configure --prefix=${PREFIX} CPPFLAGS="-I${PREFIX}/include -I${PREFIX}/X11/include" LDFLAGS="-L${PREFIX}/lib -Wl,-rpath -Wl,${PREFIX}/lib -L${PREFIX}/X11/lib -Wl,-rpath -Wl,${PREFIX}/lib/X11"
+
+where *$PREFIX* is where we install X.org, say */opt/xbeta*,
+the first two exports of *ACLOCAL* and *PKG_CONFIG_PATH* occur for most X.org projects,
+*CPPFLAGS* and *LDFLAGS* ensure that the *$PREFIX* include directories and library paths
+are used, and *-Wl,-rpath ...* is an incantation that ensures that previous built
+*libtool* libraries can be used.
+
+### libXfont
+
+*autogen.sh* script seems to build easier with
+    --without-xmlto
+option.
+
+### Mesa
+
+As of 2010-05-09, known problem with GNU m4 pkgsrc on DragonFly
+
+    /usr/pkg/bin/gm4: m4_esyscmd subprocess failed: Operation not permitted
+    /usr/pkg/bin/gm4:configure.ac:8: cannot run command `${MAKE-make} -s -f bin/version.mk version | tr -d '\n'': Operation not permitted
+    configure.ac:8: error: Failed to get the Mesa version from `make -f bin/version.mk version`
+
+For now just manually run command
+    $ make -f bin/version.mk version
+    7.9.0
+and substitute it using a patch similar to
+
+    diff --git a/configure.ac b/configure.ac
+    index c40c842..224a858 100644
+    --- a/configure.ac
+    +++ b/configure.ac
+    @@ -4,7 +4,7 @@ AC_PREREQ([2.59])
+     dnl Versioning - scrape the version from configs/default
+     m4_define([mesa_version],
+    -    [m4_esyscmd([${MAKE-make} -s -f bin/version.mk version | tr -d '\n'])])
+    +    [7.9.0])])
+     m4_ifval(mesa_version,,
+         [m4_fatal([Failed to get the Mesa version from `make -f bin/version.mk version`])])
+
+### xserver
+
+      YACC   parser.c
+    bison: m4 subprocess failed: Operation not permitted
+    gmake[3]: *** [parser.c] Error 1
+
+I'm fed up: I'm going to see if applying some patches to GNU m4 and bison can fix this.