diff options
author | Adam Jackson <ajax@redhat.com> | 2018-01-30 16:34:37 -0500 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2018-01-30 16:46:29 -0500 |
commit | 627f4f40abb51a927ed91d9e8b45630d006886c2 (patch) | |
tree | 3f20ab97e0c8d3dc345537fd6c7415ba20369190 | |
parent | 9d14a8fade032eddc7149cec988d63f3d6fbe08f (diff) |
Add a meson build system
Builds on the work Dylan Baker did for glproto. Note that this does
not produce _quite_ identical pc files as the autotools build, but it
only affects the name and description strings which are only informative
anyway.
Just to be petty:
% time ( ./configure --prefix=/tmp/xorgproto && make install; ) >& /dev/null
2.42s user 1.67s system 107% cpu 3.804 total
% time ( meson setup build && meson configure build -Dprefix=/tmp/xorgproto && ninja -C build install ) >& /dev/null
0.55s user 0.11s system 100% cpu 0.658 total
Signed-off-by: Adam Jackson <ajax@redhat.com>
-rw-r--r-- | meson.build | 265 | ||||
-rw-r--r-- | meson_options.txt | 1 |
2 files changed, 250 insertions, 16 deletions
diff --git a/meson.build b/meson.build index aaa2fe6..a8278a5 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -# Copyright © 2017 Intel Corporation +# Copyright © 2018 Intel Corporation # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -18,25 +18,258 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -project('glproto', license : 'MIT', version : '1.4.17') +project('xorgproto', license : 'MIT', version : '2018.0') +pkg = import('pkgconfig') +# core install_headers( - 'include/GL/glxint.h', - 'include/GL/glxmd.h', - 'include/GL/glxproto.h', - 'include/GL/glxtokens.h', - subdir : 'GL') -install_headers('include/GL/internal/glcore.h', subdir : 'GL/internal') + 'include/X11/ap_keysym.h', + 'include/X11/DECkeysym.h', + 'include/X11/HPkeysym.h', + 'include/X11/keysymdef.h', + 'include/X11/keysym.h', + 'include/X11/Sunkeysym.h', + 'include/X11/Xalloca.h', + 'include/X11/Xarch.h', + 'include/X11/Xatom.h', + 'include/X11/Xdefs.h', + 'include/X11/XF86keysym.h', + 'include/X11/Xfuncs.h', + 'include/X11/X.h', + 'include/X11/Xmd.h', + 'include/X11/Xosdefs.h', + 'include/X11/Xos.h', + 'include/X11/Xos_r.h', + 'include/X11/Xproto.h', + 'include/X11/Xprotostr.h', + 'include/X11/Xthreads.h', + 'include/X11/Xw32defs.h', + 'include/X11/XWDFile.h', + 'include/X11/Xwindows.h', + 'include/X11/Xwinsock.h', + subdir : 'X11') -pkg = import('pkgconfig') +# proxy manager +install_headers( + 'include/X11/PM/PM.h', + 'include/X11/PM/PMproto.h', + subdir : 'X11/PM' +) + +# fonts +install_headers( + 'include/X11/fonts/font.h', + 'include/X11/fonts/fontproto.h', + 'include/X11/fonts/fontstruct.h', + 'include/X11/fonts/FS.h', + 'include/X11/fonts/fsmasks.h', + 'include/X11/fonts/FSproto.h', + subdir : 'X11/fonts' +) + +# dri1 +install_headers( + 'include/X11/dri/xf86dri.h', + 'include/X11/dri/xf86driproto.h', + 'include/X11/dri/xf86dristr.h', + subdir : 'X11/dri' +) + +# GL +install_headers( + 'include/GL/glxint.h', + 'include/GL/glxmd.h', + 'include/GL/glxproto.h', + 'include/GL/glxtokens.h', + subdir : 'GL') +install_headers('include/GL/internal/glcore.h', subdir : 'GL/internal') -pkg.generate( - name : 'GLProto', - filebase : 'glproto', - description : 'GL extension headers', - version : meson.project_version(), +# all other extensions +install_headers( + 'include/X11/extensions/ag.h', + 'include/X11/extensions/agproto.h', + 'include/X11/extensions/applewmconst.h', + 'include/X11/extensions/applewmproto.h', + 'include/X11/extensions/bigreqsproto.h', + 'include/X11/extensions/bigreqstr.h', + 'include/X11/extensions/composite.h', + 'include/X11/extensions/compositeproto.h', + 'include/X11/extensions/cup.h', + 'include/X11/extensions/cupproto.h', + 'include/X11/extensions/damageproto.h', + 'include/X11/extensions/damagewire.h', + 'include/X11/extensions/dbe.h', + 'include/X11/extensions/dbeproto.h', + 'include/X11/extensions/dmx.h', + 'include/X11/extensions/dmxproto.h', + 'include/X11/extensions/dpmsconst.h', + 'include/X11/extensions/dpmsproto.h', + 'include/X11/extensions/dri2proto.h', + 'include/X11/extensions/dri2tokens.h', + 'include/X11/extensions/dri3proto.h', + 'include/X11/extensions/EVI.h', + 'include/X11/extensions/EVIproto.h', + 'include/X11/extensions/ge.h', + 'include/X11/extensions/geproto.h', + 'include/X11/extensions/lbx.h', + 'include/X11/extensions/lbxproto.h', + 'include/X11/extensions/mitmiscconst.h', + 'include/X11/extensions/mitmiscproto.h', + 'include/X11/extensions/multibufconst.h', + 'include/X11/extensions/multibufproto.h', + 'include/X11/extensions/panoramiXproto.h', + 'include/X11/extensions/presentproto.h', + 'include/X11/extensions/presenttokens.h', + 'include/X11/extensions/randr.h', + 'include/X11/extensions/randrproto.h', + 'include/X11/extensions/recordconst.h', + 'include/X11/extensions/recordproto.h', + 'include/X11/extensions/recordstr.h', + 'include/X11/extensions/render.h', + 'include/X11/extensions/renderproto.h', + 'include/X11/extensions/saver.h', + 'include/X11/extensions/saverproto.h', + 'include/X11/extensions/secur.h', + 'include/X11/extensions/securproto.h', + 'include/X11/extensions/shapeconst.h', + 'include/X11/extensions/shapeproto.h', + 'include/X11/extensions/shapestr.h', + 'include/X11/extensions/shm.h', + 'include/X11/extensions/shmproto.h', + 'include/X11/extensions/shmstr.h', + 'include/X11/extensions/syncconst.h', + 'include/X11/extensions/syncproto.h', + 'include/X11/extensions/syncstr.h', + 'include/X11/extensions/vldXvMC.h', + 'include/X11/extensions/windowswm.h', + 'include/X11/extensions/windowswmstr.h', + 'include/X11/extensions/xcmiscproto.h', + 'include/X11/extensions/xcmiscstr.h', + 'include/X11/extensions/xf86bigfont.h', + 'include/X11/extensions/xf86bigfproto.h', + 'include/X11/extensions/xf86bigfstr.h', + 'include/X11/extensions/xf86dga1const.h', + 'include/X11/extensions/xf86dga1proto.h', + 'include/X11/extensions/xf86dga1str.h', + 'include/X11/extensions/xf86dgaconst.h', + 'include/X11/extensions/xf86dga.h', + 'include/X11/extensions/xf86dgaproto.h', + 'include/X11/extensions/xf86dgastr.h', + 'include/X11/extensions/xf86misc.h', + 'include/X11/extensions/xf86mscstr.h', + 'include/X11/extensions/xf86vm.h', + 'include/X11/extensions/xf86vmproto.h', + 'include/X11/extensions/xf86vmstr.h', + 'include/X11/extensions/xfixesproto.h', + 'include/X11/extensions/xfixeswire.h', + 'include/X11/extensions/XI2.h', + 'include/X11/extensions/XI2proto.h', + 'include/X11/extensions/XI.h', + 'include/X11/extensions/XIproto.h', + 'include/X11/extensions/XKBgeom.h', + 'include/X11/extensions/XKB.h', + 'include/X11/extensions/XKBproto.h', + 'include/X11/extensions/XKBsrv.h', + 'include/X11/extensions/XKBstr.h', + 'include/X11/extensions/XResproto.h', + 'include/X11/extensions/xtestconst.h', + 'include/X11/extensions/xtestext1const.h', + 'include/X11/extensions/xtestext1proto.h', + 'include/X11/extensions/xtestproto.h', + 'include/X11/extensions/xtrapbits.h', + 'include/X11/extensions/xtrapddmi.h', + 'include/X11/extensions/xtrapdi.h', + 'include/X11/extensions/xtrapemacros.h', + 'include/X11/extensions/xtraplib.h', + 'include/X11/extensions/xtraplibp.h', + 'include/X11/extensions/xtrapproto.h', + 'include/X11/extensions/Xv.h', + 'include/X11/extensions/XvMC.h', + 'include/X11/extensions/XvMCproto.h', + 'include/X11/extensions/Xvproto.h', + subdir : 'X11/extensions' ) -ext_glproto = declare_dependency( - include_directories : include_directories('include') +pcs = [ + ['applewmproto', '1.4.2'], + ['bigreqsproto', '1.1.2'], + ['compositeproto', '0.4.2'], + ['damageproto', '1.2.1'], + ['dmxproto', '2.3.1'], + ['dri2proto', '2.8'], + ['dri3proto', '1.0'], + ['fixesproto', '5.0'], + ['fontsproto', '2.1.3'], + ['glproto', '1.4.17'], + ['inputproto', '2.3.2'], + ['kbproto', '1.0.6'], + ['presentproto', '1.0'], + ['randrproto', '1.5.0'], + ['recordproto', '1.14.2'], + ['renderproto', '0.11.1'], + ['resourceproto', '1.2.0'], + ['scrnsaverproto', '1.2.2'], + ['trapproto', '3.4.3'], + ['videoproto', '2.3.3'], + ['windowswmproto', '1.0.4'], + ['xcmiscproto', '1.2.2'], + ['xextproto', '7.3.0'], + ['xf86bigfontproto', '1.2.0'], + ['xf86dgaproto', '2.1'], + ['xf86driproto', '2.1.1'], + ['xf86miscproto', '0.9.3'], + ['xf86vidmodeproto', '2.3.1'], + ['xineramaproto', '1.2.1'], + ['xproto', '7.0.31'], + ['xproxymngproto', '1.0.3'], +] + +foreach pc : pcs + pkg.generate( + name : pc[0], + filebase : pc[0], + description : pc[0] + ' headers', + version : pc[1], + install_dir : get_option('datadir') + '/pkgconfig' + ) +endforeach + +# legacy +if get_option('legacy') == true + install_headers( + 'include/X11/extensions/evieproto.h', + 'include/X11/extensions/fontcache.h', + 'include/X11/extensions/fontcacheP.h', + 'include/X11/extensions/fontcachstr.h', + 'include/X11/extensions/lgewire.h', + 'include/X11/extensions/Print.h', + 'include/X11/extensions/Printstr.h', + 'include/X11/extensions/xcalibrateproto.h', + 'include/X11/extensions/xcalibratewire.h', + 'include/X11/extensions/Xeviestr.h', + 'include/X11/extensions/xf86rush.h', + 'include/X11/extensions/xf86rushstr.h', + subdir : 'X11/extensions' + ) + legacy_pcs = [ + ['evieproto', '1.1.1'], + ['fontcacheproto', '0.1.3'], + ['lg3dproto', '5.0'], + ['printproto', '1.0.5'], + ['xcalibrateproto', '0.1.0'], + ['xf86rushproto', '1.2.2'], + ] + foreach pc : legacy_pcs + pkg.generate( + name : pc[0], + filebase : pc[0], + description : pc[0] + ' headers', + version : pc[1], + install_dir : get_option('datadir') + '/pkgconfig' + ) + endforeach +endif + +ext_xorgproto = declare_dependency( + include_directories : include_directories('.') ) diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..757cd72 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1 @@ +option('legacy', type: 'boolean', value: false) |