diff options
-rw-r--r-- | configure.ac | 41 | ||||
-rw-r--r-- | dep/Makefile.am | 6 | ||||
-rw-r--r-- | src/game/Makefile.am | 2 | ||||
-rw-r--r-- | src/shared/Makefile.am | 2 | ||||
-rw-r--r-- | src/trinitycore/Makefile.am | 5 | ||||
-rw-r--r-- | src/trinityrealm/Makefile.am | 5 |
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 = \ |