Commit 1276412b authored by Keith Packard's avatar Keith Packard
Browse files

Create shared build infrastructure


Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
parent 38303e02
applewmdir = $(includedir)/X11/extensions
applewm_HEADERS = \
applewmconst.h \
applewmproto.h
applewmprotopkgconfigdir = $(libdir)/pkgconfig
applewmprotopkgconfig_DATA = applewmproto.pc
bigreqsdir = $(includedir)/X11/extensions
bigreqs_HEADERS = \
bigreqsproto.h \
bigreqstr.h
bigreqsprotopkgconfigdir = $(libdir)/pkgconfig
bigreqsprotopkgconfig_DATA = bigreqsproto.pc
XCalibrateincludedir = $(includedir)/X11/extensions
XCalibrateinclude_HEADERS = xcalibrateproto.h xcalibratewire.h
calibrateprotopkgconfigdir = $(libdir)/pkgconfig
calibrateprotopkgconfig_DATA = xcalibrateproto.pc
calibrateproto_EXTRA_DIST = autogen.sh xcalibrateproto.pc.in
compositedir = $(includedir)/X11/extensions
composite_HEADERS = \
composite.h \
compositeproto.h
compositeprotopkgconfigdir = $(libdir)/pkgconfig
compositeprotopkgconfig_DATA = compositeproto.pc
damagedir = $(includedir)/X11/extensions
damage_HEADERS = \
damageproto.h \
damagewire.h
damageprotopkgconfigdir = $(libdir)/pkgconfig
damageprotopkgconfig_DATA = damageproto.pc
dmxdir = $(includedir)/X11/extensions
dmx_HEADERS = \
dmx.h \
dmxproto.h
dmxprotopkgconfigdir = $(libdir)/pkgconfig
dmxprotopkgconfig_DATA = dmxproto.pc
dri2dir = $(includedir)/X11/extensions
dri2_HEADERS = dri2proto.h dri2tokens.h
dri2protopkgconfigdir = $(libdir)/pkgconfig
dri2protopkgconfig_DATA = dri2proto.pc
dri3dir = $(includedir)/X11/extensions
dri3_HEADERS = dri3proto.h
dri3protopkgconfigdir = $(libdir)/pkgconfig
dri3protopkgconfig_DATA = dri3proto.pc
eviedir = $(includedir)/X11/extensions
evie_HEADERS = \
evieproto.h \
Xeviestr.h
evieprotopkgconfigdir = $(libdir)/pkgconfig
evieprotopkgconfig_DATA = evieproto.pc
evieproto_EXTRA_DIST = evieproto.pc.in
fixesdir = $(includedir)/X11/extensions
fixes_HEADERS = \
xfixesproto.h \
xfixeswire.h
fixesprotopkgconfigdir = $(libdir)/pkgconfig
fixesprotopkgconfig_DATA = fixesproto.pc
fontcachedir = $(includedir)/X11/extensions
fontcache_HEADERS = \
fontcache.h \
fontcacheP.h \
fontcachstr.h
fontcacheprotopkgconfigdir = $(libdir)/pkgconfig
fontcacheprotopkgconfig_DATA = fontcacheproto.pc
fontcacheproto_EXTRA_DIST = fontcacheproto.pc.in
fontsdir = $(includedir)/X11/fonts
fonts_HEADERS = \
font.h \
fontproto.h \
fontstruct.h \
FS.h \
fsmasks.h \
FSproto.h
fontsprotopkgconfigdir = $(libdir)/pkgconfig
fontsprotopkgconfig_DATA = fontsproto.pc
gldir = $(includedir)/GL
gl_HEADERS = \
include/GL/glxint.h \
include/GL/glxmd.h \
include/GL/glxproto.h \
include/GL/glxtokens.h
glinternaldir = $(includedir)/GL/internal
glinternal_HEADERS = \
include/GL/internal/glcore.h
glprotopkgconfigdir = $(libdir)/pkgconfig
glprotopkgconfig_DATA = glproto.pc
glproto_EXTRA_DIST = meson.build
inputdir = $(includedir)/X11/extensions
input_HEADERS = \
XI.h \
XIproto.h \
XI2.h \
XI2proto.h
inputprotopkgconfigdir = $(libdir)/pkgconfig
inputprotopkgconfig_DATA = inputproto.pc
kbdir = $(includedir)/X11/extensions
kb_HEADERS = \
XKBgeom.h \
XKB.h \
XKBproto.h \
XKBsrv.h \
XKBstr.h
kbprotopkgconfigdir = $(libdir)/pkgconfig
kbprotopkgconfig_DATA = kbproto.pc
lg3ddir = $(includedir)/X11/extensions
lg3d_HEADERS = lgewire.h
lg3dprotopkgconfigdir = $(libdir)/pkgconfig
lg3dprotopkgconfig_DATA = lg3dproto.pc
lg3dproto_EXTRA_DIST = autogen.sh lg3dproto.pc.in
xproxymngdir = $(includedir)/X11/PM
xproxymng_HEADERS = \
PM.h \
PMproto.h
pmprotopkgconfigdir = $(libdir)/pkgconfig
pmprotopkgconfig_DATA = xproxymngproto.pc
pmproto_EXTRA_DIST = xproxymngproto.pc.in
presentdir = $(includedir)/X11/extensions
present_HEADERS = presentproto.h presenttokens.h
presentprotopkgconfigdir = $(libdir)/pkgconfig
presentprotopkgconfig_DATA = presentproto.pc
printdir = $(includedir)/X11/extensions
print_HEADERS = \
Print.h \
Printstr.h
printprotopkgconfigdir = $(libdir)/pkgconfig
printprotopkgconfig_DATA = printproto.pc
miscmandir = $(MISC_MAN_DIR)
miscman_DATA = man/Xprint.$(MISC_MAN_SUFFIX)
CLEANFILES = $(miscman_DATA)
printproto_EXTRA_DIST = printproto.pc.in \
man/Xprint.man \
man/Xprint.sgml \
specs/xp_proto.book \
specs/xp_proto.mif \
specs/xp_proto.ps \
specs/xp_protoIX.doc \
specs/xp_protoTOC.doc \
specs/xp_proto_cov.mif
SED = sed
XORGRELSTRING = @PACKAGE_STRING@
XORGMANNAME = X Version 11
MAN_SUBSTS = \
-e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-e 's|__datadir__|$(datadir)|g' \
-e 's|__libdir__|$(libdir)|g' \
-e 's|__sysconfdir__|$(sysconfdir)|g' \
-e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
-e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' \
-e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g'
SUFFIXES = .$(MISC_MAN_SUFFIX) .man
.man.$(MISC_MAN_SUFFIX): man
$(MKDIR_P) man
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
randrdir = $(includedir)/X11/extensions
randr_HEADERS = \
randr.h \
randrproto.h
randrprotopkgconfigdir = $(libdir)/pkgconfig
randrprotopkgconfig_DATA = randrproto.pc
recorddir = $(includedir)/X11/extensions
record_HEADERS = \
recordconst.h \
recordproto.h \
recordstr.h
recordprotopkgconfigdir = $(libdir)/pkgconfig
recordprotopkgconfig_DATA = recordproto.pc
renderdir = $(includedir)/X11/extensions
render_HEADERS = \
render.h \
renderproto.h
renderprotopkgconfigdir = $(libdir)/pkgconfig
renderprotopkgconfig_DATA = renderproto.pc
resourcedir = $(includedir)/X11/extensions
resource_HEADERS = \
XResproto.h
resourceprotopkgconfigdir = $(libdir)/pkgconfig
resourceprotopkgconfig_DATA = resourceproto.pc
scrnsaverdir = $(includedir)/X11/extensions
scrnsaver_HEADERS = \
saver.h \
saverproto.h
scrnsaverprotopkgconfigdir = $(libdir)/pkgconfig
scrnsaverprotopkgconfig_DATA = scrnsaverproto.pc
trapdir = $(includedir)/X11/extensions
trap_HEADERS = \
xtrapbits.h \
xtrapddmi.h \
xtrapdi.h \
xtrapemacros.h \
xtraplib.h \
xtraplibp.h \
xtrapproto.h
trapprotopkgconfigdir = $(libdir)/pkgconfig
trapprotopkgconfig_DATA = trapproto.pc
trapproto_EXTRA_DIST = trapproto.pc.in
videodir = $(includedir)/X11/extensions
video_HEADERS = \
vldXvMC.h \
Xv.h \
XvMC.h \
XvMCproto.h \
Xvproto.h
videoprotopkgconfigdir = $(libdir)/pkgconfig
videoprotopkgconfig_DATA = videoproto.pc
windowswmdir = $(includedir)/X11/extensions
windowswm_HEADERS = \
windowswm.h \
windowswmstr.h
windowswmprotopkgconfigdir = $(libdir)/pkgconfig
windowswmprotopkgconfig_DATA = windowswmproto.pc
xprotodir = $(includedir)/X11
xproto_HEADERS = \
ap_keysym.h \
DECkeysym.h \
HPkeysym.h \
keysymdef.h \
keysym.h \
Sunkeysym.h \
Xalloca.h \
Xarch.h \
Xatom.h \
Xdefs.h \
XF86keysym.h \
Xfuncs.h \
X.h \
Xmd.h \
Xosdefs.h \
Xos.h \
Xos_r.h \
Xproto.h \
Xprotostr.h \
Xthreads.h \
Xw32defs.h \
XWDFile.h \
Xwindows.h \
Xwinsock.h
nodist_xproto_HEADERS = \
Xfuncproto.h \
Xpoll.h
x11protopkgconfigdir = $(libdir)/pkgconfig
x11protopkgconfig_DATA = xproto.pc
xcmiscdir = $(includedir)/X11/extensions
xcmisc_HEADERS = \
xcmiscproto.h \
xcmiscstr.h
xcmiscprotopkgconfigdir = $(libdir)/pkgconfig
xcmiscprotopkgconfig_DATA = xcmiscproto.pc
xextdir = $(includedir)/X11/extensions
xext_HEADERS = \
dpmsconst.h \
dpmsproto.h \
ge.h \
geproto.h \
lbx.h \
lbxproto.h \
mitmiscconst.h \
mitmiscproto.h \
multibufconst.h \
multibufproto.h \
secur.h \
securproto.h \
shapeconst.h \
shapeproto.h \
shm.h \
shmproto.h \
syncconst.h \
syncproto.h \
ag.h \
agproto.h \
cup.h \
cupproto.h \
dbe.h \
dbeproto.h \
EVI.h \
EVIproto.h \
xtestext1proto.h \
xtestext1const.h \
xtestconst.h \
xtestproto.h
compatdir = $(xextdir)
compat_HEADERS = \
shapestr.h \
shmstr.h \
syncstr.h
xextprotopkgconfigdir = $(libdir)/pkgconfig
xextprotopkgconfig_DATA = xextproto.pc
xf86bigfontdir = $(includedir)/X11/extensions
xf86bigfont_HEADERS = \
xf86bigfont.h \
xf86bigfproto.h \
xf86bigfstr.h
xf86bigfontprotopkgconfigdir = $(libdir)/pkgconfig
xf86bigfontprotopkgconfig_DATA = xf86bigfontproto.pc
xf86dgadir = $(includedir)/X11/extensions
xf86dga_HEADERS = \
xf86dga.h \
xf86dga1const.h \
xf86dga1str.h \
xf86dga1proto.h \
xf86dgaconst.h \
xf86dgaproto.h \
xf86dgastr.h
xf86dgaprotopkgconfigdir = $(libdir)/pkgconfig
xf86dgaprotopkgconfig_DATA = xf86dgaproto.pc
xf86dridir = $(includedir)/X11/dri
xf86dri_HEADERS = xf86dri.h xf86dristr.h xf86driproto.h
xf86driprotopkgconfigdir = $(libdir)/pkgconfig
xf86driprotopkgconfig_DATA = xf86driproto.pc
xf86miscdir = $(includedir)/X11/extensions
xf86misc_HEADERS = \
xf86misc.h \
xf86mscstr.h
xf86miscprotopkgconfigdir = $(libdir)/pkgconfig
xf86miscprotopkgconfig_DATA = xf86miscproto.pc
xf86miscproto_EXTRA_DIST = xf86miscproto.pc.in
xf86rushdir = $(includedir)/X11/extensions
xf86rush_HEADERS = \
xf86rush.h \
xf86rushstr.h
xf86rushprotopkgconfigdir = $(libdir)/pkgconfig
xf86rushprotopkgconfig_DATA = xf86rushproto.pc
xf86rushproto_EXTRA_DIST = xf86rushproto.pc.in
xf86vidmodedir = $(includedir)/X11/extensions
xf86vidmode_HEADERS = \
xf86vm.h \
xf86vmproto.h \
xf86vmstr.h
xf86vidmodeprotopkgconfigdir = $(libdir)/pkgconfig
xf86vidmodeprotopkgconfig_DATA = xf86vidmodeproto.pc
xineramadir = $(includedir)/X11/extensions
xinerama_HEADERS = \
panoramiXproto.h
xineramaprotopkgconfigdir = $(libdir)/pkgconfig
xineramaprotopkgconfig_DATA = xineramaproto.pc
# SUBDIRS=specs
dist_doc_DATA = \
compositeproto.txt \
damageproto.txt \
dri2proto.txt \
dri3proto.txt \
fixesproto.txt \
PM_spec \
presentproto.txt \
randrproto.txt \
renderproto.txt \
resproto.txt \
xv-protocol-v2.txt
#! /bin/sh
srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd "$srcdir"
autoreconf -v --install || exit 1
cd "$ORIGDIR" || exit $?
git config --local --get format.subjectPrefix >/dev/null 2>&1 ||
git config --local format.subjectPrefix "PATCH x11proto"
if test -z "$NOCONFIGURE"; then
exec "$srcdir"/configure "$@"
fi
dnl
dnl Copyright © 2017 Keith Packard
dnl
dnl Permission to use, copy, modify, distribute, and sell this software and its
dnl documentation for any purpose is hereby granted without fee, provided that
dnl the above copyright notice appear in all copies and that both that
dnl copyright notice and this permission notice appear in supporting
dnl documentation, and that the name of Keith Packard not be used in
dnl advertising or publicity pertaining to distribution of the software without
dnl specific, written prior permission. Keith Packard makes no
dnl representations about the suitability of this software for any purpose. It
dnl is provided "as is" without express or implied warranty.
dnl
dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
dnl PERFORMANCE OF THIS SOFTWARE.
dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.60])
AC_INIT([Proto], [0.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
# Require xorg-macros: XORG_DEFAULT_OPTIONS
m4_ifndef([XORG_MACROS_VERSION],
[m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.12)
XORG_DEFAULT_OPTIONS
XORG_ENABLE_SPECS
XORG_WITH_XMLTO(0.0.22)
XORG_WITH_FOP
XORG_WITH_XSLTPROC
XORG_CHECK_SGML_DOCTOOLS(1.8)
AC_CONFIG_HEADERS([do-not-use-config.h])
AC_CONFIG_HEADERS([Xfuncproto.h])
AC_CANONICAL_HOST
# Check for enable/disable options
AC_ARG_ENABLE(function-prototypes,
AS_HELP_STRING([--enable-function-prototypes],
[force function prototypes (default: auto)]),
[FUNCPROTO=$enableval], [FUNCPROTO=auto])
AC_ARG_ENABLE(varargs-prototypes,
AS_HELP_STRING([--enable-varargs-prototypes],
[varargs prototypes are supported (default: auto)]),
[VAPROTO=$enableval], [VAPROTO=auto])
AC_ARG_ENABLE(const-prototypes,
AS_HELP_STRING([--enable-const-prototypes],
[const is supported (default: auto)]),
[CONSTPROTO=$enableval], [CONSTPROTO=auto])
AC_ARG_ENABLE(nested-prototypes,
AS_HELP_STRING([--enable-nested-prototypes],
[nested prototypes are supported (default: auto)]),
[NESTEDPROTO=$enableval], [NESTEDPROTO=auto])
AC_ARG_ENABLE(wide-prototypes,
AS_HELP_STRING([--enable-wide-prototypes],
[widen function prototypes (default: auto)]),
[WIDEPROTO=$enableval], [WIDEPROTO=auto])
AC_CHECK_HEADERS([sys/select.h sys/param.h sys/types.h sys/time.h])
# Handle Xpoll.h.in
# Avoid determining fds_bits on WIN32 hosts (not including cygwin)
case $host_os in
mingw*) fds_bits_found=true;;
*) fds_bits_found=false;;
esac
if test "x$fds_bits_found" = xfalse ; then
AC_CHECK_MEMBER(fd_set.fds_bits,
[
fds_bits_found=plain
USE_FDS_BITS="fds_bits"
],,
[
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
])
fi
if test "x$fds_bits_found" = xfalse ; then
AC_CHECK_MEMBER(fd_set.__fds_bits,
[
fds_bits_found=underscores
USE_FDS_BITS="__fds_bits"
],,
[
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
])
fi
if test "x$fds_bits_found" = xfalse ; then
AC_MSG_ERROR([Could not determine how to access the fds_bits or equivalent
structure in fd_set on your platform.])
fi
AC_SUBST([USE_FDS_BITS])
# Handle Xfuncproto.h
AC_MSG_CHECKING([whether const prototypes are supported])
if test "x$CONSTPROTO" = xauto; then
case $host_os in
linux*) CONSTPROTO=yes ;;
freebsd*) CONSTPROTO=yes ;;
netbsd*) CONSTPROTO=yes ;;
openbsd*) CONSTPROTO=yes ;;
solaris*) CONSTPROTO=yes ;;
*) CONSTPROTO=no ;;
esac
fi
AC_MSG_RESULT([$CONSTPROTO])
AC_MSG_CHECKING([whether varargs prototypes are supported])
if test "x$VAPROTO" = xauto; then
case $host_os in
linux*) VAPROTO=yes ;;
freebsd*) VAPROTO=yes ;;
netbsd*) VAPROTO=yes ;;
openbsd*) VAPROTO=yes ;;
solaris*) VAPROTO=yes ;;
*) VAPROTO=no ;;
esac
fi
AC_MSG_RESULT([$VAPROTO])
AC_MSG_CHECKING([whether nested prototypes are supported])
if test "x$NESTEDPROTO" = xauto; then
case $host_os in
linux*) NESTEDPROTO=yes ;;
freebsd*) NESTEDPROTO=yes ;;
netbsd*) NESTEDPROTO=yes ;;
openbsd*) NESTEDPROTO=yes ;;
solaris*) NESTEDPROTO=yes ;;
*) NESTEDPROTO=no ;;
esac
fi
AC_MSG_RESULT([$NESTEDPROTO])
AC_MSG_CHECKING([whether to force function prototypes])
if test "x$FUNCPROTO" = xauto; then
case $host_os in
linux*) FUNCPROTO=yes ;;
freebsd*) FUNCPROTO=yes ;;
netbsd*) FUNCPROTO=yes ;;
openbsd*) FUNCPROTO=yes ;;
*)
if test "x$VAPROTO" = xyes && test "x$NESTEDPROTO" = xyes; then
FUNCPROTO=yes
else
FUNCPROTO=no
fi
;;
esac
fi
AC_MSG_RESULT([$FUNCPROTO])
# Logic for this was taken from Imake.tmpl
if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes && test "x$NESTEDPROTO" = xyes && test "x$CONSTPROTO" = xyes; then
AC_DEFINE(FUNCPROTO, [15], [FUNCPROTO])
else
if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes && test "x$NESTEDPROTO" = xyes; then
AC_DEFINE(FUNCPROTO, [11], [FUNCPROTO])
else
if test "x$FUNCPROTO" = xyes && test "x$NESTEDPROTO" = xyes; then
AC_DEFINE(FUNCPROTO, [9], [FUNCPROTO])
else
if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes && test "x$CONSTPROTO" = xyes; then
AC_DEFINE(FUNCPROTO, [7], [FUNCPROTO])
else
if test "x$FUNCPROTO" = xyes && test "x$CONST