diff --git a/Makefile.am b/Makefile.am
index f0fa2d8..2127601 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -58,6 +58,7 @@ SUBDIRS = \
 	$(GLX_DIR) \
 	$(PRESENT_DIR) \
 	$(DRI3_DIR) \
+	IA \
 	exa \
 	$(GLAMOR_DIR) \
 	config \
diff --git a/configure.ac b/configure.ac
index c7379de..e09f020 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1421,6 +1421,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(VGAHW, test "x$VGAHW" = xyes)
 AM_CONDITIONAL(VBE, test "x$VBE" = xyes)
@@ -2636,3 +2640,6 @@ xserver.ent
 xorg-server.pc
 ])
 AC_OUTPUT
+
+# Add Sun IA extension
+AC_OUTPUT([IA/Makefile])
diff --git a/include/extinit.h b/include/extinit.h
index fa5f293..62a0ab2 100644
--- a/include/extinit.h
+++ b/include/extinit.h
@@ -121,6 +121,14 @@ extern _X_EXPORT Bool noMITShmExtension;
 extern void ShmExtensionInit(void);
 #endif
 
+#define SolarisIAExtension
+
+#ifdef SolarisIAExtension
+#include <X11/extensions/interactive.h>
+extern _X_EXPORT Bool noIAExtension;
+extern void IAExtensionInit(void);
+#endif
+
 extern void SyncExtensionInit(void);
 
 extern void XCMiscExtensionInit(void);
diff --git a/mi/miinitext.c b/mi/miinitext.c
index 5872bf5..a9a3826 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -150,6 +150,9 @@ static ExtensionToggle ExtensionToggleList[] = {
 #ifdef XCSECURITY
     {"SECURITY", &noSecurityExtension},
 #endif
+#ifdef SolarisIAExtension
+    { IANAME /* "SolarisIA" */, &noIAExtension },
+#endif
 #ifdef RES
     {"X-Resource", &noResExtension},
 #endif
@@ -296,6 +299,9 @@ static const ExtensionModule staticExtensions[] = {
 #ifdef RES
     {ResExtensionInit, XRES_NAME, &noResExtension},
 #endif
+#ifdef SolarisIAExtension
+    {IAExtensionInit, IANAME, &noIAExtension},
+#endif
 #ifdef XV
     {XvExtensionInit, XvName, &noXvExtension},
     {XvMCExtensionInit, XvMCName, &noXvExtension},
diff --git a/os/utils.c b/os/utils.c
index 1a070de..efaeef7 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -184,6 +184,9 @@ Bool noXvExtension = FALSE;
 #ifdef DRI2
 Bool noDRI2Extension = FALSE;
 #endif
+#ifdef SolarisIAExtension
+Bool noIAExtension = FALSE;
+#endif
 
 Bool noGEExtension = FALSE;