--- configure.ac.orig	2009-03-10 12:34:36.000000000 +0000
+++ configure.ac	2009-07-28 17:26:22.000000000 +0100
@@ -21,40 +21,14 @@
 
 # Include macros
 #sinclude(acx_pthread.m4)
-sinclude(acx_prog_cc_optim.m4)
 
 # Display pakage and version number
 AC_MSG_RESULT([*********** Configuring:  $PACKAGE $VERSION ($date) **********])
 
-# Initialize the list of compilers to consider
-cclist="cc gcc"
-
-# Backup and reset the input CFLAGS and LDFLAGS
-mycflags="$CFLAGS"
-CFLAGS=""
-myldflags="$LDFLAGS"
-LDFLAGS=""
-
-# Provide special option for the Linux Intel C compiler
-AC_MSG_CHECKING([for Linux Intel C compiler mode])
-AC_ARG_ENABLE(icc,
-	[AC_HELP_STRING([--enable-icc],
-	[Enable special mode for compilation with the Intel compiler \
-(off by default)])],
-        use_icc="yes"
-        cclist="icc $cclist"
-	AC_MSG_RESULT([yes]),
-        use_icc="no"
-	AC_MSG_RESULT([no]))
-
-# Checks for programs.
-# GCC is chosen last because it is likely to yield less optimized code
-AC_PROG_CC([$cclist])
 # C Compiler: Check that it is ANSI C
 AM_PROG_CC_STDC
 # C Compiler: Check that it is POSIX-compliant
 AC_ISC_POSIX
-ACX_PROG_CC_OPTIM
 AC_PROG_AWK
 AC_PROG_INSTALL
 AC_PROG_RANLIB
@@ -107,19 +81,9 @@
 
 # Link with gprof option
 if test "$use_gprof" = "yes"; then
-  if test "$use_icc" = "yes"; then
-    CFLAGS="$CFLAGS -pq"
-  else
-    CFLAGS="$CFLAGS -pg"
-  fi
   use_static="no"
 fi
 
-# Static linking option
-if test "$use_static" = "yes"; then
-  LDFLAGS="-static -shared-libgcc $LDFLAGS"
-fi
-
 # Override automatic CFLAGS and LDFLAGS with those of user
 #if test -n "$mycflags"; then
 #CFLAGS="$mycflags"
