diff --git a/autoconf_share/lofar_blitz.m4 b/autoconf_share/lofar_blitz.m4
index 4c695c4871ead15b5a13f7a5f7806e9c6ceeffc5..189dc88509277bf3d44174656623d35ed5cd2bd0 100644
--- a/autoconf_share/lofar_blitz.m4
+++ b/autoconf_share/lofar_blitz.m4
@@ -35,97 +35,5 @@ AC_DEFUN(lofar_BLITZ,dnl
 [dnl
 AC_PREREQ(2.13)dnl
 ifelse($1, [], [lfr_option=0], [lfr_option=$1])
-AC_ARG_WITH(blitz,
-	[  --with-blitz[=PFX]     prefix where Blitz is installed (default=/usr/local)],
-	[with_blitz=$withval],
-	[with_blitz=""])
-AC_ARG_WITH(blitz-libdir,
-	[  --with-blitz-libdir=PFX   prefix where Blitz library is installed],
-	[with_blitz_libdir=$withval],
-	[with_blitz_libdir=""])
-[
-enable_blitz=no
-if test "$lfr_option" = "1"; then
-  enable_blitz=yes
-fi
-if test "$with_blitz" != "no"; then
-  if test "$with_blitz" = ""; then
-    blitz_prefix=
-    if test "$with_blitz_libdir" != ""; then
-      enable_blitz=yes
-    fi
-  else
-    if test "$with_blitz" = "yes"; then
-      blitz_prefix=
-    else
-      blitz_prefix=$with_blitz
-    fi
-    enable_blitz=yes
-  fi
-##
-## Look for header file in suggested locations or in its include subdir
-##
-  blitz_inclist=$blitz_prefix;
-  if test "$blitz_prefix" = ""; then
-    blitz_inclist=
-    lfr_buildcomp=`echo $lofar_variant | sed -e "s/_.*//"`
-    if test "$lfr_buildcomp" != ""; then
-      blitz_inclist="/usr/local/blitz/$lfr_buildcomp";
-    fi
-    if test "$lfr_buildcomp" != "$lofar_compiler"; then
-      blitz_inclist="$blitz_inclist /usr/local/blitz/$lofar_compiler";
-    fi
-    blitz_inclist="$blitz_inclist /usr/local";
-  fi
-  for bdir in $blitz_inclist
-  do
-    ]AC_CHECK_FILE([$bdir/include/blitz/array.h],
-			[lfr_header_blitz=$bdir/include],
-			[lfr_header_blitz=no])[
-    if test "$lfr_header_blitz" != "no" ; then
-      if test "$with_blitz_libdir" = ""; then
-        with_blitz_libdir=$bdir/lib;
-        break;
-      fi
-    fi
-  done
-
-  if test "$with_blitz_libdir" != ""; then
-    ]AC_CHECK_FILE([$with_blitz_libdir/libblitz.a],
-			[lfr_lib_blitz=$with_blitz_libdir],
-			[lfr_lib_blitz=no])[
-  fi
-
-  if test "$lfr_header_blitz" != "no"  -a  "$lfr_lib_blitz" != "no" ; then
-    BLITZ_CPPFLAGS="-I$lfr_header_blitz"
-    BLITZ_CXXFLAGS=
-    if test "$lofar_compiler" = "gnu"; then
-      BLITZ_CXXFLAGS="-Wno-unused -ftemplate-depth-30"
-    fi
-    BLITZ_LDFLAGS="-L$lfr_lib_blitz"
-    BLITZ_LIBS="-lblitz -lm"
-
-    CPPFLAGS="$CPPFLAGS $BLITZ_CPPFLAGS"
-    CXXFLAGS="$CXXFLAGS $BLITZ_CXXFLAGS"
-    LDFLAGS="$LDFLAGS $BLITZ_LDFLAGS"
-    LIBS="$LIBS $BLITZ_LIBS"
-]
-dnl
-    AC_SUBST(CPPFLAGS)dnl
-    AC_SUBST(CXXFLAGS)dnl
-    AC_SUBST(LDFLAGS)dnl
-    AC_SUBST(LIBS)dnl
-dnl
-    AC_DEFINE(HAVE_BLITZ, 1, [Define if Blitz is installed])dnl
-[
-  else
-    if test "$enable_blitz" = "yes" ; then
-]
-      AC_MSG_ERROR([Could not find Blitz headers or library in $blitz_prefix])
-[
-    fi
-    enable_blitz=no
-  fi
-fi]
-AM_CONDITIONAL(HAVE_BLITZ, [test "$enable_blitz" = "yes"])
+lofar_EXTERNAL(BLITZ,[$lfr_option],blitz/blitz.h,,,,"gnu3:-Wno-unused gnu3:-ftemplate-depth-30",,-lm)
 ])
diff --git a/autoconf_share/lofar_fftw.m4 b/autoconf_share/lofar_fftw.m4
index d7d5bf92862f55ace9ca9f06fa59d5c9d2ca5471..8ce47b1af3fbf1718e8666fa76e0e9affefe1bcd 100644
--- a/autoconf_share/lofar_fftw.m4
+++ b/autoconf_share/lofar_fftw.m4
@@ -25,7 +25,7 @@
 #
 # Macro to check for FFTW and RFFTW installation
 #
-# lofar_FFTW(option, [DEFAULT-PREFIX])
+# lofar_FFTW(option)
 #     option 0 means that FFTW is optional, otherwise mandatory.
 #
 # e.g. lofar_FFTW(1)
@@ -35,107 +35,5 @@ AC_DEFUN(lofar_FFTW,dnl
 [dnl
 AC_PREREQ(2.13)dnl
 ifelse($1, [], [lfr_option=0], [lfr_option=$1])
-AC_ARG_WITH(fftw,
-	[  --with-fftw[=PFX]     prefix where FFTW is installed (default=]DEFAULT_FFTW_PREFIX[)],
-	[with_fftw=$withval],
-	[with_fftw=""])
-AC_ARG_WITH(fftw-libdir,
-	[  --with-fftw-libdir=PFX   prefix where FFTW library is installed],
-	[with_fftw_libdir=$withval],
-	[with_fftw_libdir=""])
-[
-enable_fftw=no
-if test "$lfr_option" = "1"; then
-  enable_fftw=yes
-fi
-if test "$with_fftw" != "no"; then
-  if test "$with_fftw" = ""; then
-    fftw_prefix=
-    if test "$with_fftw_libdir" != ""; then
-      enable_fftw=yes
-    fi
-  else
-    if test "$with_fftw" = "yes"; then
-      fftw_prefix=
-    else
-      fftw_prefix=$with_fftw
-    fi
-    enable_fftw=yes
-  fi
-##
-## Look for header file in suggested locations or in its include subdir
-##
-  fftw_inclist=$fftw_prefix;
-  if test "$fftw_prefix" = ""; then
-    fftw_inclist=
-    lfr_buildcomp=`echo $lofar_variant | sed -e "s/_.*//"`
-    if test "$lfr_buildcomp" != ""; then
-      fftw_inclist="/usr/local/fftw/$lfr_buildcomp";
-    fi
-    if test "$lfr_buildcomp" != "$lofar_compiler"; then
-      fftw_inclist="$fftw_inclist /usr/local/fftw/$lofar_compiler";
-    fi
-    fftw_inclist="$fftw_inclist /usr/local";
-  fi
-  for bdir in $fftw_inclist
-  do
-    ]AC_CHECK_FILE([$bdir/include/fftw.h],
-			[lfr_header_fftw=$bdir/include],
-			[lfr_header_fftw=no])[
-    if test "$lfr_header_fftw" != "no" ; then
-      ]AC_CHECK_FILE([$bdir/include/rfftw.h],
-			[lfr_header_fftw=$bdir/include],
-			[lfr_header_fftw=no])[
-      if test "$lfr_header_fftw" != "no" ; then
-        if test "$with_fftw_libdir" = ""; then
-          with_fftw_libdir=$bdir/lib;
-          break;
-        fi
-      fi
-    fi
-  done
-
-  if test "$with_fftw_libdir" != ""; then
-    ]AC_CHECK_FILE([$with_fftw_libdir/libfftw.a],
-			[lfr_lib_fftw=$with_fftw_libdir],
-			[lfr_lib_fftw=no])[
-    if test "$lfr_lib_fftw" != "no" ; then
-      ]AC_CHECK_FILE([$with_fftw_libdir/librfftw.a],
-			[lfr_lib_fftw=$with_fftw_libdir],
-			[lfr_lib_fftw=no])[
-    fi
-  fi
-
-  if test "$lfr_header_fftw" != "no"  -a  "$lfr_lib_fftw" != "no" ; then
-    FFTW_CPPFLAGS="-I$lfr_header_fftw"
-    FFTW_CXXFLAGS=
-    if test "$lofar_compiler" = "gnu"; then
-      FFTW_CXXFLAGS="-Wno-unused -ftemplate-depth-30"
-    fi
-    FFTW_LDFLAGS="-L$lfr_lib_fftw"
-    FFTW_LIBS="-lrfftw -lfftw -lm"
-
-    CPPFLAGS="$CPPFLAGS $FFTW_CPPFLAGS"
-    CXXFLAGS="$CXXFLAGS $FFTW_CXXFLAGS"
-    LDFLAGS="$LDFLAGS $FFTW_LDFLAGS"
-    LIBS="$LIBS $FFTW_LIBS"
-]
-dnl
-    AC_SUBST(CPPFLAGS)dnl
-    AC_SUBST(CXXFLAGS)dnl
-    AC_SUBST(LDFLAGS)dnl
-    AC_SUBST(LIBS)dnl
-dnl
-    AC_DEFINE(HAVE_FFTW, 1, [Define if FFTW is installed])dnl
-[
-  else
-    if test "$enable_fftw" = "yes" ; then
-]
-      AC_MSG_ERROR([Could not find FFTW headers or library in $fftw_prefix])
-[
-    fi
-    enable_fftw=no
-  fi
-fi]
-AM_CONDITIONAL(HAVE_FFTW, [test "$enable_fftw" = "yes"])
+lofar_EXTERNAL(FFTW,[$lfr_option],fftw.h,"fftw rfftw",,,,,-lm)
 ])
diff --git a/autoconf_share/lofar_qt.m4 b/autoconf_share/lofar_qt.m4
index 3dcaf4625ea89c64bd5c3c9d97e3c883fa92c202..ecefde7844f768d0699853d24492c84089379912 100644
--- a/autoconf_share/lofar_qt.m4
+++ b/autoconf_share/lofar_qt.m4
@@ -25,7 +25,7 @@
 #
 # Macro to check for QT installation
 #
-# lofar_QT([DEFAULT-PREFIX])
+# lofar_QT([OPTION,DEFAULT-PREFIX])
 #
 # e.g. lofar_QT(["/usr/local/qtr12"])
 # -------------------------
@@ -35,63 +35,5 @@ AC_DEFUN(lofar_QT,dnl
 AC_PREREQ(2.13)dnl
 ifelse($1, [], [qt_lfr_option=0], [qt_lfr_option=$1])
 ifelse($2, [], define(DEFAULT_QT_PREFIX,[/usr/lib/qt-2.3.1]), define(DEFAULT_QT_PREFIX,$2))
-AC_ARG_WITH(qt,
-	[  --with-qt[=PFX]     prefix where Qt is installed (default=]DEFAULT_QT_PREFIX[)],
-	[with_qt=$withval],
-	[with_qt=""])
-[
-if test "$with_qt" = "no"; then
-  enable_qt=no
-else
-  if test "$with_qt" = "yes"; then
-    qt_prefix=]DEFAULT_QT_PREFIX[
-  else
-   if test "$with_qt" = ""; then
-     if test $qt_lfr_option = "0"; then
-       enable_qt=no;
-     else   
-       enable_qt=yes;
-       qt_prefix=]DEFAULT_QT_PREFIX[
-     fi  
-   else
-     qt_prefix=$withval
-     enable_qt=yes
-   fi
-  fi
-]
-##
-## Check in normal location and suggested location
-##
-AC_CHECK_FILE([$qt_prefix/include/qt.h],
-			[lofar_cv_header_qt=yes],
-			[lofar_cv_header_qt=no])dnl
-[
-  if test $lofar_cv_header_qt = yes ; then
-
-	QT_PATH="$qt_prefix"
-
-	QT_CPPFLAGS="-I$QT_PATH/include"
-	QT_LDFLAGS="-L$QT_PATH/lib"
-	QT_LIBS="-lqt-mt"
-
-	CPPFLAGS="$CPPFLAGS $QT_CPPFLAGS"
-	LDFLAGS="$LDFLAGS $QT_LDFLAGS"
-	LIBS="$LIBS $QT_LIBS"
-	QT_DIR="$QT_PATH"
-]
-dnl
-AC_SUBST(CPPFLAGS)dnl
-AC_SUBST(LDFLAGS)dnl
-AC_SUBST(LIBS)dnl
-AC_SUBST(QT_DIR)dnl
-dnl
-AC_DEFINE(HAVE_QT, 1, [Define if Qt is installed])dnl
-[
-  else]
-AC_MSG_ERROR([Could not find Qt in $qt_prefix])
-[
-    enable_qt=no
-  fi
-fi]
-AM_CONDITIONAL(HAVE_QT, [test "$enable_qt" = "yes"])
+lofar_EXTERNAL(QT,[$qt_lfr_option],qt.h,qt-mt,DEFAULT_QT_PREFIX)
 ])
diff --git a/autoconf_share/lofar_xerces.m4 b/autoconf_share/lofar_xerces.m4
index 6bae2f01f16805e0a2f0e5f5ee0f49411189a497..098914ec1f44a9465f8ca2d0e1b6888221968448 100644
--- a/autoconf_share/lofar_xerces.m4
+++ b/autoconf_share/lofar_xerces.m4
@@ -39,53 +39,5 @@ AC_DEFUN(lofar_XERCES,dnl
 [dnl
 AC_PREREQ(2.13)dnl
 ifelse($1, [], define(DEFAULT_XERCES_PREFIX,[/usr/local/xerces]), define(DEFAULT_XERCES_PREFIX,$1))
-AC_ARG_WITH(xerces,
-	[  --with-xerces[=PFX]     prefix where Xerces is installed (default=]DEFAULT_XERCES_PREFIX[)],
-	[with_xerces=$withval],
-	[with_xerces="no"])
-[
-if test "$with_xerces" = "no"; then
-  enable_xerces=no
-else
-  if test "$with_xerces" = "yes"; then
-    xerces_prefix=]DEFAULT_XERCES_PREFIX
-[
-  else
-    xerces_prefix=$withval
-  fi
-  enable_xerces=yes
-]
-##
-## Check in normal location and suggested location
-##
-AC_CHECK_FILE([$xerces_prefix/include/xercesc/sax2/],
-			[lofar_cv_header_xerces=yes],
-			[lofar_cv_header_xerces=no])dnl
-[
-  if test $lofar_cv_header_xerces = yes ; then
-
-	XERCES_PATH="$xerces_prefix"
-
-	XERCES_CPPFLAGS="-I$XERCES_PATH/include"
-	XERCES_LDFLAGS="-L$XERCES_PATH/lib"
-	XERCES_LIBS="-lxerces"
-
-	CPPFLAGS="$CPPFLAGS $XERCES_CPPFLAGS"
-	LDFLAGS="$LDFLAGS $XERCES_LDFLAGS"
-	LIBS="$LIBS $XERCES_LIBS"
-]
-dnl
-AC_SUBST(CPPFLAGS)dnl
-AC_SUBST(LDFLAGS)dnl
-AC_SUBST(LIBS)dnl
-dnl
-AC_DEFINE(HAVE_XERCES, 1, [Define if Xerces is installed])dnl
-[
-  else]
-AC_MSG_ERROR([Could not find Xerces in $xerces_prefix])
-[
-    enable_xerces=no
-  fi
-fi]
-AM_CONDITIONAL(HAVE_XERCES, [test "$enable_xerces" = "yes"])
+lofar_EXTERNAL(XERCES,1,xercesc/sax2,,DEFAULT_XERCES_PREFIX)
 ])