diff --git a/legacy/efreet/ChangeLog b/legacy/efreet/ChangeLog
index fe01acafa9..db94316f88 100644
--- a/legacy/efreet/ChangeLog
+++ b/legacy/efreet/ChangeLog
@@ -5,3 +5,7 @@
2011-01-29 Brian Mattern
Fix bug when you have an empty in a menu
+
+2011-01-30 Carsten Haitzler (The Rasterman)
+
+ Fix tests to not build clearenv related code if not available
diff --git a/legacy/efreet/configure.ac b/legacy/efreet/configure.ac
index 173a6e5f51..bdb4d2dbb8 100644
--- a/legacy/efreet/configure.ac
+++ b/legacy/efreet/configure.ac
@@ -217,7 +217,7 @@ AC_SUBST(lt_enable_auto_import)
### Checks for library functions
AC_ISC_POSIX
AC_FUNC_ALLOCA
-AC_CHECK_FUNCS(strlcpy)
+AC_CHECK_FUNCS(strlcpy clearenv)
### Unit tests, coverage
diff --git a/legacy/efreet/src/tests/main.c b/legacy/efreet/src/tests/main.c
index f0093b0c1a..0daa61a0ce 100644
--- a/legacy/efreet/src/tests/main.c
+++ b/legacy/efreet/src/tests/main.c
@@ -1,5 +1,6 @@
#include "Efreet.h"
#include "Efreet_Mime.h"
+#include "config.h"
#include
#include
#include
@@ -83,12 +84,12 @@ environment_store(void)
{
char *env;
char **e;
-
+#ifdef HAVE_CLEARENV
EINA_LIST_FREE(environment, env)
free(env);
-
for (e = environ; *e; e++)
environment = eina_list_append(environment, strdup(*e));
+#endif
}
void
@@ -97,10 +98,11 @@ environment_restore(void)
Eina_List *l;
char *e;
if (!environment) return;
-
+#ifdef HAVE_CLEARENV
clearenv();
EINA_LIST_FOREACH(environment, l, e)
putenv(e);
+#endif
}
int