Index: trunk/src/trinityrealm/Makefile.am
===================================================================
--- trunk/src/trinityrealm/Makefile.am (revision 6)
+++ trunk/src/trinityrealm/Makefile.am (revision 8)
@@ -25,6 +25,4 @@
 $(POSTGRE_INCLUDES) \
 -I$(top_srcdir)/dep/include \
--I$(top_srcdir)/dep/ACE_wrappers \
--I$(top_builddir)/dep/ACE_wrappers \
 -I$(top_srcdir)/src/framework \
 -I$(top_srcdir)/src/shared \
@@ -45,9 +43,8 @@
 $(top_builddir)/src/framework/libmangosframework.a \
 $(top_builddir)/dep/src/sockets/libmangossockets.a \
-$(top_builddir)/dep/ACE_wrappers/ace/libACE.la \
 $(top_builddir)/dep/src/zthread/libZThread.la
 
 ## Linker flags
-trinity_realm_LDFLAGS = $(MYSQL_LIBS) $(POSTGRE_LIBS) $(ZLIB) $(COMPATLIB) $(SSLLIB)
+trinity_realm_LDFLAGS = $(MYSQL_LIBS) $(POSTGRE_LIBS) $(ZLIB) $(COMPATLIB) $(SSLLIB) $(ACE_LIBS)
 
 ## Additional files to install
Index: trunk/src/shared/Makefile.am
===================================================================
--- trunk/src/shared/Makefile.am (revision 6)
+++ trunk/src/shared/Makefile.am (revision 8)
@@ -31,6 +31,4 @@
 $(POSTGRE_INCLUDES) \
 -I$(top_srcdir)/dep/include \
--I$(top_srcdir)/dep/ACE_wrappers \
--I$(top_builddir)/dep/ACE_wrappers \
 -I$(top_srcdir)/src/framework
 
Index: trunk/src/game/Makefile.am
===================================================================
--- trunk/src/game/Makefile.am (revision 6)
+++ trunk/src/game/Makefile.am (revision 8)
@@ -31,6 +31,4 @@
 $(POSTGRE_INCLUDES) \
 -I$(top_srcdir)/dep/include \
--I$(top_srcdir)/dep/ACE_wrappers \
--I$(top_builddir)/dep/ACE_wrappers \
 -I$(top_srcdir)/src/framework \
 -I$(top_srcdir)/src/shared \
Index: trunk/src/trinitycore/Makefile.am
===================================================================
--- trunk/src/trinitycore/Makefile.am (revision 6)
+++ trunk/src/trinitycore/Makefile.am (revision 8)
@@ -25,6 +25,4 @@
 $(POSTGRE_INCLUDES) \
 -I$(top_srcdir)/dep/include \
--I$(top_srcdir)/dep/ACE_wrappers \
--I$(top_builddir)/dep/ACE_wrappers \
 -I$(top_srcdir)/src/shared \
 -I$(top_srcdir)/src/framework \
@@ -52,5 +50,4 @@
 $(top_builddir)/dep/src/sockets/libmangossockets.a \
 $(top_builddir)/dep/src/zthread/libZThread.la \
-$(top_builddir)/dep/ACE_wrappers/ace/libACE.la \
 $(top_builddir)/dep/src/g3dlite/libg3dlite.a
 
@@ -62,5 +59,5 @@
 
 ## Linker flags
-trinity_core_LDFLAGS = $(MYSQL_LIBS) $(POSTGRE_LIBS) $(ZLIB) $(COMPATLIB) $(SSLLIB) -export-dynamic
+trinity_core_LDFLAGS = $(MYSQL_LIBS) $(POSTGRE_LIBS) $(ZLIB) $(COMPATLIB) $(SSLLIB) $(ACE_LIBS) -export-dynamic
 
 ## Additional files to install
Index: trunk/configure.ac
===================================================================
--- trunk/configure.ac (revision 7)
+++ trunk/configure.ac (revision 8)
@@ -230,4 +230,40 @@
 AC_CHECK_FUNCS([atexit ftime gethostbyaddr gethostbyname gethostname gettimeofday memmove memset pow realpath select socket sqrt strchr strdup strerror strstr])
 
+## Check what to do with ACE library
+AC_LANG_PUSH([C++])
+AC_CHECK_HEADER([ace/Reactor.h], [tri_have_ace_headers=yes], [tri_have_ace_headers=no])
+AC_CHECK_LIB([ACE], [main], [tri_have_ace_lib=yes], [tri_have_ace_lib=no])
+AC_LANG_POP([C++])
+
+AC_MSG_CHECKING([whether to build ACE])
+if test X$tri_have_ace_headers = Xyes -a X$tri_have_ace_lib = Xyes;
+then
+  tri_need_to_build_ace=no
+  ACE_LIBS="-lACE"
+  ACE_INCLUDES=""
+  AC_MSG_RESULT([no])
+else
+  if test X$tri_have_ace_headers = Xno -a X$tri_have_ace_lib = Xno; then
+    tri_need_to_build_ace=yes
+    AC_MSG_RESULT([yes])
+  else
+    if test X$tri_have_ace_headers = Xyes; then
+       AC_MSG_ERROR([looks like you have ACE headers, but you do not have ACE libs installed])
+    else
+       tri_need_to_build_ace=yes
+       AC_MSG_RESULT([yes, over-install])
+    fi
+  fi
+fi
+
+if test X$tri_need_to_build_ace = Xyes; then
+   CXXFLAGS="-I\$(top_srcdir)/dep/ACE_wrappers -I\$(top_builddir)/dep/ACE_wrappers $CXXFLAGS"
+   ACE_LIBS="\$(top_builddir)/dep/ACE_wrappers/ace/libACE.la"
+else
+   ACE_LIBS="-lACE"
+fi
+
+AM_CONDITIONAL([TRI_BUILD_ACE], [test X$tri_need_to_build_ace = Xyes])
+
 ## Export defined variables
 AC_SUBST(ZLIB)
@@ -242,4 +278,5 @@
 AC_SUBST(MANGOSD_ENABLE_CLI)
 AC_SUBST(MANGOSD_ENABLE_RA)
+AC_SUBST(ACE_LIBS)
 
 ## Set output files.
@@ -270,5 +307,7 @@
 
 ## Configure ACE
-AC_CONFIG_SUBDIRS([dep/ACE_wrappers])
+if test X$tri_need_to_build_ace = Xyes; then
+  AC_CONFIG_SUBDIRS([dep/ACE_wrappers])
+fi
 
 ## Disabled Makefiles, until they are ready for a successful make and
Index: trunk/dep/Makefile.am
===================================================================
--- trunk/dep/Makefile.am (revision 6)
+++ trunk/dep/Makefile.am (revision 8)
@@ -18,5 +18,9 @@
 
 ## Sub-directories to parse
-SUBDIRS = include lib src ACE_wrappers
+SUBDIRS = include lib src
+
+if TRI_BUILD_ACE
+SUBDIRS += ACE_wrappers
+endif
 
 ## Additional files to include when running 'make dist'
