IA.patch revision 1276
# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
diff --git a/Makefile.am b/Makefile.am
index cea140b..b1408f2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,6 +37,7 @@ SUBDIRS = \
damageext \
$(COMPOSITE_DIR) \
$(GLX_DIR) \
+ IA \
exa \
config \
hw \
diff --git a/configure.ac b/configure.ac
index 1ff432f..a7c8900 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1191,6 +1191,10 @@ AC_DEFINE(XINPUT, 1, [Support X Input extension])
XI_LIB='$(top_builddir)/Xi/libXi.la'
XI_INC='-I$(top_srcdir)/Xi'
+# SolarisIA extension
+IA_LIB='$(top_builddir)/IA/libIA.la'
+XEXT_LIB="${XEXT_LIB} ${IA_LIB}"
+
AM_CONDITIONAL(XF86UTILS, test "x$XF86UTILS" = xyes)
AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
AM_CONDITIONAL(VGAHW, test "x$VGAHW" = xyes)
@@ -2240,3 +2244,6 @@ test/xi2/Makefile
xserver.ent
xorg-server.pc
])
+
+# Add Sun IA extension
+AC_OUTPUT([IA/Makefile])
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 19feac1..b38d265 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -125,6 +125,7 @@ static ModuleDefault ModuleDefaults[] = {
#ifdef DRI2
{.name = "dri2",.toLoad = TRUE,.load_opt = NULL},
#endif
+ {.name = "ia",.toLoad = TRUE,.load_opt = NULL},
{.name = NULL,.toLoad = FALSE,.load_opt = NULL}
};
diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am
index a5be3ae..02a6d0d 100644
--- a/hw/xfree86/dixmods/Makefile.am
+++ b/hw/xfree86/dixmods/Makefile.am
@@ -65,3 +65,11 @@ libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.c
libdixmods_la_CFLAGS = -DXFree86LOADER $(AM_CFLAGS)
libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c
+
+
+# Sun IA extension module additions
+extsmodule_LTLIBRARIES += libia.la
+libia_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)/IA
+libia_la_LDFLAGS = -avoid-version
+libia_la_LIBADD = $(top_builddir)/IA/libIA.la
+libia_la_SOURCES = iamodule.c
diff --git a/mi/miinitext.c b/mi/miinitext.c
index 6ceae05..433aec7 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -153,6 +153,12 @@ extern Bool noXvExtension;
#endif
extern Bool noGEExtension;
+#define SolarisIAExtension
+
+#ifdef SolarisIAExtension
+Bool noIAExtension;
+#endif
+
#ifndef XFree86LOADER
#define INITARGS void
typedef void (*InitExtension) (INITARGS);
@@ -183,6 +189,10 @@ typedef void (*InitExtension) (INITARGS);
#ifdef RES
#include <X11/extensions/XResproto.h>
#endif
+#ifdef SolarisIAExtension
+#include <X11/extensions/interactive.h>
+#include "../IA/interactive_srv.h"
+#endif
/* FIXME: this whole block of externs should be from the appropriate headers */
#ifdef MITSHM
@@ -306,6 +316,9 @@ static ExtensionToggle ExtensionToggleList[] = {
#ifdef XCSECURITY
{"SECURITY", &noSecurityExtension},
#endif
+#ifdef SolarisIAExtension
+ { IANAME /* "SolarisIA" */, &noIAExtension },
+#endif
#ifdef RES
{"X-Resource", &noResExtension},
#endif
@@ -496,6 +509,9 @@ InitExtensions(int argc, char *argv[])
if (!noGlxExtension)
GlxExtensionInit();
#endif
+#ifdef SolarisIAExtension
+ if (!noIAExtension) IAExtensionInit();
+#endif
}
#else /* XFree86LOADER */