Document how to build xorgproto
The "Building XLibre" document just says laconically: "Some need to build xorgproto from source as well."
Well, I am such a "some", because I got on my Debian machine after runniing meson setup --prefix=$(pwd)/build/ build:
Dependency presentproto found: NO found 1.2 but need: '>= 1.4'
Found CMake: /usr/bin/cmake (3.25.1)
Run-time dependency presentproto found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency presentproto
meson.build:87:0: ERROR: Neither a subproject directory nor a xorgproto.wrap file was found.
I went to https://github.com/X11Libre/xorgproto but there is no build instruction/readme/howto. I followed the link to the original repo at https://gitlab.freedesktop.org/xorg/proto/xorgproto, but there's also no documentation how to build that stuff.
That should be done better, I think, because my curious exploration of XLibre is stuck now. :-(
Extra fields
- [x] I have checked the existing issues
- [x] I have read the Contributing Guidelines
- [x] I'd like to work on this issue
See the INSTALL file. Trying it now...
`autotools:
$ ./configure
$ sudo make install
meson:
$ meson setup build
$ meson configure build
$ sudo meson -C build install`
Well, this does not solve anything. autoconf/automake complains about missing xorg-macros >= 1.12, meson configure build probably does nothing useful:
~/projects/xserver/xorgproto/build$ meson compile INFO: autodetecting backend as ninja INFO: calculating backend command to run: /usr/bin/ninja ninja: no work to do.
'~/projects/xserver/xorgproto$ automake
configure.ac:31: error: must install xorg-macros 1.12 or later before running autoconf/autogen
configure.ac:31: the top level
autom4te: error: /usr/bin/m4 failed with exit status: 1
automake: error: autoconf failed with exit status: 1
but /usr/share/pkgconfig/xorg-macros.pc:
Name: X.Org Macros Description: A set of autoconf project macros for X.Org modules Version: 1.19.3
so it is there (from xutils-dev) and is version > 1.12
So: does not help either.
./autogen.sh does seem to do something, afterwards make:
presentproto.pc:
'prefix=/usr/local includedir=${prefix}/include
Name: PresentProto Description: Present extension headers Version: 1.4 Cflags: -I${includedir} '
So, ./autogen.sh; make produces a current 1.14 version of presentproto.pc with the standard prefix of /usr/local.
Now to guess where to put this thing for the build to find and not to interfere with the installed X11
so... sudo make install installs this under the given prefix, the packages can then be found under $prefix/share/pkgconfig
perhaps better to use a custom --prefix and not installing this under /usr/local
Tried it, now the main build seems to work, the error is gone.
final note: tried with Devuan daedalus on an x86_64 GNU/Linux system
more up to date instructions: https://github.com/X11Libre/xserver/wiki/Building-XLibre#installing-xorgproto