diff --git a/m4/opendx.m4 b/m4/opendx.m4
new file mode 100644
index 0000000000000000000000000000000000000000..60bf5ee58453cdd909672496bd31c44af40646a6
--- /dev/null
+++ b/m4/opendx.m4
@@ -0,0 +1,18 @@
+#
+# check for IBM DX and stuff
+#
+
+AC_DEFUN([ALBERTA_OPENDX_CHECK],
+[
+  if ! test "x${OPENDX_DISABLE}" = "xno"; then
+    AC_CHECK_LIB([rt],[main],[LIBRT=-lrt],[HAVE_LIBRT=])
+    AC_CHECK_HEADERS([unistd.h errno.h Xm/Xm.h Xm/Form.h Xm/DrawingA.h pthread.h],
+      [],
+      [AC_MSG_WARN([Headers needed for dxtools not found])
+      OPENDX_DISABLE=yes])
+      AC_CHECK_TYPE([ulong],[],
+                    [AC_DEFINE([ulong],[unsigned long],[Needed for OpenDX])])
+  fi
+  ALBERTA_CHECK_PACKAGE([OpenDX],[DXL],[],[-lDXcallm ${LIBRT}],
+                        [dx/dx.h],[],[],[optional enabled])
+])