aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac41
-rw-r--r--dep/Makefile.am6
-rw-r--r--src/game/Makefile.am2
-rw-r--r--src/shared/Makefile.am2
-rw-r--r--src/trinitycore/Makefile.am5
-rw-r--r--src/trinityrealm/Makefile.am5
6 files changed, 47 insertions, 14 deletions
diff --git a/configure.ac b/configure.ac
index ae43688e7cc..6407c951fb4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -229,6 +229,42 @@ AC_TYPE_SIGNAL
AC_FUNC_VPRINTF
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)
AC_SUBST(COMPATLIB)
@@ -241,6 +277,7 @@ AC_SUBST(DOXYGEN)
AC_SUBST(MANGOSD_DEBUG_INFO)
AC_SUBST(MANGOSD_ENABLE_CLI)
AC_SUBST(MANGOSD_ENABLE_RA)
+AC_SUBST(ACE_LIBS)
## Set output files.
AC_CONFIG_HEADERS([config.h])
@@ -269,7 +306,9 @@ AC_CONFIG_FILES([
])
## 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
# make dist run.
diff --git a/dep/Makefile.am b/dep/Makefile.am
index e0856407820..76b6eb6ff78 100644
--- a/dep/Makefile.am
+++ b/dep/Makefile.am
@@ -17,7 +17,11 @@
## Process this file with automake to produce Makefile.in
## 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'
# Nothing yet.
diff --git a/src/game/Makefile.am b/src/game/Makefile.am
index 6d9fc63af82..cffd1f7b093 100644
--- a/src/game/Makefile.am
+++ b/src/game/Makefile.am
@@ -30,8 +30,6 @@ libgame_a_CPPFLAGS = \
$(MYSQL_INCLUDES) \
$(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 \
-I$(top_srcdir)/src/shared/vmap
diff --git a/src/shared/Makefile.am b/src/shared/Makefile.am
index 4111be0798e..4df10557532 100644
--- a/src/shared/Makefile.am
+++ b/src/shared/Makefile.am
@@ -30,8 +30,6 @@ libshared_a_CPPFLAGS = \
$(MYSQL_INCLUDES) \
$(POSTGRE_INCLUDES) \
-I$(top_srcdir)/dep/include \
--I$(top_srcdir)/dep/ACE_wrappers \
--I$(top_builddir)/dep/ACE_wrappers \
-I$(top_srcdir)/src/framework
# libmangosshared library will later be reused by ...
diff --git a/src/trinitycore/Makefile.am b/src/trinitycore/Makefile.am
index 6f74bd1c658..6f69fd6021c 100644
--- a/src/trinitycore/Makefile.am
+++ b/src/trinitycore/Makefile.am
@@ -24,8 +24,6 @@ trinity_core_CPPFLAGS = \
$(MYSQL_INCLUDES) \
$(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 \
-I$(top_srcdir)/src/game \
@@ -51,7 +49,6 @@ $(top_builddir)/src/shared/vmap/libvmaps.a \
$(top_builddir)/src/framework/libmangosframework.a \
$(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
if USE_TSCRIPTS
@@ -61,7 +58,7 @@ trinity_core_LDADD += $(top_builddir)/src/bindings/interface/libtrinityscript.la
endif
## 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
sysconf_DATA = \
diff --git a/src/trinityrealm/Makefile.am b/src/trinityrealm/Makefile.am
index e8ba49aa509..8a2b78359ef 100644
--- a/src/trinityrealm/Makefile.am
+++ b/src/trinityrealm/Makefile.am
@@ -24,8 +24,6 @@ trinity_realm_CPPFLAGS = \
$(MYSQL_INCLUDES) \
$(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 \
-D_TRINITY_REALM_CONFIG='"$(sysconfdir)/trinityrealm.conf"'
@@ -44,11 +42,10 @@ trinity_realm_LDADD = \
$(top_builddir)/src/shared/libshared.a \
$(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
sysconf_DATA = \