--- a/Makefile.in
+++ b/Makefile.in
@@ -37,8 +37,8 @@
 X11INC	= @X_CFLAGS@
 X11LIB	= @X_LIBS@ @X_PRE_LIBS@ -lXmu -lX11 @X_EXTRA_LIBS@
 
-INCS	= -I. $(NIDSINC) $(PCAPINC) $(LNETINC) $(DBINC) $(SSLINC) $(X11INC) \
-	  -I$(srcdir)/missing
-LIBS	= @LIBS@ -L$(srcdir) -lmissing
+INCS	= -I. $(NIDSINC) $(PCAPINC) $(LNETINC) $(DBINC) $(SSLINC) $(X11INC) @RPC_CFLAGS@ \
+	  -I$(srcdir)/missing
+LIBS	= @LIBS@ -L$(srcdir) -lmissing @RPC_LIBS@
 
 INSTALL	= @INSTALL@
--- a/configure.in
+++ b/configure.in
@@ -337,4 +337,23 @@
 AC_SUBST(SSLINC)
 AC_SUBST(SSLLIB)
 
+AC_ARG_WITH([libtirpc],
+	    AS_HELP_STRING([--with-libtirpc], [Use libtirpc as RPC implementation (instead of sunrpc)]),
+	    [], [ with_libtirpc=no ])
+
+AS_IF([test "x$with_libtirpc" != xno], 
+      [PKG_CHECK_MODULES([TIRPC], 
+                         [libtirpc], 
+                         [RPC_CFLAGS=$TIRPC_CFLAGS; RPC_LIBS=$TIRPC_LIBS;],
+			 [AC_MSG_ERROR([libtirpc requested, but library not found.])]
+	                )], 
+      [AC_CHECK_HEADER(rpc/rpc.h, 
+		       [RPC_CFLAGS=""; RPC_LIBS="";],
+		       [AC_MSG_ERROR([sunrpc requested, but headers are not present.])]
+	              )]
+)
+
+AC_SUBST(RPC_CFLAGS)
+AC_SUBST(RPC_LIBS)
+
 AC_OUTPUT(Makefile)
