--- /dev/null
+--- config.layout~ 2004-03-28 06:04:08.000000000 +0200
++++ config.layout 2004-10-14 17:37:13.000000000 +0200
+@@ -59,6 +59,31 @@
+ customlibdir: ${customdir}/lib
+ </Layout>
+
++<Layout FHS>
++ prefix: /usr/local
++ exec_prefix: ${prefix}
++ bindir: ${prefix}/bin
++ sbindir: ${prefix}/sbin
++ sysconfdir: /etc+
++ datadir: ${prefix}/share
++# FIXME: missing support for lib64
++ libdir: ${prefix}/lib
++ mandir: ${datadir}/man
++# FIXME: no such directory in FHS; shouldn't go to somewhere in "${datadir}/rt/"?
++ htmldir: ${datadir}/html
++ manualdir: ${datadir}/doc
++ localstatedir: /var
++ logfiledir: ${localstatedir}/log
++# XXX: "/var/cache/mason/*"?
++ masonstatedir: ${localstatedir}/cache/mason_data
++ sessionstatedir: ${localstatedir}/cache/session_data
++ customdir: ${prefix}/local
++ custometcdir: ${customdir}/etc
++ customhtmldir: ${customdir}/html
++ customlexdir: ${customdir}/po
++ customlibdir: ${customdir}/lib
++</Layout>
++
+ <Layout FreeBSD>
+ prefix: /usr/local
+ exec_prefix: ${prefix}
+--- m4/rt_layout.m4.bak 2004-10-14 17:55:37.000000000 +0200
++++ m4/rt_layout.m4 2004-10-14 18:18:41.000000000 +0200
+@@ -21,14 +21,15 @@
+ pldconf=./config.pld
+ $PERL -0777 -p -e "\$layout = '$2';" -e '
+ s/.*<Layout\s+$layout>//gims;
+- s/\<\/Layout\>.*//s;
+- s/^#.*$//m;
++ s/<\/Layout>.*//s;
++ s/^#.*$//gm;
+ s/^\s+//gim;
+ s/\s+$/\n/gim;
+ s/\+$/\/rt3/gim;
+ # m4 will not let us just use $1, we need @S|@1
+- s/^\s*((?:bin|sbin|libexec|data|sysconf|sharedstate|localstate|lib|include|oldinclude|info|man)dir)\s*:\s*(.*)$/@S|@1=@S|@2/gim;
+- s/^\s*(.*?)\s*:\s*(.*)$/\(test "x\@S|@@S|@1" = "xNONE" || test "x\@S|@@S|@1" = "x") && @S|@1=@S|@2/gim;
++# s/^((?:bin|sbin|libexec|data|sysconf|sharedstate|localstate|lib|include|oldinclude|info|man)dir)\s*:\s*(.*)$/@S|@1=@S|@2/gim;
++ # uh, should be [:=], but m4 apparently substitutes something...
++ s/^(.*?)\s*(?::|=)\s*(.*)$/\(test "x\@S|@@S|@1" = "xNONE" || test "x\@S|@@S|@1" = "x") && @S|@1=@S|@2/gim;
+ ' < $1 > $pldconf
+
+ if test -s $pldconf; then