diff --git a/AUTHORS b/Authors.md
similarity index 100%
rename from AUTHORS
rename to Authors.md
diff --git a/THANKS b/Thanks.md
similarity index 100%
rename from THANKS
rename to Thanks.md
diff --git a/cmake/FindGit.cmake b/cmake/FindGit.cmake
new file mode 100644
index 000000000..2d8214287
--- /dev/null
+++ b/cmake/FindGit.cmake
@@ -0,0 +1,46 @@
+# The module defines the following variables:
+# GIT_EXECUTABLE - path to git command line client
+# GIT_FOUND - true if the command line client was found
+# Example usage:
+# find_package(Git)
+# if(GIT_FOUND)
+# message("git found: ${GIT_EXECUTABLE}")
+# endif()
+
+#=============================================================================
+# Copyright 2010 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distributed this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# Look for 'git' or 'eg' (easy git)
+#
+set(git_names git eg)
+
+# Prefer .cmd variants on Windows unless running in a Makefile
+# in the MSYS shell.
+#
+if(WIN32)
+ if(NOT CMAKE_GENERATOR MATCHES "MSYS")
+ set(git_names git.cmd git eg.cmd eg)
+ endif()
+endif()
+
+find_program(GIT_EXECUTABLE
+ NAMES ${git_names}
+ DOC "git command line client"
+ )
+mark_as_advanced(GIT_EXECUTABLE)
+
+# Handle the QUIETLY and REQUIRED arguments and set GIT_FOUND to TRUE if
+# all listed variables are TRUE
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Git DEFAULT_MSG GIT_EXECUTABLE)
diff --git a/cmake/FindOpenSSL.cmake b/cmake/FindOpenSSL.cmake
new file mode 100644
index 000000000..d15f8a13d
--- /dev/null
+++ b/cmake/FindOpenSSL.cmake
@@ -0,0 +1,107 @@
+#
+# Find the OpenSSL client includes and library
+#
+
+# This module defines
+# OPENSSL_INCLUDE_DIR, where to find openssl.h
+# OPENSSL_LIBRARIES, the libraries to link against to connect to MySQL
+# OPENSSL_FOUND, if false, you cannot build anything that requires MySQL.
+
+# also defined, but not for general use are
+# OPENSSL_LIBRARY, where to find the MySQL library.
+
+if( OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES )
+ # in cache already
+ set(OPENSSL_FOUND 1)
+else( OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES )
+ set(OPENSSL_FOUND 0)
+
+ if(WIN32)
+ if(PLATFORM MATCHES X64)
+ set(TMP_OPENSSL_INCLUDE_DIR
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;InstallLocation]/include/openssl"
+ )
+ set(TMP_OPENSSL_LIBRARIES
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;InstallLocation]/lib"
+ )
+ else()
+ set(TMP_OPENSSL_INCLUDE_DIR
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/include/openssl"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/include/openssl"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/include/openssl"
+ )
+ set(TMP_OPENSSL_LIBRARIES
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/lib"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]/lib"
+ )
+ endif()
+ endif()
+
+ find_path(OPENSSL_INCLUDE_DIR
+ NAMES
+ ssl.h
+ PATHS
+ /usr/include
+ /usr/include/openssl
+ /usr/local/include
+ /usr/local/include/openssl
+ /usr/local/openssl/include
+ ${TMP_OPENSSL_INCLUDE_DIR}
+ DOC
+ "Specify the directory containing openssl.h."
+ )
+
+ find_library(OPENSSL_LIBRARIES
+ NAMES
+ ssleay32
+ ssl
+ PATHS
+ /usr/lib
+ /usr/lib/ssl
+ /usr/local/lib
+ /usr/local/lib/ssl
+ /usr/local/ssl/lib
+ ${TMP_OPENSSL_LIBRARIES}
+ DOC "Specify the OpenSSL library here."
+ )
+
+ if( WIN32 )
+ find_library(OPENSSL_EXTRA_LIBRARIES
+ NAMES
+ libeay32
+ PATHS
+ ${TMP_OPENSSL_LIBRARIES}
+ DOC
+ "if more libraries are necessary to link in a OpenSSL client, specify them here."
+ )
+ endif( WIN32 )
+
+ if( UNIX )
+ find_library(OPENSSL_EXTRA_LIBRARIES
+ NAMES
+ crypto
+ PATHS
+ /usr/lib
+ /usr/lib/ssl
+ /usr/local/lib
+ /usr/local/lib/ssl
+ /usr/local/ssl/lib
+ ${TMP_OPENSSL_LIBRARIES}
+ DOC "if more libraries are necessary to link in a OpenSSL client, specify them here."
+ )
+ endif()
+
+ if( OPENSSL_LIBRARIES )
+ if( OPENSSL_INCLUDE_DIR )
+ set( OPENSSL_FOUND 1 )
+ message(STATUS "Found OpenSSL library: ${OPENSSL_LIBRARIES}")
+ message(STATUS "Found OpenSSL headers: ${OPENSSL_INCLUDE_DIR}")
+ else ( OPENSSL_INCLUDE_DIR )
+ message(FATAL_ERROR "Could not find OpenSSL headers! Please install the development-headers")
+ endif( OPENSSL_INCLUDE_DIR )
+ else( OPENSSL_LIBRARIES )
+ message(FATAL_ERROR "Could not find OpenSSL libraries! Please install the library before continuing")
+ endif( OPENSSL_LIBRARIES )
+ mark_as_advanced( OPENSSL_FOUND OPENSSL_LIBRARIES OPENSSL_EXTRA_LIBRARIES OPENSSL_INCLUDE_DIR )
+endif( OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES )
diff --git a/cmake/FindPCHSupport.cmake b/cmake/FindPCHSupport.cmake
index a75940eb4..b068b69c2 100644
--- a/cmake/FindPCHSupport.cmake
+++ b/cmake/FindPCHSupport.cmake
@@ -1,325 +1,104 @@
-# - Try to find precompiled headers support for GCC 3.4 and 4.x
-# Once done this will define:
-#
-# Variable:
-# PCHSupport_FOUND
-#
-# Macro:
-# ADD_PRECOMPILED_HEADER _targetName _input _dowarn
-# ADD_PRECOMPILED_HEADER_TO_TARGET _targetName _input _pch_output_to_use _dowarn
-# ADD_NATIVE_PRECOMPILED_HEADER _targetName _input _dowarn
-# GET_NATIVE_PRECOMPILED_HEADER _targetName _input
+FUNCTION(GET_COMMON_PCH_PARAMS PCH_HEADER PCH_FE INCLUDE_PREFIX)
+ GET_FILENAME_COMPONENT(PCH_HEADER_N ${PCH_HEADER} NAME)
+ GET_DIRECTORY_PROPERTY(TARGET_INCLUDES INCLUDE_DIRECTORIES)
-IF(CMAKE_COMPILER_IS_GNUCXX)
+ FOREACH(ITEM ${TARGET_INCLUDES})
+ LIST(APPEND INCLUDE_FLAGS_LIST "${INCLUDE_PREFIX}\"${ITEM}\" ")
+ ENDFOREACH(ITEM)
- EXEC_PROGRAM(
- ${CMAKE_CXX_COMPILER}
- ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
- OUTPUT_VARIABLE gcc_compiler_version)
- #MESSAGE("GCC Version: ${gcc_compiler_version}")
- IF(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]")
- SET(PCHSupport_FOUND TRUE)
- ELSE(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]")
- IF(gcc_compiler_version MATCHES "3\\.4\\.[0-9]")
- SET(PCHSupport_FOUND TRUE)
- ENDIF(gcc_compiler_version MATCHES "3\\.4\\.[0-9]")
- ENDIF(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]")
+ SET(PCH_HEADER_NAME ${PCH_HEADER_N} PARENT_SCOPE)
+ SET(PCH_HEADER_OUT ${CMAKE_CURRENT_BINARY_DIR}/${PCH_HEADER_N}.${PCH_FE} PARENT_SCOPE)
+ SET(INCLUDE_FLAGS ${INCLUDE_FLAGS_LIST} PARENT_SCOPE)
+ENDFUNCTION(GET_COMMON_PCH_PARAMS)
- SET(_PCH_include_prefix "-I")
+FUNCTION(GENERATE_CXX_PCH_COMMAND TARGET_NAME INCLUDE_FLAGS IN PCH_SRC OUT)
+ IF (CMAKE_BUILD_TYPE)
+ STRING(TOUPPER _${CMAKE_BUILD_TYPE} CURRENT_BUILD_TYPE)
+ ENDIF ()
-ELSE(CMAKE_COMPILER_IS_GNUCXX)
- IF(WIN32)
- SET(PCHSupport_FOUND TRUE) # for experimental msvc support
- SET(_PCH_include_prefix "/I")
- ELSE(WIN32)
- SET(PCHSupport_FOUND FALSE)
- ENDIF(WIN32)
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+ SET(COMPILE_FLAGS ${CMAKE_CXX_FLAGS${CURRENT_BUILD_TYPE}})
+ LIST(APPEND COMPILE_FLAGS ${CMAKE_CXX_FLAGS})
+ IF ("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
+ IF (NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
+ LIST(APPEND COMPILE_FLAGS "-arch ${CMAKE_OSX_ARCHITECTURES}")
+ ENDIF ()
+ IF (NOT "${CMAKE_OSX_SYSROOT}" STREQUAL "")
+ LIST(APPEND COMPILE_FLAGS "-isysroot ${CMAKE_OSX_SYSROOT}")
+ ENDIF ()
+ IF (NOT "${CMAKE_OSX_DEPLOYMENT_TARGET}" STREQUAL "")
+ LIST(APPEND COMPILE_FLAGS "-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}")
+ ENDIF ()
+ ENDIF ()
-MACRO(_PCH_GET_COMPILE_FLAGS _out_compile_flags)
+ GET_DIRECTORY_PROPERTY(TARGET_DEFINITIONS COMPILE_DEFINITIONS)
+ FOREACH(ITEM ${TARGET_DEFINITIONS})
+ LIST(APPEND DEFINITION_FLAGS "-D${ITEM} ")
+ ENDFOREACH(ITEM)
- STRING(TOUPPER ${CMAKE_BUILD_TYPE} _build_type)
- STRING(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" _flags_var_name)
- SET(${_out_compile_flags} ${${_flags_var_name}} )
+ SEPARATE_ARGUMENTS(COMPILE_FLAGS)
+ SEPARATE_ARGUMENTS(INCLUDE_FLAGS)
+ SEPARATE_ARGUMENTS(DEFINITION_FLAGS)
- IF(CMAKE_COMPILER_IS_GNUCXX)
+ GET_FILENAME_COMPONENT(PCH_SRC_N ${PCH_SRC} NAME)
+ ADD_LIBRARY(${PCH_SRC_N}_dephelp MODULE ${PCH_SRC})
- GET_TARGET_PROPERTY(_targetType ${_PCH_current_target} TYPE)
- IF(${_targetType} STREQUAL SHARED_LIBRARY)
- LIST(APPEND ${_out_compile_flags} "${${_out_compile_flags}} -fPIC")
- ENDIF(${_targetType} STREQUAL SHARED_LIBRARY)
-
- ELSE(CMAKE_COMPILER_IS_GNUCXX)
- ## TODO ... ? or does it work out of the box
- ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-
- GET_DIRECTORY_PROPERTY(DIRINC INCLUDE_DIRECTORIES)
- FOREACH(item ${DIRINC})
- LIST(APPEND ${_out_compile_flags} "${_PCH_include_prefix}${item}")
- ENDFOREACH(item)
-
- GET_DIRECTORY_PROPERTY(_directory_flags COMPILE_DEFINITIONS)
- GET_DIRECTORY_PROPERTY(_directory_flags_type COMPILE_DEFINITIONS_${_build_type})
- LIST(APPEND _directory_flags ${_directory_flags_type})
- # MESSAGE("_directory_flags ${_directory_flags}" )
-
- FOREACH(define ${_directory_flags})
- STRING(REPLACE "\"" "\\\"" escaped_define ${define})
- LIST(APPEND ${_out_compile_flags} -D${escaped_define})
- ENDFOREACH(define)
- LIST(APPEND ${_out_compile_flags} ${CMAKE_CXX_FLAGS} )
-
- SEPARATE_ARGUMENTS(${_out_compile_flags})
-
-ENDMACRO(_PCH_GET_COMPILE_FLAGS)
-
-
-MACRO(_PCH_WRITE_PCHDEP_CXX _targetName _include_file _dephelp)
-
- SET(${_dephelp} ${CMAKE_CURRENT_BINARY_DIR}/${_targetName}_pch_dephelp.cxx)
- FILE(WRITE ${${_dephelp}}
-"#include \"${_include_file}\"
-int testfunction()
-{
- return 0;
-}
-"
- )
-
-ENDMACRO(_PCH_WRITE_PCHDEP_CXX )
-
-MACRO(_PCH_GET_COMPILE_COMMAND out_command _input _output)
-
- FILE(TO_NATIVE_PATH ${_input} _native_input)
- FILE(TO_NATIVE_PATH ${_output} _native_output)
-
-
- IF(CMAKE_COMPILER_IS_GNUCXX)
- IF(CMAKE_CXX_COMPILER_ARG1)
- # remove leading space in compiler argument
- STRING(REGEX REPLACE "^ +" "" pchsupport_compiler_cxx_arg1 ${CMAKE_CXX_COMPILER_ARG1})
-
- SET(${out_command}
- ${CMAKE_CXX_COMPILER} ${pchsupport_compiler_cxx_arg1} ${_compile_FLAGS} -x c++-header -o ${_output} ${_input}
- )
- ELSE(CMAKE_CXX_COMPILER_ARG1)
- SET(${out_command}
- ${CMAKE_CXX_COMPILER} ${_compile_FLAGS} -x c++-header -o ${_output} ${_input}
- )
- ENDIF(CMAKE_CXX_COMPILER_ARG1)
- ELSE(CMAKE_COMPILER_IS_GNUCXX)
-
- SET(_dummy_str "#include <${_input}>")
- FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/pch_dummy.cpp ${_dummy_str})
-
- SET(${out_command}
- ${CMAKE_CXX_COMPILER} ${_compile_FLAGS} /c /Fp${_native_output} /Yc${_native_input} pch_dummy.cpp
- )
- #/out:${_output}
-
- ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-
-ENDMACRO(_PCH_GET_COMPILE_COMMAND )
-
-
-
-MACRO(_PCH_GET_TARGET_COMPILE_FLAGS _cflags _header_name _pch_path _dowarn )
-
- FILE(TO_NATIVE_PATH ${_pch_path} _native_pch_path)
-
- IF(CMAKE_COMPILER_IS_GNUCXX)
- # for use with distcc and gcc >4.0.1 if preprocessed files are accessible
- # on all remote machines set
- # PCH_ADDITIONAL_COMPILER_FLAGS to -fpch-preprocess
- # if you want warnings for invalid header files (which is very inconvenient
- # if you have different versions of the headers for different build types
- # you may set _pch_dowarn
- IF (_dowarn)
- SET(${_cflags} "${PCH_ADDITIONAL_COMPILER_FLAGS} -include ${CMAKE_CURRENT_BINARY_DIR}/${_header_name} -Winvalid-pch " )
- ELSE (_dowarn)
- SET(${_cflags} "${PCH_ADDITIONAL_COMPILER_FLAGS} -include ${CMAKE_CURRENT_BINARY_DIR}/${_header_name} " )
- ENDIF (_dowarn)
- ELSE(CMAKE_COMPILER_IS_GNUCXX)
-
- set(${_cflags} "/Fp${_native_pch_path} /Yu${_header_name}" )
-
- ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-
-ENDMACRO(_PCH_GET_TARGET_COMPILE_FLAGS )
-
-MACRO(GET_PRECOMPILED_HEADER_OUTPUT _targetName _input _output)
- GET_FILENAME_COMPONENT(_name ${_input} NAME)
- GET_FILENAME_COMPONENT(_path ${_input} PATH)
- SET(_output "${CMAKE_CURRENT_BINARY_DIR}/${_name}.gch/${_targetName}_${CMAKE_BUILD_TYPE}.h++")
-ENDMACRO(GET_PRECOMPILED_HEADER_OUTPUT _targetName _input)
-
-
-MACRO(ADD_PRECOMPILED_HEADER_TO_TARGET _targetName _input _pch_output_to_use )
-
- # to do: test whether compiler flags match between target _targetName
- # and _pch_output_to_use
- GET_FILENAME_COMPONENT(_name ${_input} NAME)
-
- IF( "${ARGN}" STREQUAL "0")
- SET(_dowarn 0)
- ELSE( "${ARGN}" STREQUAL "0")
- SET(_dowarn 1)
- ENDIF("${ARGN}" STREQUAL "0")
-
-
- _PCH_GET_TARGET_COMPILE_FLAGS(_target_cflags ${_name} ${_pch_output_to_use} ${_dowarn})
- # MESSAGE("Add flags ${_target_cflags} to ${_targetName} " )
- SET_TARGET_PROPERTIES(${_targetName}
- PROPERTIES
- COMPILE_FLAGS ${_target_cflags}
- )
-
- ADD_CUSTOM_TARGET(pch_Generate_${_targetName}
- DEPENDS ${_pch_output_to_use}
- )
-
- ADD_DEPENDENCIES(${_targetName} pch_Generate_${_targetName} )
-
-ENDMACRO(ADD_PRECOMPILED_HEADER_TO_TARGET)
-
-MACRO(ADD_PRECOMPILED_HEADER _targetName _input)
-
- SET(_PCH_current_target ${_targetName})
-
- IF(NOT CMAKE_BUILD_TYPE)
- MESSAGE(FATAL_ERROR
- "This is the ADD_PRECOMPILED_HEADER macro. "
- "You must set CMAKE_BUILD_TYPE!"
- )
- ENDIF(NOT CMAKE_BUILD_TYPE)
-
- IF( "${ARGN}" STREQUAL "0")
- SET(_dowarn 0)
- ELSE( "${ARGN}" STREQUAL "0")
- SET(_dowarn 1)
- ENDIF("${ARGN}" STREQUAL "0")
-
-
- GET_FILENAME_COMPONENT(_name ${_input} NAME)
- GET_FILENAME_COMPONENT(_path ${_input} PATH)
- GET_PRECOMPILED_HEADER_OUTPUT( ${_targetName} ${_input} _output)
-
- GET_FILENAME_COMPONENT(_outdir ${_output} PATH )
-
- GET_TARGET_PROPERTY(_targetType ${_PCH_current_target} TYPE)
- _PCH_WRITE_PCHDEP_CXX(${_targetName} ${_input} _pch_dephelp_cxx)
-
- IF(${_targetType} STREQUAL SHARED_LIBRARY)
- ADD_LIBRARY(${_targetName}_pch_dephelp SHARED ${_pch_dephelp_cxx} )
- ELSE(${_targetType} STREQUAL SHARED_LIBRARY)
- ADD_LIBRARY(${_targetName}_pch_dephelp STATIC ${_pch_dephelp_cxx})
- ENDIF(${_targetType} STREQUAL SHARED_LIBRARY)
-
- FILE(MAKE_DIRECTORY ${_outdir})
-
-
- _PCH_GET_COMPILE_FLAGS(_compile_FLAGS)
-
- #MESSAGE("_compile_FLAGS: ${_compile_FLAGS}")
- #message("COMMAND ${CMAKE_CXX_COMPILER} ${_compile_FLAGS} -x c++-header -o ${_output} ${_input}")
- SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/${_name} PROPERTIES GENERATED 1)
ADD_CUSTOM_COMMAND(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_name}
- COMMAND ${CMAKE_COMMAND} -E copy ${_input} ${CMAKE_CURRENT_BINARY_DIR}/${_name} # ensure same directory! Required by gcc
- DEPENDS ${_input}
+ OUTPUT ${OUT}
+ COMMAND ${CMAKE_CXX_COMPILER}
+ ARGS ${DEFINITION_FLAGS} ${COMPILE_FLAGS} ${INCLUDE_FLAGS} -x c++-header ${IN} -o ${OUT}
+ DEPENDS ${IN} ${PCH_SRC_N}_dephelp
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
- #message("_command ${_input} ${_output}")
- _PCH_GET_COMPILE_COMMAND(_command ${CMAKE_CURRENT_BINARY_DIR}/${_name} ${_output} )
+ ADD_CUSTOM_TARGET(generate_${PCH_SRC_N}
+ DEPENDS ${OUT}
+ )
- #message(${_input} )
- #message("_output ${_output}")
+ ADD_DEPENDENCIES(${TARGET_NAME} generate_${PCH_SRC_N})
+ENDFUNCTION(GENERATE_CXX_PCH_COMMAND)
- ADD_CUSTOM_COMMAND(
- OUTPUT ${_output}
- COMMAND ${_command}
- DEPENDS ${_input} ${CMAKE_CURRENT_BINARY_DIR}/${_name} ${_targetName}_pch_dephelp
- )
+FUNCTION(ADD_CXX_PCH_GCC TARGET_NAME PCH_HEADER PCH_SOURCE)
+ GET_COMMON_PCH_PARAMS(${PCH_HEADER} "gch" "-I")
+ GENERATE_CXX_PCH_COMMAND(${TARGET_NAME} "${INCLUDE_FLAGS}" ${PCH_HEADER} ${PCH_SOURCE} ${PCH_HEADER_OUT})
+ SET_TARGET_PROPERTIES(
+ ${TARGET_NAME} PROPERTIES
+ COMPILE_FLAGS "-include ${CMAKE_CURRENT_BINARY_DIR}/${PCH_HEADER_NAME}"
+ )
+ENDFUNCTION(ADD_CXX_PCH_GCC)
+FUNCTION(ADD_CXX_PCH_CLANG TARGET_NAME PCH_HEADER PCH_SOURCE)
+ GET_COMMON_PCH_PARAMS(${PCH_HEADER} "pch" "-I")
+ GENERATE_CXX_PCH_COMMAND(${TARGET_NAME} "${INCLUDE_FLAGS}" ${PCH_HEADER} ${PCH_SOURCE} ${PCH_HEADER_OUT})
+ SET_TARGET_PROPERTIES(
+ ${TARGET_NAME} PROPERTIES
+ COMPILE_FLAGS "-include-pch ${PCH_HEADER_OUT}"
+ )
+ENDFUNCTION(ADD_CXX_PCH_CLANG)
- ADD_PRECOMPILED_HEADER_TO_TARGET(${_targetName} ${_input} ${_output} ${_dowarn})
-ENDMACRO(ADD_PRECOMPILED_HEADER)
+FUNCTION(ADD_CXX_PCH_MSVC TARGET_NAME PCH_HEADER PCH_SOURCE)
+ GET_COMMON_PCH_PARAMS(${PCH_HEADER} "pch" "/I")
+ SET_TARGET_PROPERTIES(
+ ${TARGET_NAME} PROPERTIES
+ COMPILE_FLAGS "/FI${PCH_HEADER_NAME} /Yu${PCH_HEADER_NAME}"
+ )
+ SET_SOURCE_FILES_PROPERTIES(
+ ${PCH_SOURCE} PROPERTIES
+ COMPILE_FLAGS "/Yc${PCH_HEADER_NAME}"
+ )
+ENDFUNCTION(ADD_CXX_PCH_MSVC)
-
-# Generates the use of precompiled in a target,
-# without using depency targets (2 extra for each target)
-# Using Visual, must also add ${_targetName}_pch to sources
-# Not needed by Xcode
-
-MACRO(GET_NATIVE_PRECOMPILED_HEADER _targetName _input)
-
- if(CMAKE_GENERATOR MATCHES Visual*)
-
- SET(_dummy_str "#include \"${_input}\"\n"
- "// This is required to suppress LNK4221. Very annoying.\n"
- "void *g_${_targetName}Dummy = 0\;\n")
-
- # Use of cxx extension for generated files (as Qt does)
- SET(${_targetName}_pch ${CMAKE_CURRENT_BINARY_DIR}/${_targetName}_pch.cxx)
- if(EXISTS ${${_targetName}_pch})
- # Check if contents is the same, if not rewrite
- # todo
- else(EXISTS ${${_targetName}_pch})
- FILE(WRITE ${${_targetName}_pch} ${_dummy_str})
- endif(EXISTS ${${_targetName}_pch})
- endif(CMAKE_GENERATOR MATCHES Visual*)
-
-ENDMACRO(GET_NATIVE_PRECOMPILED_HEADER)
-
-
-MACRO(ADD_NATIVE_PRECOMPILED_HEADER _targetName _input)
-
- IF( "${ARGN}" STREQUAL "0")
- SET(_dowarn 0)
- ELSE( "${ARGN}" STREQUAL "0")
- SET(_dowarn 1)
- ENDIF("${ARGN}" STREQUAL "0")
-
- if(CMAKE_GENERATOR MATCHES Visual*)
- # Auto include the precompile (useful for moc processing, since the use of
- # precompiled is specified at the target level
- # and I don't want to specifiy /F- for each moc/res/ui generated files (using Qt)
-
- GET_TARGET_PROPERTY(oldProps ${_targetName} COMPILE_FLAGS)
- if (${oldProps} MATCHES NOTFOUND)
- SET(oldProps "")
- endif(${oldProps} MATCHES NOTFOUND)
-
- SET(newProperties "${oldProps} /Yu\"${_input}\" /FI\"${_input}\"")
- SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS "${newProperties}")
-
- #also inlude ${oldProps} to have the same compile options
- SET_SOURCE_FILES_PROPERTIES(${${_targetName}_pch} PROPERTIES COMPILE_FLAGS "${oldProps} /Yc\"${_input}\"")
-
- else(CMAKE_GENERATOR MATCHES Visual*)
-
- if (CMAKE_GENERATOR MATCHES Xcode)
- # For Xcode, cmake needs my patch to process
- # GCC_PREFIX_HEADER and GCC_PRECOMPILE_PREFIX_HEADER as target properties
-
- GET_TARGET_PROPERTY(oldProps ${_targetName} COMPILE_FLAGS)
- if (${oldProps} MATCHES NOTFOUND)
- SET(oldProps "")
- endif(${oldProps} MATCHES NOTFOUND)
-
- # When buiding out of the tree, precompiled may not be located
- # Use full path instead.
- GET_FILENAME_COMPONENT(fullPath ${_input} ABSOLUTE)
-
- SET_TARGET_PROPERTIES(${_targetName} PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${fullPath}")
- SET_TARGET_PROPERTIES(${_targetName} PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER "YES")
-
- else (CMAKE_GENERATOR MATCHES Xcode)
-
- #Fallback to the "old" precompiled suppport
- #ADD_PRECOMPILED_HEADER(${_targetName} ${_input} ${_dowarn})
- endif(CMAKE_GENERATOR MATCHES Xcode)
- endif(CMAKE_GENERATOR MATCHES Visual*)
-
-ENDMACRO(ADD_NATIVE_PRECOMPILED_HEADER)
+FUNCTION(ADD_CXX_PCH TARGET_NAME PCH_HEADER PCH_SOURCE)
+ IF (MSVC)
+ ADD_CXX_PCH_MSVC(${TARGET_NAME} ${PCH_HEADER} ${PCH_SOURCE})
+ ELSEIF ("${CMAKE_GENERATOR}" MATCHES "Xcode")
+ SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES
+ XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/${PCH_HEADER}"
+ )
+ ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
+ ADD_CXX_PCH_CLANG(${TARGET_NAME} ${PCH_HEADER} ${PCH_SOURCE})
+ ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
+ ADD_CXX_PCH_GCC(${TARGET_NAME} ${PCH_HEADER} ${PCH_SOURCE})
+ ENDIF ()
+ENDFUNCTION(ADD_CXX_PCH)
diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake
deleted file mode 100644
index 95708f02d..000000000
--- a/cmake/FindTBB.cmake
+++ /dev/null
@@ -1,90 +0,0 @@
-# Locate Intel Threading Building Blocks include paths and libraries
-# CPPunit can be found at http://cppunit.sourceforge.net
-# Written by Michael Hammer, michael _at_ derhammer.net
-
-# This module defines
-# TBB_INCLUDE_DIR, where to find ptlib.h, etc.
-# TBB_LIBRARIES, the libraries to link against to use pwlib.
-# TBB_FOUND, If false, don't try to use pwlib.
-
-FIND_PATH(TBB_INCLUDE_DIR tbb/task_scheduler_init.h
- /usr/local/include
- /usr/include
- ${TBB_ROOT}
- ${TBB_ROOT}/include
- $ENV{TBB_ROOT}
- $ENV{TBB_ROOT}/include
- # ${CMAKE_SOURCE_DIR}/dep/tbb/include
-)
-
-FIND_LIBRARY(TBB_LIBRARIES
- NAMES
- tbb
- PATHS
- /usr/local/lib
- /usr/lib
- ${TBB_ROOT}
- ${TBB_ROOT}/lib
- $ENV{TBB_ROOT}
- $ENV{TBB_ROOT}/lib
- # ${CMAKE_SOURCE_DIR}/dep/tbb/build/vsproject/ia32/Release
-)
-
-FIND_LIBRARY(TBB_EXTRA_LIBRARIES
- NAMES
- tbbmalloc
- PATHS
- /usr/local/lib
- /usr/lib
- ${TBB_ROOT}
- ${TBB_ROOT}/lib
- $ENV{TBB_ROOT}
- $ENV{TBB_ROOT}/lib
- # ${CMAKE_SOURCE_DIR}/dep/tbb/build/vsproject/ia32/Release
-)
-
-FIND_LIBRARY(TBB_LIBRARIES_DEBUG
- NAMES
- tbb_debug
- PATHS
- /usr/local/lib
- /usr/lib
- ${TBB_ROOT}
- ${TBB_ROOT}/lib
- $ENV{TBB_ROOT}
- $ENV{TBB_ROOT}/lib
- # ${CMAKE_SOURCE_DIR}/dep/tbb/build/vsproject/ia32/Debug
-)
-
-FIND_LIBRARY(TBB_EXTRA_LIBRARIES_DEBUG
- NAMES
- tbbmalloc_debug
- PATHS
- /usr/local/lib
- /usr/lib
- ${TBB_ROOT}
- ${TBB_ROOT}/lib
- $ENV{TBB_ROOT}
- $ENV{TBB_ROOT}/lib
- # ${CMAKE_SOURCE_DIR}/dep/tbb/build/vsproject/ia32/Debug
-)
-
-SET(TBB_FOUND 0)
-IF(TBB_INCLUDE_DIR)
- IF(TBB_LIBRARIES)
- SET(TBB_FOUND 1)
- MESSAGE(STATUS "Found Intel TBB")
- SET(TBB_LIBRARIES
- ${TBB_LIBRARIES}
- ${TBB_EXTRA_LIBRARIES}
- )
- ENDIF(TBB_LIBRARIES)
-ENDIF(TBB_INCLUDE_DIR)
-
-MARK_AS_ADVANCED(
- TBB_INCLUDE_DIR
- TBB_LIBRARIES
- TBB_EXTRA_LIBRARIES
- TBB_LIBRARIES_DEBUG
- TBB_EXTRA_LIBRARIES_DEBUG
-)
diff --git a/cmake/ImportACE.cmake b/cmake/ImportACE.cmake
index 3364808b1..14ab44546 100644
--- a/cmake/ImportACE.cmake
+++ b/cmake/ImportACE.cmake
@@ -20,24 +20,18 @@
# add_dependencies(ace ACE_Project)
# set_target_properties(ace PROPERTIES DEPENDS ACE_Project)
-if(WIN32)
- set(ACE_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/dep/ACE_wrappers)
- set(ACE_LIBRARIES_DIR ${CMAKE_SOURCE_DIR}/dep/ACE_wrappers/lib)
- set(ACE_LIBRARIES optimized ACE debug ACEd)
-else()
- set(ACE_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include)
- set(ACE_LIBRARIES_DIR ${CMAKE_INSTALL_PREFIX}/lib)
- set(ACE_LIBRARIES ACE)
-endif()
+set(ACE_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/dep/acelite)
+set(ACE_LIBRARIES_DIR ${CMAKE_BINARY_DIR}/dep/acelite/ace)
+set(ACE_LIBRARIES optimized ACE debug ACE)
# Little Hack to remove the link warnings because of not found directories
-if(XCODE)
- foreach(DIR ${ACE_LIBRARIES_DIR})
- foreach(CONF ${CMAKE_CONFIGURATION_TYPES})
- file(MAKE_DIRECTORY ${DIR}/${CONF})
- endforeach(CONF)
- endforeach(DIR)
-endif()
+#if(XCODE)
+# foreach(DIR ${ACE_LIBRARIES_DIR})
+# foreach(CONF ${CMAKE_CONFIGURATION_TYPES})
+# file(MAKE_DIRECTORY ${DIR}/${CONF})
+# endforeach(CONF)
+# endforeach(DIR)
+#endif()
link_directories(
${ACE_LIBRARIES_DIR}
@@ -45,12 +39,12 @@ link_directories(
set(HAVE_ACE_STACK_TRACE_H ON) # config.h.cmake
-if(WIN32)
- foreach(DIR ${ACE_LIBRARIES_DIR})
- install(
- DIRECTORY ${DIR}/ DESTINATION ${LIBS_DIR}
- FILES_MATCHING PATTERN "*.dll*" #"*.${LIB_SUFFIX}*"
- PATTERN "pkgconfig" EXCLUDE
- )
- endforeach(DIR)
-endif()
+#if(WIN32)
+# foreach(DIR ${ACE_LIBRARIES_DIR})
+# install(
+# DIRECTORY ${DIR}/ DESTINATION ${LIBS_DIR}
+# FILES_MATCHING PATTERN "*.dll*" #"*.${LIB_SUFFIX}*"
+# PATTERN "pkgconfig" EXCLUDE
+# )
+# endforeach(DIR)
+#endif()
diff --git a/cmake/MacroMangosSourceGroup.cmake b/cmake/MacroMangosSourceGroup.cmake
new file mode 100644
index 000000000..bf12bbb70
--- /dev/null
+++ b/cmake/MacroMangosSourceGroup.cmake
@@ -0,0 +1,39 @@
+macro(mangos_source_group
+ sources)
+
+ # Group by location on disk
+ source_group("Source Files" FILES CMakeLists.txt)
+
+ foreach(_SRC ${sources})
+ get_filename_component(_SRC_EXT ${_SRC} EXT)
+ if((${_SRC_EXT} MATCHES ".h") OR
+ (${_SRC_EXT} MATCHES ".hpp") OR
+ (${_SRC_EXT} MATCHES ".hh"))
+ source_group("Header Files" FILES ${_SRC})
+ else()
+ source_group("Source Files" FILES ${_SRC})
+ endif()
+ endforeach()
+
+ unset(_SRC)
+ unset(_SRC_EXT)
+endmacro()
+
+macro(mangos_source_group_topic
+ sources
+ topic)
+
+ foreach(_SRC ${sources})
+ get_filename_component(_SRC_EXT ${_SRC} EXT)
+ if((${_SRC_EXT} MATCHES ".h") OR
+ (${_SRC_EXT} MATCHES ".hpp") OR
+ (${_SRC_EXT} MATCHES ".hh"))
+ source_group("Header Files\\${topic}" FILES ${_SRC})
+ else()
+ source_group("Source Files\\${topic}" FILES ${_SRC})
+ endif()
+ endforeach()
+
+ unset(_SRC)
+ unset(_SRC_EXT)
+endmacro()
diff --git a/contrib/extractor/README.linux b/contrib/extractor/README.linux
deleted file mode 100644
index 1986831e7..000000000
--- a/contrib/extractor/README.linux
+++ /dev/null
@@ -1,7 +0,0 @@
-Linux instructions
-------------------
-
-1. install cmake
-2. cmake -i
-3. make
-4. ./ad
diff --git a/contrib/extractor_binary/MoveMapGen.exe b/contrib/extractor_binary/MoveMapGen.exe
deleted file mode 100644
index 8e7ad514b..000000000
Binary files a/contrib/extractor_binary/MoveMapGen.exe and /dev/null differ
diff --git a/contrib/extractor_binary/README.txt b/contrib/extractor_binary/README.txt
deleted file mode 100644
index d75cd032b..000000000
--- a/contrib/extractor_binary/README.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-# This code is part of MaNGOS. Contributor & Copyright details are in AUTHORS/THANKS.
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-Copy the content of this directory into your client directory.
-
-Then just run ExtractResources.sh
-On Windows, you can run the file within the "Git bash" (which should be shipped with your Git software)
-by invoking "sh ExtractResources.sh"
-
-This file will ask you what you want to extract.
-
-You can chose from the following:
-* Extract DBCs/ maps (required for MaNGOS to work)
-* Extract vmaps (expected for MaNGOS to work)
-* Extract mmaps (optional, and will require very long time to create)
-* Update mmaps with data from offmesh.txt (suggested after updates of this file)
-
-In case you want to extract mmaps you will be asked how many processes should be used for mmap-extraction;
-Recommanded is to use the number of CPUs
-
-By default the scripts will create log files
-MaNGOSExtractor.log for overall progress of the extraction, and
-MaNGOSExtractor_detailed.log which includes all the information about the extraction.
-
-If you want to toggle some parts in the extraction process, there are a few internal variables in the extraction scripts, that can be modified.
-
-Consider the Readme's in the directories extractor, vmap_assembler, vmap_extractor and mmap for further information about detail.
-
-Also especially related to mmaps updating you might be interested in using the MoveMapGen.sh script.
diff --git a/contrib/extractor_binary/ad.exe b/contrib/extractor_binary/ad.exe
deleted file mode 100644
index f370fa4c3..000000000
Binary files a/contrib/extractor_binary/ad.exe and /dev/null differ
diff --git a/contrib/extractor_binary/make_vmaps.bat b/contrib/extractor_binary/make_vmaps.bat
deleted file mode 100644
index aca4c651b..000000000
--- a/contrib/extractor_binary/make_vmaps.bat
+++ /dev/null
@@ -1,46 +0,0 @@
-@echo off
-cls
-echo.
-echo Welcome to the vmaps extractor and assembler
-echo.
-echo You need 2GB of free space in disk, CTRL+C to stop process
-echo Hit Enter to start . . .
-pause>nul
-cls
-echo.
-echo.
-echo.
-IF EXIST buildings\dir (ECHO The buildings folder already exist do you want to delete it?
-echo If YES hit Enter to continue if no CLOSE the program now! . . .
-pause>nul
-DEL /S /Q buildings)
-vmapExtractor.exe
-cls
-echo.
-echo.
-echo.
-IF NOT %ERRORLEVEL% LEQ 1 (echo The vmap extract tool finalized with errors.
-echo Hit Enter to continue . . .
-pause>nul)
-cls
-echo.
-echo.
-echo.
-echo Vmaps extracted check log.txt for errors, now it's time to assemble the vmaps press any key to continue . . .
-pause>nul
-md vmaps
-vmap_assembler.exe buildings vmaps
-cls
-echo.
-echo.
-echo.
-IF NOT %ERRORLEVEL% LEQ 1 (echo The vmap assembler tool finalized with errors.
-echo Hit Enter to continue . . .
-pause>nul)
-cls
-echo.
-echo.
-echo.
-echo Process done! copy vmaps folder to the MaNGOS main directory
-echo Press any key to exit . . .
-pause>nul
diff --git a/contrib/extractor_binary/vmapExtractor.exe b/contrib/extractor_binary/vmapExtractor.exe
deleted file mode 100644
index c0a3d37bd..000000000
Binary files a/contrib/extractor_binary/vmapExtractor.exe and /dev/null differ
diff --git a/contrib/extractor_binary/vmap_assembler.exe b/contrib/extractor_binary/vmap_assembler.exe
deleted file mode 100644
index cbeee9bf9..000000000
Binary files a/contrib/extractor_binary/vmap_assembler.exe and /dev/null differ
diff --git a/contrib/mmap/CMakeLists.txt b/contrib/mmap/CMakeLists.txt
deleted file mode 100644
index 18464221c..000000000
--- a/contrib/mmap/CMakeLists.txt
+++ /dev/null
@@ -1,178 +0,0 @@
-# This code is part of MaNGOS. Contributor & Copyright details are in AUTHORS/THANKS.
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-cmake_minimum_required (VERSION 2.8)
-
-project( MoveMapGen )
-
-ADD_DEFINITIONS(-DMMAP_GENERATOR -DNO_CORE_FUNCS -DDEBUG)
-
-# zlib
-ADD_DEFINITIONS( -DNO_vsnprintf )
-
-ADD_DEFINITIONS("-ggdb")
-ADD_DEFINITIONS("-O3")
-
-include_directories(
- ../../src
- ../../src/shared
- ../../src/game
- ../../src/game/vmap
- ../../dep/include/g3dlite
- ../../dep/ACE_wrappers
- ../../objdir/dep/ACE_wrappers
- ../../src/framework
- ../../dep/recastnavigation/Detour/Include
- ../../dep/recastnavigation/Recast/Include
- ../../dep/src/zlib
-)
-
-add_library(zlib
- ../../dep/src/zlib/adler32.c
- ../../dep/src/zlib/compress.c
- ../../dep/src/zlib/crc32.c
- ../../dep/src/zlib/deflate.c
- ../../dep/src/zlib/example.c
- ../../dep/src/zlib/gzio.c
- ../../dep/src/zlib/infback.c
- ../../dep/src/zlib/inffast.c
- ../../dep/src/zlib/inflate.c
- ../../dep/src/zlib/inftrees.c
- ../../dep/src/zlib/trees.c
- ../../dep/src/zlib/uncompr.c
- ../../dep/src/zlib/zutil.c
-)
-
-add_library(g3dlite
- ../../dep/src/g3dlite/AABox.cpp
- ../../dep/src/g3dlite/Any.cpp
- ../../dep/src/g3dlite/AnyVal.cpp
- ../../dep/src/g3dlite/AreaMemoryManager.cpp
- ../../dep/src/g3dlite/BinaryFormat.cpp
- ../../dep/src/g3dlite/BinaryInput.cpp
- ../../dep/src/g3dlite/BinaryOutput.cpp
- ../../dep/src/g3dlite/Box.cpp
- ../../dep/src/g3dlite/Box2D.cpp
- ../../dep/src/g3dlite/BumpMapPreprocess.cpp
- ../../dep/src/g3dlite/Capsule.cpp
- ../../dep/src/g3dlite/CollisionDetection.cpp
- ../../dep/src/g3dlite/Color1.cpp
- ../../dep/src/g3dlite/Color1uint8.cpp
- ../../dep/src/g3dlite/Color3.cpp
- ../../dep/src/g3dlite/Color3uint8.cpp
- ../../dep/src/g3dlite/Color4.cpp
- ../../dep/src/g3dlite/Color4uint8.cpp
- ../../dep/src/g3dlite/Cone.cpp
- ../../dep/src/g3dlite/constants.cpp
- ../../dep/src/g3dlite/ConvexPolyhedron.cpp
- ../../dep/src/g3dlite/CoordinateFrame.cpp
- ../../dep/src/g3dlite/Crypto.cpp
- ../../dep/src/g3dlite/Crypto_md5.cpp
- ../../dep/src/g3dlite/Cylinder.cpp
- ../../dep/src/g3dlite/debugAssert.cpp
- ../../dep/src/g3dlite/FileSystem.cpp
- ../../dep/src/g3dlite/fileutils.cpp
- ../../dep/src/g3dlite/filter.cpp
- ../../dep/src/g3dlite/format.cpp
- ../../dep/src/g3dlite/g3dfnmatch.cpp
- ../../dep/src/g3dlite/g3dmath.cpp
- ../../dep/src/g3dlite/GCamera.cpp
- ../../dep/src/g3dlite/GLight.cpp
- ../../dep/src/g3dlite/GThread.cpp
- ../../dep/src/g3dlite/GUniqueID.cpp
- ../../dep/src/g3dlite/Intersect.cpp
- ../../dep/src/g3dlite/license.cpp
- ../../dep/src/g3dlite/Line.cpp
- ../../dep/src/g3dlite/LineSegment.cpp
- ../../dep/src/g3dlite/Log.cpp
- ../../dep/src/g3dlite/Matrix.cpp
- ../../dep/src/g3dlite/Matrix3.cpp
- ../../dep/src/g3dlite/Matrix4.cpp
- ../../dep/src/g3dlite/MemoryManager.cpp
- ../../dep/src/g3dlite/MeshAlg.cpp
- ../../dep/src/g3dlite/MeshAlgAdjacency.cpp
- ../../dep/src/g3dlite/MeshAlgWeld.cpp
- ../../dep/src/g3dlite/MeshBuilder.cpp
- ../../dep/src/g3dlite/NetAddress.cpp
- ../../dep/src/g3dlite/NetworkDevice.cpp
- ../../dep/src/g3dlite/PhysicsFrame.cpp
- ../../dep/src/g3dlite/Plane.cpp
- ../../dep/src/g3dlite/PrecomputedRandom.cpp
- ../../dep/src/g3dlite/prompt.cpp
- ../../dep/src/g3dlite/Quat.cpp
- ../../dep/src/g3dlite/Random.cpp
- ../../dep/src/g3dlite/Ray.cpp
- ../../dep/src/g3dlite/Rect2D.cpp
- ../../dep/src/g3dlite/ReferenceCount.cpp
- ../../dep/src/g3dlite/RegistryUtil.cpp
- ../../dep/src/g3dlite/Sphere.cpp
- ../../dep/src/g3dlite/SplineBase.cpp
- ../../dep/src/g3dlite/stringutils.cpp
- ../../dep/src/g3dlite/System.cpp
- ../../dep/src/g3dlite/TextInput.cpp
- ../../dep/src/g3dlite/TextOutput.cpp
- ../../dep/src/g3dlite/ThreadSet.cpp
- ../../dep/src/g3dlite/Triangle.cpp
- ../../dep/src/g3dlite/uint128.cpp
- ../../dep/src/g3dlite/UprightFrame.cpp
- ../../dep/src/g3dlite/Vector2.cpp
- ../../dep/src/g3dlite/Vector2int16.cpp
- ../../dep/src/g3dlite/Vector3.cpp
- ../../dep/src/g3dlite/Vector3int16.cpp
- ../../dep/src/g3dlite/Vector3int32.cpp
- ../../dep/src/g3dlite/Vector4.cpp
- ../../dep/src/g3dlite/Vector4int8.cpp
- ../../dep/src/g3dlite/Welder.cpp
- ../../dep/src/g3dlite/WinMain.cpp
-)
-
-add_library(vmap
- ../../src/game/vmap/BIH.cpp
- ../../src/game/vmap/VMapManager2.cpp
- ../../src/game/vmap/MapTree.cpp
- ../../src/game/vmap/TileAssembler.cpp
- ../../src/game/vmap/WorldModel.cpp
- ../../src/game/vmap/ModelInstance.cpp
-)
-
-target_link_libraries(vmap g3dlite zlib)
-
-add_library(Detour
- ../../dep/recastnavigation/Detour/Source/DetourAlloc.cpp
- ../../dep/recastnavigation/Detour/Source/DetourCommon.cpp
- ../../dep/recastnavigation/Detour/Source/DetourNavMesh.cpp
- ../../dep/recastnavigation/Detour/Source/DetourNavMeshBuilder.cpp
- ../../dep/recastnavigation/Detour/Source/DetourNavMeshQuery.cpp
- ../../dep/recastnavigation/Detour/Source/DetourNode.cpp
-)
-
-add_library(Recast
- ../../dep/recastnavigation/Recast/Source/Recast.cpp
- ../../dep/recastnavigation/Recast/Source/RecastAlloc.cpp
- ../../dep/recastnavigation/Recast/Source/RecastArea.cpp
- ../../dep/recastnavigation/Recast/Source/RecastContour.cpp
- ../../dep/recastnavigation/Recast/Source/RecastFilter.cpp
- ../../dep/recastnavigation/Recast/Source/RecastMesh.cpp
- ../../dep/recastnavigation/Recast/Source/RecastMeshDetail.cpp
- ../../dep/recastnavigation/Recast/Source/RecastRasterization.cpp
- ../../dep/recastnavigation/Recast/Source/RecastRegion.cpp
-)
-
-set(SOURCES
- ./src/IntermediateValues.cpp
- ./src/generator.cpp
- ./src/MapBuilder.cpp
- ./src/TerrainBuilder.cpp
- ./src/VMapExtensions.cpp
-)
-
-add_executable( MoveMapGen ${SOURCES} )
-
-target_link_libraries( MoveMapGen g3dlite vmap Detour Recast zlib )
diff --git a/contrib/mmap/readme b/contrib/mmap/readme
deleted file mode 100644
index 94907b19a..000000000
--- a/contrib/mmap/readme
+++ /dev/null
@@ -1,66 +0,0 @@
-Generator command line args
-
---offMeshInput [file.*] Path to file containing off mesh connections data.
- Format must be: (see offmesh_example.txt)
- "map_id tile_x,tile_y (start_x start_y start_z) (end_x end_y end_z) size //optional comments"
- Single mesh connection per line.
-
---silent Make us script friendly. Do not wait for user input
- on error or completion.
-
---bigBaseUnit [true|false] Generate tile/map using bigger basic unit.
- Use this option only if you have unexpected gaps.
-
- false: use normal metrics (default)
-
---maxAngle [#] Max walkable inclination angle
-
- float between 45 and 90 degrees (default 60)
-
---skipLiquid liquid data for maps
-
- false: include liquid data (default)
-
---skipContinents [true|false] continents are maps 0 (Eastern Kingdoms),
- 1 (Kalimdor), 530 (Outlands), 571 (Northrend)
-
- false: build continents (default)
-
---skipJunkMaps [true|false] junk maps include some unused
- maps, transport maps, and some other
-
- true: skip junk maps (default)
-
---skipBattlegrounds [true|false] does not include PVP arenas
-
- false: skip battlegrounds (default)
-
---debugOutput [true|false] create debugging files for use with RecastDemo
- if you are only creating mmaps for use with MaNGOS,
- you don't want debugging files
-
- false: don't create debugging files (default)
-
---tile [#,#] Build the specified tile
- seperate number with a comma ','
- must specify a map number (see below)
- if this option is not used, all tiles are built
-
- [#] Build only the map specified by #
- this command will build the map regardless of --skip* option settings
- if you do not specify a map number, builds all maps that pass the filters specified by --skip* options
-
-
-examples:
-
-movemapgen
-builds maps using the default settings (see above for defaults)
-
-movemapgen --skipContinents true
-builds the default maps, except continents
-
-movemapgen 0
-builds all tiles of map 0
-
-movemapgen 0 --tile 34,46
-builds only tile 34,46 of map 0 (this is the southern face of blackrock mountain)
diff --git a/contrib/vmap_assembler/CMakeLists.txt b/contrib/vmap_assembler/CMakeLists.txt
deleted file mode 100644
index 22a7ada0d..000000000
--- a/contrib/vmap_assembler/CMakeLists.txt
+++ /dev/null
@@ -1,89 +0,0 @@
-# This code is part of MaNGOS. Contributor & Copyright details are in AUTHORS/THANKS.
-#
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-cmake_minimum_required (VERSION 2.8)
-
-project (MANGOS_VMAP_ASSEMB_IO)
-
-# uncomment next line to disable debug mode
-ADD_DEFINITIONS("-DIOMAP_DEBUG")
-ADD_DEFINITIONS("-DNO_CORE_FUNCS")
-
-ADD_DEFINITIONS("-Wall")
-ADD_DEFINITIONS("-ggdb")
-ADD_DEFINITIONS("-O3")
-
-include_directories(../../src/shared)
-include_directories(../../src/game/vmap/)
-include_directories(../../dep/include/g3dlite/)
-include_directories(../../dep/ACE_wrappers/)
-include_directories(../../objdir/dep/ACE_wrappers)
-include_directories(../../src/framework/)
-
-add_library(g3dlite
- ../../dep/src/g3dlite/AABox.cpp
- ../../dep/src/g3dlite/Box.cpp
- ../../dep/src/g3dlite/Crypto.cpp
- ../../dep/src/g3dlite/FileSystem.cpp
- ../../dep/src/g3dlite/format.cpp
- ../../dep/src/g3dlite/Matrix3.cpp
- ../../dep/src/g3dlite/Plane.cpp
- ../../dep/src/g3dlite/System.cpp
- ../../dep/src/g3dlite/Triangle.cpp
- ../../dep/src/g3dlite/Vector3.cpp
- ../../dep/src/g3dlite/Vector4.cpp
- ../../dep/src/g3dlite/debugAssert.cpp
- ../../dep/src/g3dlite/fileutils.cpp
- ../../dep/src/g3dlite/g3dmath.cpp
- ../../dep/src/g3dlite/g3dfnmatch.cpp
- ../../dep/src/g3dlite/prompt.cpp
- ../../dep/src/g3dlite/stringutils.cpp
- ../../dep/src/g3dlite/Any.cpp
- ../../dep/src/g3dlite/BinaryFormat.cpp
- ../../dep/src/g3dlite/BinaryInput.cpp
- ../../dep/src/g3dlite/BinaryOutput.cpp
- ../../dep/src/g3dlite/Capsule.cpp
- ../../dep/src/g3dlite/CollisionDetection.cpp
- ../../dep/src/g3dlite/CoordinateFrame.cpp
- ../../dep/src/g3dlite/Cylinder.cpp
- ../../dep/src/g3dlite/Line.cpp
- ../../dep/src/g3dlite/LineSegment.cpp
- ../../dep/src/g3dlite/Log.cpp
- ../../dep/src/g3dlite/Matrix4.cpp
- ../../dep/src/g3dlite/MemoryManager.cpp
- ../../dep/src/g3dlite/Quat.cpp
- ../../dep/src/g3dlite/PhysicsFrame.cpp
- ../../dep/src/g3dlite/Random.cpp
- ../../dep/src/g3dlite/Ray.cpp
- ../../dep/src/g3dlite/ReferenceCount.cpp
- ../../dep/src/g3dlite/Sphere.cpp
- ../../dep/src/g3dlite/TextInput.cpp
- ../../dep/src/g3dlite/TextOutput.cpp
- ../../dep/src/g3dlite/uint128.cpp
- ../../dep/src/g3dlite/UprightFrame.cpp
- ../../dep/src/g3dlite/Vector2.cpp
- )
-
-add_library(vmap
- ../../src/game/vmap/BIH.cpp
- ../../src/game/vmap/VMapManager2.cpp
- ../../src/game/vmap/MapTree.cpp
- ../../src/game/vmap/TileAssembler.cpp
- ../../src/game/vmap/WorldModel.cpp
- ../../src/game/vmap/ModelInstance.cpp
- )
-
-target_link_libraries(vmap g3dlite z)
-
-add_executable(vmap_assembler vmap_assembler.cpp)
-target_link_libraries(vmap_assembler vmap)
-
-# add_executable(vmap_test coordinate_test.cpp)
-# target_link_libraries(vmap_test vmap)
diff --git a/contrib/vmap_assembler/README b/contrib/vmap_assembler/README
deleted file mode 100644
index 0fc5373a4..000000000
--- a/contrib/vmap_assembler/README
+++ /dev/null
@@ -1,46 +0,0 @@
-Linux:
-
-1. Building
-
- cd to contrib/vmap_assembler/ and execute:
-
- $ cmake .
- $ make
-
- You should now have an executable file vmap_assembler
-
-2. Assembling vmaps
-
- Use the created executable to create the vmap files for MaNGOS.
- The executable takes two arguments:
-
- vmap_assembler
-
-
- ACE has been ported to a large number of platforms using many different
-compilers over the years.
-The DOC group,
-Riverace,
-OCI,
-Remedy IT, and members of the ACE
-user community have all contributed ports to make ACE the successful
-and far-reaching toolkit it is today. Any UNIX/POSIX/Windows
-variation is probably an easy target platform for ACE. If you have
-porting questions or have a problem
-compiling the ACE source distribution, please contact one of the
-commercial support companies, or send a copy of the
-PROBLEM-REPORT-FORM, located in the
-ACE_wrappers directory, to either the ACE
-Newsgroup or the ace-users
-mailing list.
-The DOC groups at Washington University, UC Irvine, and Vanderbilt
-University provide only "best effort" support for non-sponsors for the
-latest release, as described in
-docs/ACE-bug-process.html.
-Thus, if you need more "predictable" help, or help with earlier versions of
-ACE, it's recommend that you check out the
-list of
-commercial support companies for additional assistance.
- The responsibility for maintaining ACE across the wide range of
-supported platforms is divided among a few different groups:
-
-Building and Installing ACE and Its Auxiliary Libraries and Services
-
-Synopsis
-
-The file explains how to build and install ACE, its Network Services,
-test suite and examples on the various OS platforms and compilers that
-it has been ported to. Please consult the NEWS and
-ChangeLog files to see whether any recent changes
-to the release will affect your code. In addition, you should check
-out our development
-process. As you start working with ACE, we suggest you get copies
-of the C++NPv1, C++NPv2, and
-APG books to help
-guide you after you've built and installed ACE. You should also
-consult the ACE
-Frequently Made Mistakes page. If you encounter any problems or
-would like to request an enhancement, then use our bug
-tracking system to submit a report in accordance with our bug
-report process.Document Index
-
-
-
-
-
-Platforms, C++ Compilers, and Support
-
-
-
-The
-build scoreboard
-records the current status of build and regression testing during
-development by all of the above groups. It is available to all users wishing
-to provide build results. Members of the ACE community that maintain ACE on
-platforms not maintained by the DOC group, Riverace, OCI, or Remedy IT are
-encouraged to provide build and regression test results for the scoreboard
-to ensure that all in-use platforms are represented.
-See the autobuild README for more information about
-how to set up a build; contact one of the above groups to inquire about how
-to get your build results recorded on the scoreboard.
Because older -platforms that are not maintained tend to fall into a broken state and -clutter the ACE sources with code that is no longer used, the development -team reserves the right to remove ACE configuration files and source code -specific to inactive platform configurations that are not -listed on the scoreboard.
-The table below summarizes each group's role and where you can get more -detailed information. For information on TAO's platform coverage and -support, please also see TAO's install -document.
- -
| Group | -Platforms | -For more information | -
|---|---|---|
| DOC Group | -Windows 2000, XP (MSVC++ 7.1, 8, 9, and 10); - many versions of Linux/Intel (many compilers). - | -DOC sites at ISIS, - UCI and - Washington University - | -
| Riverace | -Offers ACE - training, - support and - consulting services - for many platforms including AIX, HP-UX, Linux, Solaris, and Windows. - | -Riverace's ACE - Support page. | -
| OCI | -Maintains ACE on certain platforms required for their TAO - software and service offerings. - | -OCI's web site and - the TAO install document | -
| Remedy IT | -Maintains ACE on many platforms required for their ACE and - TAO service offerings. We support AIX, - CodeGear C++ Builder 2007/2009, CodeGear RAD Studio 2007, Embarcadero C++ Builder 2010, - CBuilderX 1.0, Windows CE, MinGW, Microsoft Visual C++ 7.1/8/9/10, GCC, - Cygwin, VxWorks 5.5.x - 6.x (kernel and rtp), OpenVMS 8.2-1 & 8.3 on Alpha and IA64, - BlueCAT Linux, RedHat Linux, Fedora, MacOSX, Solaris, - Tru64, SuSE Linux on Alpha/IA32/EM64T/IA64, RTEMS, QNX, LynxOS 4.0/4.2, - HPUX 11i v1/v2 32/64 bit on PA-RISC, and - HPUX 11i v2/v3 on IA64. The Intel C++ compiler is supported on - Windows 32/64bit, Linux IA32/EM64T/IA64, MacOSX. - | -Remedy IT web site and - the TAO install document - | -
| PrismTech | -Maintains ACE on certain platforms required for their TAO - software and service offerings, including LynxOS. - | -PrismTech's web site | -
| ACE user community | -Responsible for continued maintenance and testing of platforms - to which ACE has been ported, but aren't supported by the - above groups. These include - Digital UNIX (Compaq Tru64) 4.0 and 5.0; - IRIX 6.x; UnixWare 7.1.0; - Linux on PPC; OpenMVS; - Tandem; SCO; FreeBSD; NetBSD; OpenBSD; - Macintosh OS X; OS/9; PharLap ETS 13; - QNX RTP and Neutrino 2.0; Interix (Windows Services for Unix) - | -|
| Not maintained | -The following platforms have been ported to in the past but are - no longer maintained and may be removed from ACE at any time. - If you want to have support for these environments contact one - of the commercial support organisations. The platforms include: - Chorus; DG/UX; HP-UX 9, 10 and 11.00; pSOS; - SunOS 4.x and Solaris with SunC++ 4.x; VxWorks 5.4 and earlier; - Microsoft Visual C++ 5, 6, and 7.0; Borland C++ Builder 4, 5, 6, and 2006. - For up-to-date listings on platform that are deprecated and pending - removal from ACE, please see the NEWS file. - | -|
| - |
- -
Although the DOC group has provided outstanding support for ACE -over the years, ACE's success has greatly increased the amount of -effort required to keep up with its maintenance, answer users' -questions, and give design guidance. Riverace offers world-class -commercial services to support ACE users. OCI, PrismTech, and Remedy -offer similar services for TAO, allowing the DOC group's primary focus -to shift back to their main goal: research. The DOC group is -fundamentally focused on (and funded -by) advanced R&D projects. The group continues to be -intimately involved in ACE+TAO development and maintenance, but with -revised priorities for maintenance. The bug -fixing policies followed by the DOC group are designed to strike a -balance between their many research -projects and their commitment to the ACE+TAO user -community. Naturally, we will be happy to accept well-tested -patches from the ACE+TAO user community for any platforms that aren't -supported by the DOC group, Riverace, OCI or Remedy IT.
- -
-
ACE (as well as TAO and CIAO) use MPC -(MakeProjectCreator) to generate files used by all supported build -tools (such as GNUmakefiles for UNIX based platforms, sln and vcproj -files for VC71/VC8 and Embarcadero makefiles) on various platforms. To -help new users to bootstrap quickly the release bundles of ACE (as -well as TAO and CIAO) include all needed files to use the build -instructions in this document. - -
--If it is necessary to generate -files for build tools for other compilers, one must -run MPC to generate the -appropriate files. Please see USAGE, README, and README for ACE files for -details. The options that have been used to generate the above build -files can be found in -global.features file. -
- -Many features in ACE can be modified by defining some macros in
- $ACE_ROOT/ace/config.h. These macros should
- always appear before including
- your platform specific config file.
However, if you want to undefine/redefine macros defined in the
- platform specific config file, these #undef should
- come after the config file.
-
-GNU Autoconf support is available in the ACE and ACE+TAO distributions -in the DOC group website. Support for Autoconf is not included in -distributions that contain CIAO. -
--GNU Autoconf support has been partially present in a number of ACE -versions. However, ACE 5.4 was the first version that supported it in -earnest. The range of platforms on which GNU autoconf support is regularly -tested is not as broad as for the traditional configuration method, so you -should be careful to test the resulting ACE library before using it in -your applications. You can review the - -build scoreboard to check the currently tested set of autoconfigured -platforms (look for autoconf in the platform name). -Any help you can lend to improve the ACE build process using GNU Autoconf -would be very much appreciated. Please send any fixes to the -ACE users mailing list -using the standard PROBLEM-REPORT-FORM. -
--The kit has been bootstrapped so you do not need to install the GNU -Autotools (autoconf, automake, libtool) unless you want to participate -in testing and developing this -process further or if you are working directly off of sources in the -ACE subversion repository. To simply configure and build ACE, do: -
cd to the top-level ACE_wrappers directory.mkdir build - cd build- Note that you do not run the
create_ace_build.pl utility
- mentioned in the Cloning the Source Tree
- section. The configure script takes care of creating all files
- and links that are needed.../configure [options]-
options can be a variable setting (such as setting
- CXX to your C++ compiler command) any standard GNU
- configure options, or any of the following ACE configure options
- (default values are in parentheses):
- --enable-alloca (no): Enable alloca()
- support.--enable-debug (yes): Build ACE with debugging
- support.--enable-exceptions (yes): Build ACE with C++
- exception support compiled in.--enable-fast (no): Use the Sun C++ -fast
- option to build. Only used on Solaris.--enable-ipv4-ipv6 (no): Enable IPv4/IPv6 migration support.--enable-ipv6 (no): Enable IPv6 support.--enable-inline (yes): Enable inline functions.--enable-optimize (yes): Enable building optimized.--enable-prof (no): Enable profiling support.--enable-purify (no): Build with support for
- IBM Rational Purify.--enable-quantify (no): Build with support for
- IBM Rational Quantify.--enable-repo (no): Enable the GNU g++
- -frepo option. Only useful for pre-3.0 g++.--enable-stdcpplib (yes): Build with support for the
- standard C++ library, as opposed to the older iostreams library.--enable-log-msg-prop (yes): Enable
- ACE_Log_Msg property propagation to ACE-created
- threads.--enable-logging (yes): Enable the ACE logging
- macros.--enable-malloc-stats (no): Compile in additional code
- for collecting memory allocation statistics.--enable-pi-pointers (yes): Enable
- position-independent pointers for shared memory classes.--enable-probe (no): Enable the
- ACE_Timeprobe class.--enable-reentrant (yes): Enable use of platform's
- reentrant functions.--enable-static-obj-mgr (yes): Enable use of a
- static ACE_Object_Manager.--enable-threads (yes): Enable threading support.--enable-verb-not-sup (no): Enable verbose ENOTSUP
- reports at run time.--enable-trace (no): Enable ACE execution tracing
- support.--enable-fl-reactor (no): Enable support for the
- ACE_FlReactor class.--enable-qt-reactor (no): Enable support for the
- ACE_QtReactor class.--enable-tk-reactor (no): Enable support for the
- ACE_TkReactor class.--enable-xt-reactor (no): Enable support for the
- ACE_XtReactor class.--enable-gperf (yes): Build the implementation of
- gperf that comes with ACE.--enable-qos (no): Include the ACE_QoS library when
- building ACE.--enable-ssl (yes): Include the ACE_SSL library when
- building ACE. Requires the SSL components to be available using the
- compiler's and linker's default search directories.--with-openssl: Specifies the root directory of the
- OpenSSL installation; expects the specified directory to have
- include and lib subdirectories. To
- specify other locations for the header and libraries, use one or
- both of the following.--with-openssl-include: Specify the directory
- containing the OpenSSL header files.--with-openssl-libdir: Specify the directory
- containing the OpenSSL libraries.--with-tli-device (/dev/tcp): Specifies the device
- name for opening a TLI device at run time.make.
- make install.
--In order to test and develop the GNU Autotool support in ACE or -bootstrap autotool support into ACE when working directly off of ACE -sources in the subversion repository, you must have recent versions of GNU -Autoconf, Automake and Libtool installed on your host. Once -installed, autotool support may be bootstrapped into your workspace by -doing the following: -
-
- cd ACE_wrappers
- ./bin/bootstrap
-
-
-After doing so, you will be able to run the configure
-script.
-
--Here's what you need to do to build ACE using GNU Make and ACE's traditional -per-platform configuration method:
- -http
- anonymous ftp from ftp.gnu.org in the
- pub/gnu/make/ directory).
- You must use GNU make when using ACE's traditional
- per-platform configuration method or ACE won't compile.
-
- TSCH/CSH:
- setenv ACE_ROOT /home/cs/faculty/schmidt/ACE_wrappers
-
-
- BASH or Bourne Shell:
- ACE_ROOT=/home/cs/faculty/schmidt/ACE_wrappers; export ACE_ROOT
-
-
- - If you're building a number of versions of ACE, however, (e.g., for - different OS platforms or for different releases of ACE) you might use - the following approach (assuming TCSH/CSH): -
setenv ACE_ROOT $cwd
-
- $ACE_ROOT/ace/config.h,
- that includes the appropriate platform/compiler-specific
- header configurations from the ACE source directory. For example:
-
-#include "ace/config-linux.h"
-
- The platform/compiler-specific configuration file
- contains the #defines that are used throughout ACE to indicate
- which features your system supports. See the
- $ACE_ROOT/ace/README file for a description of these
- macro settings. If you desire to add some site-specific or build-specific
- changes, you can add them to your config.h file; place them
- before the inclusion of the platform-specific
- header file.
- - There are config files for most versions of UNIX. If there - isn't a version of this file that matches your - platform/compiler, you'll need to make one. Please send email - to the ace-users list - if you get it working so it can be added to the master ACE - release.
-$ACE_ROOT/include/makeinclude/platform_macros.GNU,
- that contains the appropriate platform/compiler-specific
- Makefile configurations, e.g.,
-
-include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
-
- This file contains the compiler and Makefile directives that are
- platform/compiler-specific. If you'd like to add make options, you
- can add them before including the platform-specific configuration.- NOTE! There really is not a # character before 'include' in the - platform_macros.GNU file. # is a comment character. -
-INSTALL_PREFIX = /usr/local
-
- Headers will be installed to $INSTALL_PREFIX/include, executables to
- $INSTALL_PREFIX/bin, documentation and build system files to
- $INSTALL_PREFIX/share and libraries to $INSTALL_PREFIX/lib. The library
- directory can be customized by setting INSTALL_LIB (for example,
- INSTALL_LIB=lib64). With INSTALL_PREFIX set, RPATH will be enabled for
- all executables and shared libraries. To disable RPATH (for example,
- if $INSTALL_PREFIX/$INSTALL_LIB is already a system-known location for
- shared libraries such as those listed in /etc/ld.so.conf), set the make
- macro install_rpath to 0 by adding install_rpath=0 to platform_macros.GNU.
-
- % setenv LD_LIBRARY_PATH $ACE_ROOT/lib:$LD_LIBRARY_PATH
-
- % make
- at the ACE_ROOT directory. This will build the ACE
- library, tests, the examples, and the sample applications.
- Building the entire ACE release can take a long time and consume
- lots of disk space, however. Therefore, you might consider
- cd'ing into the $ACE_ROOT/ace directory and
- running make there to build just the ACE library.
- As a sanity check, you might also want to build and run the
- automated "one-button" tests in
- $ACE_ROOT/tests. Finally, if you're also
- planning on building TAO, you
- should build the gperf
- perfect hash function generator application in
- $ACE_ROOT/apps/gperf.
- % make install
- ace/Svc_Conf_y.cpp file,
- you'll need to
- get GNU Bison.
- However, you should rarely, if ever, need to do this.
- This section contains instructions for building ACE on Microsoft -Windows with a variety of compilers and development environments.
- -First, if you are upgrading from an older release, the recommended practice -is to start with a clean directory. Unpacking the newer release over an older -one will not clean up any old files, and trying to use the environment's -"Clean" command will probably not account for all existing files.
- - - --
ACE contains project files for Microsoft Visual Studio .NET 2005 (VC8)
-, Visual Studio 2009 (VC9), and Visual Studio 2010 (VC10).
-Visual Studio 2005 supports building for
-desktop/server Windows as well as for Windows CE and Windows Mobile. Since
-not all users will be interested in the CE/Mobile capability, these platforms
-have separate solution and project files from the desktop/server Windows.
-Furthermore, VC7.1, VC8, VC9, and 10 use different file formats but the same file
-suffixes (.sln and .vcproj). To support both
-environments, ACE supplies files with different names for the different
-development and target platforms. The platform/name mapping is shown below.
-All solution files have a .sln suffix and all project files have
-a .vcproj suffix.
-The free Visual C++ 2008 Express Edition will work in place of the traditional -Visual Studio editions. All the other notes in this document -that are for VC8 / VC9 also apply to the express edition. MFC, 64-bit, and -CE/mobile options are not available with the express edition. 64-bit binaries -can be built with the compiler and linker included in the Windows SDK, using nmake as the build system (generate nmake makefiles with mwc.pl -type nmake).
- -| Platform | -File Name | -
|---|---|
| VC7.1 | -name_vc71
- |
-
| VC8 for desktop/server | -name_vc8
- |
-
| VC8 for Windows CE/Mobile | -name_WinCE
- |
-
| VC9 for desktop/server | -name_vc9
- |
-
| VC10 for desktop/server | -name_vc10
- |
-
The VC++ compiler and linker can now be invoked from GNU make just like -most UNIX builds. Follow the instructions in the -ACE/GNU Configuration sections and see the additional information in the -comments of -platform_win32_msvc.GNU. -
- -If you happen to open a VC7.1 file from within VC8, it will offer to convert -the file to the newer format for you. With the stock VC8, do not do this; -Visual Studio will crash while attempting to convert the large -solution and project files to build ACE. Simply refuse the conversion and -open the file with the correct format. Note that Microsoft has fixed this -problem. See - -https://msdn.microsoft.com/visualc/downloads/default.aspx for information. -
- -config.h in the ACE_ROOT\ace
- directory that contains: #include "ace/config-win32.h"ace/config.h to tweak with the default settings on
- NT.config.h file. Notice that if you want to
- spawn a new thread with CWinThread, make sure you spawn the
- thread with THR_USE_AFX flag set.#define ACE_HAS_MFC 1ACE_USES_STATIC_MFC in your
- config.h file. However, if you would like to link
- everything (including the MSVC run-time libraries) statically,
- you'll need to modify the project files in ACE yourself.-
ACE_AS_STATIC_LIBS#define ACE_NO_INLINEMore information for ACE/TAO on MSVC can be found -here. The doxygen version of this -document is available under Related Topics in the ACE Library.
- -ACE TESTS- -The tests are located in ACE_ROOT\tests. There is also a solution in -that directory to build all the tests (tests.sln)
-
-Once you build all the tests (Batch Build works well for this), you
-can run perl script run_test.pl in the
-tests directory to try all the tests.
- - - BUILDING ACE ON A WIN32 MACHINE THAT LACKS A NETWORK CARD
-
-
- -
config.h in the ACE_ROOT\ace
- directory that contains: #include "ace/config-win32.h"set ACE_ROOT=C:\ACE_wrappersset PATH=C:\ACE_wrappers\lib;C:\ACE_wrappers\bin;%PATH%bmake project type for C++ Builder.
- make -f Makefile.bmak allset DEBUG=1set UNICODE=1set CODEGUARD=1set CPU_FLAG=-6make -f Makefile.bmak allmake -f Makefile.bmak -DDEBUG all
-
-Note that when you run make in a sub directory you give make -f Makefile.bmak all. The all is needed to make sure the complete project is build.
- -The Borland/CodeGear/Embarcadero C++ Builder 4.0/5.0/6.0/2006/2007/2009/2010 port has been done by Jody Hagins, Christopher Kohlhoff and Johnny Willemsen.
- -ACE TESTS
- -Before you can build the tests you need to build the protocols directory. -Change the directory to ACE_ROOT\protocols and start the build with:
-
-make -f Makefile.bmak all
-- -The tests are located in ACE_ROOT\tests, change to this directory. -You build then the tests with the following command:
-
-make -f Makefile.bmak all
-- -Once you build all the tests, you can run the automated test script using:
-
perl run_test.pl in the
-tests directory to try all the tests. You need to make
-sure the ACE bin and lib directory (in this case
-ACE_ROOT\bin and ACE_ROOT\lib)
-are on the path before you try to run the tests.
- -
-
-If you are building for a machine without a network card, you may want -to check here first. - -
-Building and installing ACE on MinGW -uses a mix of a UNIX building process and -Win32 configuration files. -Also, as MinGW uses GNU g++, you may want to take -a look at the Compiling ACE with GNU g++ section. - -
-You will need the MinGW build tools and libraries, downloable from
-http://www.mingw.org.
-
-
-For our build we require the packages
-MinGW and MSYS.
-
-
- -% export PATH=/c/mingw/bin:$PATH -
- - From now on, we will refer to the root directory of the ACE - source tree as $ACE_ROOT. -% export ACE_ROOT=/c/work/mingw/ACE_wrappers -
- -#include "ace/config-win32.h" -
- - In the above text, don't replace $(ACE_ROOT) with the - actual directory, GNU make will take the value from the - environment variable you defined previously. - -include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU -
- If you lack Winsock 2, add the line - -
- - before the previous one. -winsock2 = 0 -
- -% cd $ACE_ROOT/ace - % make -
- This should create libACE.dll (the Win32 shared library) and - libACE.dll.a (the Win32 import library for the DLL). - Note that the name for the ACE DLL follows the MinGW convention, which itself - resembles UNIX. - -
- If you want static libs also, you may run: - -
- -% make static_libs=1 -
- -% export PATH=/c/work/mingw/ACE_wrappers/ace:$PATH -
- -% cd $ACE_ROOT/tests - % make -
- -% perl run_test.pl -
-If you are using ACE as a DLL, you will need to modify your PATH -variable as explained above. - -
-You may want to check $ACE_ROOT/tests/README for the status -of the various tests on MinGW and the different Windows flavors. - -
-
-If you are building for a machine without a network card, you may want -to check here first. - -
-Building and installing ACE on Cygwin -uses the UNIX building process. -Also, as Cygwin uses GNU g++, you may want to take -a look at the Compiling ACE with GNU g++ section. - -
-You will need the Cygwin build tools and libraries, downloable from -http://www.cygwin.com. -For our build we require the following packages besides the packages the -setup selects by default: - -
-gcc (version 3.3.3), cygserver, make, perl, binutils. -- -
DOS as default text file type.
- - - or - -% export PATH=//c/cygwin/bin:$PATH -
- -% export PATH=/cygdrive/c/cygwin/bin:$PATH -
- Note Cygwin uses ``/'' as directory separator,
- and ``//X'' as a notation for Win32 drive X.
- Note also that you can't use ``c:/cygwin/bin''
- because, for Cygwin,
- ``:'' is path separator character, as in UNIX.
-
-
-
- -% export ACE_ROOT=c:/work/cygwin/ACE_wrappers -
- Note here you can't use the ``//X'' Cygwin - notation as this is seen by Cygwin's compiler and it doesn't - support that (it does support ``/'' as directory - separator however). - -
- From now on, we will refer to the root directory of the ACE
- source tree as $ACE_ROOT.
-
-
-
- -#include "ace/config-cygwin32.h" -
- - In the above text, don't replace $(ACE_ROOT) with the - actual directory, GNU make will take the value from the - environment variable you defined previously. - -include $(ACE_ROOT)/include/makeinclude/platform_cygwin32.GNU -
- -% cd $ACE_ROOT/ace - % make -
- This should create libACE.dll (the Win32 shared library) and
- libACE.dll.a (the Win32 import library for the DLL).
- Note the name for the ACE DLL on Cygwin follows the UNIX convention.
-
-
-
- If you want static libs also, you may run: - -
- -% make static_libs=1 -
- - If you are using MPC-generated Makefiles, then the DLLs have been - placed in the lib directory instead of ace and thus your PATH - addition would need to look like this: - -# export PATH=//c/work/cygwin/ACE_wrappers/ace:$PATH -
- - -# export PATH=//c/work/mingw/ACE_wrappers/lib:$PATH -
- -% cd $ACE_ROOT/tests - % make -
- -% perl run_test.pl -
-If you are using ACE as a DLL, you will need to modify your PATH -variable as explained above. - -
-You may want to check $ACE_ROOT/tests/README for the status -of the various tests on Cygwin and the different Windows flavors. -
- - --
Interix comes with a BSD style make; you need GNU make. -Make builds easily under Interix or there is a prebuilt -package at:
-http://www.interopsystems.com/tools/warehouse.htm
-If you are building for a machine without a network -card, you may want to check here first.
-This port was built and tested under Interix 3.5. a.k.a. -Windows -Services for UNIX 3.5.
-To build follow the Traditional ACE/GNU Make -Configuration instructions replacing the following include directives:
-#include -"ace/config-win32-interix.h"
-for the config.h header
-and:
-include -$(ACE_ROOT)/include/makeinclude/platform_win32_interix.GNU
-for your platform_macros.GNU file.
-ACE should build fine with just 'make', the only other option tried thus far is -'make static_libs_only=1' which also works. Any -other options may not work.
-ACE TESTS
-The tests are located in $ACE_ROOT/tests. After building the library, you can -change to that directory and run make:
-% cd $ACE_ROOT/tests
% make
-
Once you build all the tests, you can run run_test.pl in the tests directory to try all the tests:
% run_test.pl
-If you are using ACE as a shared library, you will need -to modify your LD_LIBRARY_PATH as explained inTraditional ACE/GNU Make Configuration.
- - --
- -A few notes on VxWorks builds (thanks to -Paul von Behren and -Remedy IT for these notes):
--
-
ld step. Although this script is currently still
- available it is not used anymore.ace_ld. If perl is not on your path, you'll
- have to set PERL_PATH to the full path (including
- perl.exe), either in your
- $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
- or in your environment.-
-
$ACE_ROOT/include/makeinclude/platform_vxworks5.5.x.GNU
-platform file for detailed information.- -The VxWorks platform_vxworks*.GNU files are set up so that shared -libraries are not built on VxWorks, by default. Only static -libraries, with .a extension, are built. Therefore, it's not -necessary to set the LD_LIBRARY_PATH environment variable on your host -system when building for VxWorks targets. Please note, however, if -you use TAO on VxWorks that you will need to set your LD_LIBRARY_PATH -to find the TAO IDL compiler libraries (installed in the ace -directory) on the host.
-
-These non-default VxWorks kernel configuration #defines
-are required with ACE:
- -
#define INCLUDE_CPLUS /* include C++ support */ -#define INCLUDE_CPLUS_IOSTREAMS /* include iostreams classes */ -#define INCLUDE_POSIX_ALL /* include all available POSIX functions */ -- -For completeness, here are the non-default
#defines that
-we used for VxWorks 5.3.1/g++ 2.7.2:
-
-#define INCLUDE_CPLUS /* include C++ support */ -#define INCLUDE_CPLUS_IOSTREAMS /* include iostreams classes */ -#define INCLUDE_CONFIGURATION_5_2 /* pre-tornado tools */ -#define INCLUDE_DEBUG /* pre-tornado debugging */ -#define INCLUDE_LOADER /* object module loading */ -#define INCLUDE_NET_SYM_TBL /* load symbol table from network */ -#define INCLUDE_SYM_TBL_SYNC /* synchronize host and target symbol tables */ -#define INCLUDE_NFS /* nfs package */ -#define INCLUDE_PING /* ping() utility */ -#define INCLUDE_POSIX_ALL /* include all available POSIX functions */ -#define INCLUDE_RDB /* remote debugging package */ -#define INCLUDE_RLOGIN /* remote login */ -#define INCLUDE_RPC /* rpc package */ -#define INCLUDE_SECURITY /* shell security for network access */ -#define INCLUDE_SHELL /* interactive c-expression interpreter */ -#define INCLUDE_SHOW_ROUTINES /* show routines for system facilities*/ -#define INCLUDE_SPY /* spyLib for task monitoring */ -#define INCLUDE_STARTUP_SCRIPT /* execute start-up script */ -#define INCLUDE_STAT_SYM_TBL /* create user-readable error status */ -#define INCLUDE_SYM_TBL /* symbol table package */ -#define INCLUDE_UNLOADER /* object module unloading */ -#define INCLUDE_WINDVIEW /* WindView command server */ -- -Also, automatic construction/destruction of static objects -should be enabled.
-
-If you use TAO, it's also a good idea to increase the
-NUM_FILES parameter from its default of 50 to,
-say, 1000.
- -Please note that those VxWorks kernel configuration parameters -are set in the VxWorks configAll.h file. You must rebuild your -VxWorks kernel after modifying that file.
- -If you're first getting started with ACE and/or VxWorks, I recommend -just building the ACE library and tests first. (Some of the ACE -examples, in System_V_IPC, don't build on VxWorks yet.) Then try -running the tests. Please see $ACE_ROOT/tests/README for the latest -status of the ACE tests on VxWorks.
-
-Please note that the main entry point is renamed to
-ace_main (configurable via ACE_MAIN) on VxWorks with g++,
-to comply with its restriction against using main.
-In addition, ACE_HAS_NONSTATIC_OBJECT_MANAGER is enabled by default
-to cleanly support construction and destruction of static objects.
-Please see the Non-static
-ACE_Object_Manager discussion for the important implication
-of this feature.
-
-ACE threads (VxWorks tasks) can be named, for example, by supplying a
-non-null argument to the Thread_Manager spawn routines. However,
-names beginning with "==ace_t==" are forbidden because
-that prefix is used internally by ACE.
-
-You can spawn a new task to run ace_main, using either
-VxWorks sp, or ACE'S spa.
-spa can be used from the VxWorks shell to pass arguments
-to ace_main. Its usage is:
-
-
-spa ace_main, "arg1" [, ...]
-
-
-All arguments must be quoted, even numbers. You can start also ace_main
-without spawning another thread by using:- -
-spaef ace_main, "arg1" [, ...]
-
-
-ACE also provides the function vx_execae which is capable of running
-ace_main in a separate thread, wait for the task to finish and return
-the return code from ace_main:
-
-
-int vx_execae (FUNCPTR acemain,char* arguments, int prio = 0, int opt = 0, int stacksz = 0);
-
--You could call this from the VxWorks shell like: -
-
-my_rc = vx_execae ace_main, "-o server.ior -ORBDottedDecimalAddresses 1"
-
-
-When prio, opt or stacksz are omitted or specified
-as 0 default values will be used. See the VxWorks shell documentation for the
-defaults for prio and opt. For stacksz the default is
-ACE_NEEDS_HUGE_THREAD_STACKSIZE.
-The arguments string will be parsed and passed on to ace_main as
-a regular argc and argv.
-
-Be aware of the fact that when you execute ace_main directly from the VxWorks
-shell argc will be zero and argv* will also be zero. Using argv[0] will not return
-the program name, but will result in a crash.
-The ACE helper functions spa, spaef and vx_execae prevent
-this problem by building a regular argc and argv which also contain a
-valid argv[0] element.
-
-ACE supports shared libraries for VxWorks, but only with the g++
-compiler. To build shared libraries instead of the default static
-libraries, added shared_libs=1 (not
-shared_libs_only=1) to either your
-ACE_wrappers/include/makeinclude/platform_macros.GNU or
-your make invocation. Then, be sure to load the ACE (and
-any other) shared library before loading your executable(s).
- -A shared library for VxWorks uses the same code as for a static -(non-shared) library. However, calls to static constructors/ -destructors are added. The code in the shared library must -be reentrant if you shared it between programs (tasks). The -ACE library meets this requirement.
- -Shared libraries reduce build time, executable size, and load -time of the executable. But, you must manually load the shared -library before loading your executable(s) with a command such as: -
--> ld < libACE.so
-
-Shared libraries can be unloaded the same way an executable
-(module) is unloaded.- -NOTE: Shared libraries on VxWorks aren't the same as -shared libraries on other operating systems. In particular, there is -no support for creating copies of writeable global (static) data in -the shared library. This includes the singleton ACE_Object_Manager -instance pointer. If you share global data between separate programs, -they may not work properly. See the discussion of shared code and -reentrancy in the VxWorks' Programmers Guide.
- -Instead of trying to run separate programs onto a VxWorks target, we -recommend creating just one program, and spawning a thread for each -task. The TAO IDL_Cubit test collocation -test is a good example.
- -
LD make variable to the name of your linker. For
-example, to build a libACE.so for PowerPC that can be linked into
-the kernel:
-% cd $ACE_ROOT/ace -% make LD=ldppc shared_libs=1 --After building the shared lib, link it into the kernel by setting -the
MACH_EXTRA make variable in the kernel configuration
-Makefile. Then, build the kernel using make exe.- -
- -The ACE tests write their output files in a directory named -% perl run_test.pl -v -o > run_test.vxworks -
log/, below the current (tests) directory.-To run the tests from the build directory on an NT host where you crossbuild your -VxWorks ACE/TAO you can set up the Target Server File System (TSFS) in your Target Server -configuration. If you f.i. set the root for the TSFS to the root directory of your builddisk -you can set the default directory for the target by issueing the following command -from a Host shell: '@cd "/tgtsvr/{path to ACE}/ACE_wrappers/tests"'. -The '@' addition makes sure this command is executed for the target environment and not the -local host shell environment. -If you also issue the command 'cd {path to ACE}/ACE_wrappers/tests' you can execute the -generated one button testscript like: '< run_test.vxworks'. -
--Running the ACE tests automatically from the ACE autobuild tool using Target Server and Host -shell options is also supported. -
--If you don't have NFS included in your VxWorks kernel, you can use these steps, provided by -Clarence M. Weaver, -to run the tests and capture their output:
-
-
-
-
< run_test.vxworks from this target shell.-
-
putenv("ACE_TEST_DIR=/tgtsvr")
--
- -NOTE:The make (version 3.74) that is provided with -Tornado 2.2 cannot be used to build ACE. A working version is available -from the WindRiver support site, download the - -make3_80.gvk_patches and the - -make3_80.tor2_2.new_dependency_rules package and install them.
- -Using the Cygnus tools, this approach works: -
-
ACE_wrappers/include/makeinclude/platform_macros.GNU
- as usual for VxWorks. See
- the
- g++/VxWorks platform file for more information.-
ACE_wrappers/ace/config.h file that looks
- something like the following.
-#if defined (_MSC_VER) || defined (__BORLANDC__) -# include "ace/config-win32.h" -#else -# include "ace/config-vxworks5.x.h" -#endif -
-
ACE_ROOT, CPP_LOCATION,
- WIND_BASE, and WIND_HOST_TYPE environment
- variables.-
-
-
-
Tornado\host\x86-win32\bin\TorVars.bat. This is done
- implicitly within the Tornado IDE.-
ace_ld, you still need perl installed -
- see http://www.activestate.com/software/default.htm
- for Windows perl.-
ACE_ROOT defined
- before starting Tornado, you can specify an ACE Makefile as a Tornado
- target and Tornado will then call make from the menu.-
-
/tornado/host/x86-win32/bin: - /tornado/host/x86-win32/lib/gcc-lib/i386-wrs-vxworks/cygnus-2.7.2-960126: - /tornado/host/x86-win32/i386-wrs-vxworks/bin: - /ace/ace_wrappers/bin: - /gnuwin32/b18/H-i386-cygwin32/bin: - /gnuwin32/b18/tcl/bin: - /WINNT/system32: - /WINNT: - /WINNT/system32/nls/ENGLISH: - /bin -- - Other environment variables:
-
WIND_BASE=/tornado - SHELL=/bin/sh.exe - TERM=pcbios - TAO_ROOT=/ace/ACE_wrappers.vxworks/TAO - CPP_LOCATION=/Program Files/DevStudio/VC/bin/CL.EXE - GCC_EXEC_PREFIX=/tornado/host/x86-win32/lib/gcc-lib/ - WIND_HOST_TYPE=x86-win32 - ACE_ROOT=/ace/ACE_wrappers.vxworks -- -
/tornado is the root of the Tornado install
- ($WIND_BASE).
-
- /gnuwin32 is the root of a Cygnus GNU download and install.
-
- /bin content is:-
aced.dll - cygwin.dll - perl.exe - rm.exe - sh.exe - true -- -
aced.dll is produced in an ACE NT source tree according to
- documented procedure for Windows VC++ ACE build.
-
- cygwin.dll is from the Cygnus GNU software download and install.
-
- $ACE_ROOT/ace/config.h that looks
- like:-
#include "config-vxworks5.x.h" -- - And create a -
$ACE_ROOT/include/makeinclude/platform_macros.GNU
- that looks like:-
- WIND_BASE = /tornado - WIND_HOST_TYPE = x86-win32 - CPU = I80486 - include $(ACE_ROOT)/include/makeinclude/platform_vxworks5.5.x.GNU -- -
make --unix static_libs=1 --
ACE_wrappers/apps/gperf/src.- -
CPP_LOCATION=/Program Files/DevStudio/VC/bin/CL.exe - cd $TAO_ROOT/tao - /gnuwin32/b18/H-i386-cygwin32/bin/make -- -
CPP_LOCATION=/Program Files/DevStudio/VC/bin/CL.exe - cd $TAO_ROOT/orbsvcs/orbsvcs - /gnuwin32/b18/H-i386-cygwin32/bin/make -- -
-
Scenario: I was building the ACE and TAO for VxWorks -on NT. The target system was a PPC860 based chassis and another a NT -host based card.
-Host System:
-NT 4.0 workstation with 128 M RAM, 266MHz Pentium.
- -Software Needed For Building TAO
-1) Active State's ActivePerl from -http://www.activestate.com/software/default.htm -
- -2) Tornado 2.2.1 from Windriver.
- -3) Cygwin GNU to build TAO. It is available for NT as a freeware -from the Cygwin site
-The Cygwin Make (version 3.75) can only build the TAO not the -Tornado II make (version 3.74)
- -Environment Variables:
-On NT the environment Variables are set as follows, (from -Control Panel-> System -> Environment)
-I added following Environment variable entries to PATH
- -C:\Perl\bin\;
-C:\tornado\host\x86-win32\bin;
-C:\tornado\host\x86-win32\powerpc-wrs-vxworks\bin;
-C:\tornado\host\x86-win32\lib\gcc-lib\powerpc-wrs-vxworks\cygnus-2.7.2-960126;
-C:\Corba\Ace_wrappers\bin;
-C:\Cygwin\bin;
-C:\Cygwin\usr\bin;
-C:\bin
- -Additional Environmental variables and the values,
-CPU=PPC860
-LD_LIBRARY_PATH=
-SHELL=/bin/sh.exe
- -ACE_ROOT=/Corba/ACE_wrappers
-WIND_BASE=/tornado
-SHELL=/bin/sh.exe
-TERM=pcbios
-TAO_ROOT=/Corba/ACE_wrapper/Tao
-CPP_LOCATION=/Program Files/Microsoft Visual Studio/VC98/Bin/CL.exe
-GCC_EXEC_PREFIX=/tornado/host/x86-win32/lib/gcc-lib/
-WIND_HOST_TYPE=x86-win32
-PERL_PATH=/perl/bin/perl.exe
- -Directories of importance
-C:\Corba <-- Ace_wrappers (uzipped)
-C:\tornado <-- Tornado installed
-C:\Perl <-- Perl installed
-C:\Cygwin <-- Cygwin installed
-C:\bin <-- Copy these files,
-Ace.dll, <-- After you build Ace
-gperf.exe <-- After you build gperf
-Cygwin1.dll, <-- After you install Cygwin
-perl.exe, <-- After you install Perl
-rm.exe <-- After you install Cygwin
-sh.exe <-- After you install Cygwin
-true <-- After you install Cygwin
-Create Files
-1) C:\Corba\ACE_Wrappers\ace\config.h
-with entry
-#if defined (_MSC_VER) || (__BORLANDC__)
-#include "ace/config-win32.h"
-#else
-#define ACE_HAS_IP_MULTICAST
-#include "ace/config-vxworks5.x.h"
-#endif
- -2) C:\Corba\ACE_wrappers\include\makeinclude\platform_macros.GNU
-WIND_BASE = /tornado
-WIND_HOST_TYPE = x86-win32
-include -$(ACE_ROOT)/include/makeinclude/platform_vxworks5.5.x.GNU
-ACE_COMPONENTS=FOR_TAO (you may choose this option to build ACE -library that supports TAO)
- - -Steps to Build
-1) Build Ace.dll under NT
-In MS Visual C++ open C:\Corba\ACE_wrappers\ace.sln And build Ace -DLL
-Copy Ace.dll in C:\bin
- -2) Build gperf utility under NT
-In MS Visual C++ open -C:\Corba\ACE_wrappers\apps\gperf\src\gperf.sln. Build gperf.exe
-Copy gperf.exe to C:\bin
- -3) Mount Directries in Cygwin
-Click on Cygnus Solutions -> Cygwin Bash Shell
-Mount following directories by using mount command.
-create respective directories first then use mount command
- -e.g. Create /Corba directory then use $mount -s "C:\Corba" -/Corba
- -C:\Corba mount to /Corba
-C:\tornado mount to /tornado
-C:\Perl mount to /perl
-C:\Cygwin mount to /cygwin
-C:\bin mount to /bin
-C:\Program Files mount to /Program Files
- -4) Build ACE in Cygwin
-$cd /Corba/ACE_wrappers/ace
-$make static_libs=1
-This will build your ace library libACE.a for VxWorks. If you use -option shared_libs=1 then the build will be libACE.so. The other -options are same as follows.
- -5) Build TAO in Cygwin
-$cd $TAO_ROOT/tao
-$make debug=0 optimize=1 static_libs_only=1 minimum_orb=1 -
-for shared libs use shared_libs=1
- -The minimum Tao does not have following components,
-Dynamic Skeleton Interface
-Dynamic Invocation Interface
-Dynamic Any
-Interceptors
-Interface Repository
-Advanced POA features
-CORBA/COM interworking
- -You may play around with above options to find suitable build for -your needs. For example when you give option debug=1 all the debug -symbols will be created and the build will huge in size. The debug -symbols are necessary when you want to debug your code.
- --
- -
main) contained in $ACE_ROOT/netsvcs/servers/main.cpp
- should also be compiled and ready to run.- -
LD_LIBRARY_PATH environment variable to
- where the binary version of the ACE netsvcs library. For
- example, you probably want to do something like the following- -
- % setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH
- - -
main driver program dynamically.
- To specify which services should be linked in and executed, edit the
- $ACE_ROOT/netsvcs/servers/svc.conf
- file. During your editing, you should update information (such as the
- default service port numbers) that affects the initialization of
- services in this file. Refer to the
- Service Configurator
- documentation to learn how the configuration file is parsed and
- how the services are dynamically linked and executed. In
- addition, refer to the Network
- Services documentation to learn more about how to configure
- each network service.- -
-
-
- -
The first step for all platforms is to build and install the -OpenSSL distribution. The -ACE_SSL library must then be built according to the instructions -below.
-LD_LIBRARY_PATH). If you
- installed OpenSSL into a set of directories unknown by the compiler,
- set the SSL_ROOT environment variable to point to the
- top level directory of your OpenSSL distribution, i.e. the one
- containing OpenSSL's include and lib
- directories.ssl=1
- to your make
- command line invocation, or add it to your
- platform_macros.GNU file.ACE_ROOT environment variable should be set
- prior to this point.SSL_ROOT environment variable to the location
- of the directory containing the OpenSSL inc32 and
- out32dll directories.
- ssl=1 to your MPC
- $ACE_ROOT/bin/MakeProjectCreator/config/default.features
- or $ACE_ROOT/local.features file, and re-run MPC to add
- support for building the ACE_SSL library to your MSVC++
- workspaces and projects.
- ACE.sln solution, and refer to the ACE build
- and installation instructions above for details on creating a
- config.h configuration header for this platform. Once
- the config.h file has been created, build the
- ACE_SSL project.Support for building ACE's ACE_SSL library and TAO's SSLIOP - pluggable protocol with CodeGear C++ does exist. -
SSL_ROOT environment variable to the location
- of the directory containing the OpenSSL inc32 and
- out32 directories.
- ssl=1 to your MPC
- $ACE_ROOT/bin/MakeProjectCreator/config/default.features
- or $ACE_ROOT/local.features file, and re-run MPC to add
- support for building the ACE_SSL library to your CodeGear C++ makefiles.
- -
ACE_Reactors for various GUI
-libraries.
- ACE_wrappers/bin/MakeProjectCreator/*.features file, or pass them directly to MPC
- using -features command line option. For example, for FlReactor the procedure
- consists of five steps
- x11 (X11 libraries) is missing.$ mwc.pl -type gnuace
- Skipping ACE_FlReactor (ace_flreactor.mpc), it requires x11.
- X11 libraries are installed, then pass x11=1 feature to MPC.
- gl (OpenGL library) is missing.$ mwc.pl -type gnuace -features x11=1 ace.mwc
- Skipping ACE_FlReactor (ace_flreactor.mpc), it requires gl.
- OpenGL libraries are installed, then pass gl=1 feature to MPC.
- fl (Fast Light Toolkit) is missing.$ mwc.pl -type gnuace -features x11=1,gl=1 ace.mwc
- Skipping ACE_FlReactor (ace_flreactor.mpc), it requires fl.
- Fast Light Toolkit libraries are installed, then pass fl=1
- feature to MPC.
- ace_flreactor feature is missing$ mwc.pl -type gnuace -features x11=1,gl=1,fl=1 ace.mwc
- Skipping ACE_FlReactor (ace_flreactor.mpc), it requires ace_flreactor.
- FlReactor by setting ace_flreactor=1 feature.
- FlReactor.$ mwc.pl -type gnuace -features x11=1,gl=1,fl=1,ace_flreactor=1 ace.mwc
- ACE_wrappers/bin/MakeProjectCreator/global.features. For examples to generate
- files related with Fl one has to provide only fl=1 feature. To obtain a more fine grained controll
- over MPC generation process one may modify ACE_wrappers/bin/MakeProjectCreator/*.features
- files.
- MPC::gnuace one has to call
- make fl=1. For MPC::vc7 target all features are
- encoded in generated project files, thus it is enough to compile ACE using MSVC.
- Qt and Linux one gets libQtReactor.so, while for
- Windows the results are shared QtReactor.dll and import
- QtReactor.lib libraries or their variants depending on build options.
- When compiling TAO also GUI related libraries are created like libTAO_QtResource.so.
- ACE_[GUI]Reactor library. When using TAO support for GUI one has
- also to link with specific TAO_[GUI]Resource library.ACE_wrappers/bin/MakeProjectCreator/[ace,tao]_[gui][reactor,resource].mpb
- may be an examples of how to do this.ace_[gui]reactor.mpb base projects. To employ TAO support for GUI one should derive
- the project from tao_[gui]resource.mpb These base projects ensure that all necessary libraries
- are linked to the application, specifies features necessary to build a project and moreover impose a
- build order consistant with ACE. For example, the application project using XtReactor should be
- derived from ace_xtreactor.mpb.QtReactorace_qtreactor [1 by default] feature.
- To build this reactor one has to provide feature qt [0 by default] (Qt library). Moreover,
- it is assumed that Qt was installed in a standard way
- and QTDIR points to Qt installation folder. To build TAO
- support for Qt one should use tao_qtresource [1 by default] feature.
- XtReactorace_xtreactor [1 by default] feature.
- To build this reactor one has to provide the following features: x11 [1 by default]
- (X11 libraries) and xt [1 by default] (X11 Toolkit).
- Moreover, some examples and tests related with XtReactor
- needs additionall features namely either motif [0 by default] (Motif/Lesstif libraries) or
- athena [0 by default] (Athena widgets). To build TAO
- support for xt one should use tao_xtresource
- [1 by default] feature.
- TkReactorace_tkreactor [1 by default] feature. To build this reactor one has to provide
- tk [0 by default] (Tcl libraries) feature. To build TAO
- support for Tk one should use tao_tkresource [1 by default] feature.
- FlReactorace_flreactor [1 by default] feature.
- To build this reactor one has to provide the following features: x11
- [1 by default] (X11 libraries),
- gl [1 by default] (OpenGl) and fl
- [0 by default] (Fast Light Toolkit). To build TAO
- support for Fl one should use tao_flresource [1 by default] feature.
- MS Windows: The paths to fltkdll and
- OpenGL32 libraries, as well as fltk header files
- should be setup manually for succesfull compilation. Obviosuly,
- x11switch is ignored for this platform.
- - - Please see the Non-static - ACE_Object_Manager discussion below.
- -
- - Take a look at (CE-status.txt) for - up-to-date information about ACE on Windows CE and Windows Mobile. - -
- - All the source code and tests should build and run without any - problems on Solaris 7, 8, and 9 platforms using the above - Sun C++ compilers. - - There are likely to be build problems with older versions or - different patchlevels of Sun C++. Likewise, on - Solaris with g++ you may need to use GNU as instead of - /usr/ccs/bin/as, if you want -gstabs+ and -pipe support. - - Thanks to Susan Liebeskind <shl@janis.gtri.gatech.edu> - for providing the following useful information:
-
- By default, ACE uses both the Solaris and POSIX thread
- interface. To disable use of the Solaris thread interface, add
- -D_POSIX_PTHREAD_SEMANTICS to the
- CFLAGS in your
- $(ACE_ROOT)/include/makeinclude/platform_macros.GNU.
- See the Solaris Intro (3) man page for more information.
-
- To disable ACE thread support completely, build with the
- threads=0 make flag. See the Makefile Flags section below for more
- information on make flags.
- - If you use g++ on Solaris 7, you might need to rebuild - it on a SunOS 5.7 (Solaris 7) host. Some versions of g++ - provide replacements for system header files. The - replacements on older SunOS systems are not compatible with the - SunOS 5.7 system headers.
- -- - ACE is currently supported on AIX 5.2 and higher using IBM's - Visual Age C++ 6 and XL C++ 7 compilers as well as g++ 3.2.
-
- The ace/config-aix-5.x.h file is recommended for all
- compilers on all AIX 5L versions. The Asynchronous I/O functionality
- is disabled by default because its use requires the system administrator
- to explicitly enable it in the kernel using SMIT. If this has been
- done and you want to enable asynchronous I/O support in ACE, add:
- #define ACE_HAS_AIO_CALLS to your config.h
- file before including ace/config-aix-5.x.h.
- - The Visual Age 6.0.0.3 and 6.0.0.4 do have some bugs that makes - them unusable for building TAO. TAO has been tested with 6.0.0.12 and - had no problems with that version.
-
- For your platform_macros.GNU file, you should use
- platform_aix_ibm.GNU when building ACE with any of the
- IBM compilers and platform_aix_g++.GNU when building ACE
- with g++.
- - BTW, here's a technique from Rob Jordan <jordan@hursley.ibm.com> - that can reduce the size of the ACE libraries by about one - third, and can also be applied to applications. It works by - optimising the sharing of template functions, which are created - in an "unusual" way under AIX. It also speeds up - compilation.
- - Here's how to optimise the ACE library generation:
-
- Look at the ace/GNUmakefile.ACE
- in $ACE_ROOT/ace. Create a file called
- ACE_All_Src.cpp, and add a line to #include
- each of the source files
- listed under FILES= in the GNUmakefile. Create a
- file called ACE_All_Tmp.h
- and add a line to #include each of the .h files listed under
- TEMPLATE_FILES= in the GNUmakefile. Now update the
- GNUmakefile so that
- FILES=ACE_All_Src and
- TEMPLATE_FILES=ACE_All_Tmp.
- -
-
- ACE has been ported to Linux on
- Intel, Alpha, and PowerPC platforms. If you use a RedHat 5.x
- distribution, it's best to use RedHat 5.1 or later. ACE works
- without any modifications on RedHat 5.1 and later, and on
- Debian 2.1 on both Intel and Alpha. Use the
- platform_linux.GNU and ace/config-linux.h
- in your platform_macros.GNU and
- config.h files, respectively. The same
- files can be used on PowerPC, with LinuxPPC
- 1999 (R5), with glibc 2.1.1.
-
- If you run out of memory, it's easy to add virtual memory on
- Linux. Please see the mkswap man page. You'll
- need at least 256 to 300 Mb of virtual memory (RAM + swap) to
- compile all of ACE+TAO. The System
- Resource Requirements section has some suggestions on how
- to reduce the memory requirement.
-
- The glibc 2.0 dynamic loader isn't thread safe. If you want to
- use the Invocation API you'll have to set
- LD_BIND_NOW=true. If you want to use
- dlopen, you should use RTLD_NOW. The
- dynamic loader in glibc 2.1 is thread safe.
- - NOTE: The TAO NameService uses IP multicasting - by default, though it is not required. IP multicast on Linux - requires the following:
- -
-
ace/config-linux-common.h. If you don't use
- IP multicast, add #define ACE_HAS_IP_MULTICAST 0
- to your ace/config.h before building ACE.-
eth0. If
- you don't have or use linuxconf, try adding a multicast
- routing table entry using something like this:-
# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
- -
- -
- - ACE has been ported to SCO UNIX using the GNU g++ 2.7.2 - compiler. Arturo Montes <mitosys@colomsat.net.co> - maintains this code. In addition, he also maintains a version - of FSU pthreads.
- -
- - ACE used to build fine using the SGI C++ and GNU GCC compilers - for IRIX 5.x. It has been ported to IRIX 6.x using the SGI - MipsPro 7.1 C++ compiler; be aware that in IRIX 6.2 there is a - number of patches that have to be installed and exceptions - appear to fail with the O32 ABI. Please check the config files - for the details.
- -
- - The Digital UNIX C++ 5.4 through 5.7 compilers have problems - with ACE's templates. They compile the lib and most of the test - programs, although they warn about template usage. Most tests - run, some dump core. If you use a 5.x version of cxx, be sure - to set the CXX_VER variable to CXX_5, either on your make - command line or in an environment variable. The ACE Makefiles - assume by default that the cxx version is 6.x or later.
- - CXX 6.0 and 6.1 are much improved over 5.x: V6.0-020, V6.1-025, - and later build all of ACE cleanly. All of the tests in - $(ACE_ROOT)/tests run successfully with CXX 6.0 and CXX 6.1. - Please note that problems have been reported with some versions - of CXX 6.1, notably versions -021 and earlier. It's best to use - V6.1-022 or later.
-
- NOTE: if you use Digital UNIX 4.0f or later, you must
- use ace/config-tru64.h instead of
- ace/config-osf1-4.0.h. ace/config-tru64.h
- can be used for all supported compilers on any version of
- Digital UNIX after and include 4.0. And, with 4.0f and later when
- using Digital CXX, you must use
- include/makeinclude/platform_tru64_cxx.GNU instead of
- include/makeinclude/platform_osf1_4.0.GNU.
- - FreeBSD is a fast evolving platform. However, it has the - advantage of having standard releases. At this moment, ACE is - only perodically tested against -stable (3.1R) and we rely a lot - on FreeBSD users' feedbacks.
-
- Notice that on older FreeBSD, ld.so only looks for
- so libraries with version number appended. ACE makefiles
- create symlinks for most shared libraries if
- versioned_so is defined to 1 in
- $ACE_ROOT/ace with appropriate ACE version.
- However, this does not work for libACE.so itself so you have to
- create it manually (If you figure out how to do this, please let
- us know) like this:
-
- ln -sf $ACE_ROOT/ace/libACE.so $ACE_ROOT/ace/libACE.so.4.5
- - On newer FreeBSD (3.0 or later,) this is no longer necessary.
- -
-
- Like older FreeBSD, NetBSD's ld.so also requires
- versioned .so files.
- -
- - ACE has been ported to OpenBSD 3.1 and GNU g++ 2.95.3.
- - As with FreeBSD and NetBSD, OpenBSD requires versioned .so - files. This is currently handled by the build files and no - additional work is needed.
- - ACE has been ported to OpenBSD with and without pthreads - enabled. When using pthreads, though, C++ exceptions must be - disabled. This is a known problem with the current release of - OpenBSD (see www.openbsd.org, bug #1750). ACE emulated - exceptions work fine.
- - Compiling TAO may require the user data segment size - restrictions and possibly other options to be increased. This - is done by modifying the default user class in /etc/login.conf - or by adding a new class and modifying the master passwer file - accordingly.
- -
- - Steve Huston <shuston@riverace.com> - has ported ACE to work with UnixWare 2.01 and g++.
- - Ganesh Pai <gpai@voicetek.com> - subsequently did the port for version 2.1.2, also with g++.
-
- Phil Mesnier <
- mesnier_p@ociweb.com> updated the port to support
- UnixWare 7.1.0, with help from Michael Meissnitzer
- <
- michael.meissnitzer@siemens.at>, Christian Klepp <
- christian.klepp@siemens.at
- > and Engelbert Staller <
- engelbert.staller@siemens.at>
- Building ACE (and TAO) on Unixware 7.1.0 requires a very specific
- g++ build environment. In particular, you must build and install
- g++ 2.95.2, along with binutils 2.9.1. The order (and the declaration
- of configuration) is extremely important. Using the gcc compiler
- provided on the Skunkware CD on a pentium system, here is the recipe
- I used to build a working environment (as root):
-
mkdir /usr/local/newgnu -< ftp and untar binutils-2.9.1 > -< ftp and untar gcc-2.95.2 > - mkdir -p build/binutils build/gcc - cd build/binutils - ../../binutils-2.9.1/configure i386-sco-sysv4 - gmake # takes a long time - gmake install # this creates /usr/local/i386-sco-sysv4/... - mkdir /usr/local/i486-pc-sysv5/bin - cd /usr/local/i486-pc-sysv5/bin - for a in /usr/local/i386-sco-sysv4/bin/*; do ln -s $a .; done - #links all the newly installed utilities - - cd /usr/local/newgnu/build/gcc - ../../gcc-2.95.2/configure --with-gnu-as --with-gnu-ld - gmake bootstrap # takes a long time - gmake install - mkdir /usr/local/i586-UnixWare7.1.0-sysv5/bin - for a in /usr/local/i386-sco-sysv4/bin/*; do ln -s $a .; done -- Once done, ACE and TAO will successfully build and link.
- -
- - ACE builds and runs properly on LynxOS 4.0 for Intel - and PowerPC targets. LynxOS 2.x and 3.x are no longer supported. - - If you run out of memory on LynxOS, these might help:
- -
/etc/starttab,
- then reboot system. We use these limits:
- # Data, stack, and core file limits (in Kbytes) -80000 -16000 -102400
-
# mkcontig /swap 320 -# prio 17 vmstart /swap- See the
mkcontig and vmstart
- man pages, and /bin/rc.-
-
- NOTE: if you want to use IP multicast on LynxOS, be sure to add
- this line to your /net/rc.network, and reboot:
-
- /bin/route add "224.0.0.0" "$my_name"
-
-
- - - David Levine - <levine@cs.wustl.edu> has - ported ACE to VxWorks 5.2/5.3/5.3.1/5.4 with the GreenHills - 1.8.8/1.8.9, g++ and diab compilers that are distributed with - VxWorks/Tornado. It is not possible to use VxWorks 5.4 - and earlier with ACE anymore because the compilers delivered with - 5.4 and earlier don't support the C++ features ACE needs.
- - At this moment Remedy IT is upgrading - and stabilizing ACE/TAO support for Tornado 2.2/VxWorks 5.5.1. - Since the existing support for previous VxWorks version has been unsupported - and broken for some time and most (potential) users seem to have upgraded to - VxWorks 5.5.1 no backporting effort is done. See also here. -
-
- Tornado 2.2/VxWorks 5.5.1 support IP multicast. That is not enabled
- by default in ACE for VxWorks, because it depends on your
- kernel configuration. To enable it, add
- #define ACE_HAS_IP_MULTICAST to your
- ace/config.h.
- - NOTE: In order for the ACE Broadcast and Multicast tests to work the VxWorks kernel - should receive the packages it sends out locally. By default this is not supported. - To enable this behaviour you need to include the IFF_SIMPLEX flag for your required - NIC driver. See the following Windriver SPR 4542 - for more information.
- - In addition to all of the other benefits of ACE, it helps work - around some deficiencies with VxWorks. The problems are:
- --
- -
- -
-
- ACE destroys dynamically
- allocated singletons in the ACE library. But, they may not
- properly destroy some static objects. If you have trouble
- running a program multiple times, it may be necessary to unload
- the module, using unld, and reload it between runs.
- Alternatively, you could try calling cplusDtors and
- then cplusCtors between runs.
- -
- - All of ACE has been ported to OpenEdition by Chuck Gehr <gehr@sweng.stortek.com>. - The ACE library, all the tests and most of the examples and apps - build clean. There are still some problems that need to be - ironed out:
- - MVS does not support the dynamic linking dl...() calls that the - Service Configurator uses to dynamically link services at run - time. As a result, all the examples and apps that use a svc.conf - file (for dynamically configuring service objects) do not work, - however, most of these apps can be built/run statically. Also, - the Svc_Conf_l.cpp and Svc_Conf_y.cpp files are generated using - flex and yacc on a ascii (not ebcdic) machine and as a result - they don't work very well with ebcdic svc.conf files. We should - be able to regenerate these files on MVS but MVS doesn't have - flex. This is something that needs to be done.
- - Some of the tests do not execute properly. This is a minority - and over time the goal is to get to 100%.
- - The make scheme for some of the apps still doesn't work - perfectly on MVS. This is mainly due to the way shared - libraries are handled on MVS. See additional - build tips for MVS for more on this.
- -
- - ACE has been ported to QNX Neutrino - 2.0. We cross-compile for Neutrino on a QNX4 host using g++ - 2.8.1, using the ace/config-qnx-neutrino.h - and include/makeinclude/platform_qnx_neutrino.GNU - configuration files. Many of the ACE tests succeed, though some - fail. As the porting effort progresses, we hope to eliminate - these failures. If you know of fixes, please send them to - us.
-
- - ACE has been ported to QNX RTP - . We compile for QNX RTP using the GCC compiler shipped with the - distribution, using the ace/config-qnx-rtp.h - and include/makeinclude/platform_qnx_rtp_gcc.GNU - configuration files. - Many of the ACE tests succeed, though some - fail. As the porting effort progresses, we hope to eliminate - these failures. If you know of fixes, please send them to - us.
- - Under the current version of QNX RTP ACE fails if compiled with - inline=0 .
- -
-
- The support for RTEMS has been reviVed from version x.5.4. This version
- was the first version that build again out of the box on RTEMS. Compilation
- and testing was done for RTEMS with and without networking support. The
- ACE GNU makefiles do automatically detect whether networking support
- is available or not.
-
- Besides the standard config.h/platform_macros.GNU file you will need
- to set RTEMS_MAKEFILE_PATH to point to the location
- of your RTEMS installation, see below for an example.
export RTEMS_MAKEFILE_PATH=/opt/rtems/CPU-rtems/BSP
- When building without network support you will need the ace_for_tao
- subsetting functionality enabled. For this add ace_for_tao = 1
- to your bin/MakeProjectCreator/config file and regenerate the
- GNU makefiles as described here.
- -
- - ACE has been ported to Ardence's - PharLap ETS - version 13. The port was originally done for Pharlap 9.1 and MSVC 6, - but has been updated to Pharlap ETS 13 with Visual Studio .NET 2003 - (VC7.1).
To build for PharLap, you'll need to use MPC to - generate .sln/.vcproj files with the ETS configurations. For example: -
-cd \ace\ACE_wrappers -perl bin/mwc.pl -type vc71 -relative ACE_ROOT=C:/ace/ACE_wrappers -relative TAO_ROOT=C:/ace/ACE_wrappers/TAO -value_template configurations='"ETS Debug"' -value_template configurations+='"ETS Release"' -name_modifier *_ETS TAO_ACE.mwc -- That command will generate the same .sln and .vproj files as for - regular Windows builds with VC7.1, but they'll have names with an -
_ETS suffix and will include the "ETS Debug" and
- "ETS Release" configurations.- After generating the needed VC7.1 files, use the ace/config-pharlap.h - configuration file, and the instructions - for building on Windows. Building the ACE library is the same as - for regular Windows platforms, except you choose one of the PharLap - ETS configurations to build within Visual Studio. - For an example of how to build binaries, see the tests directory. - The tests_pharlap_msvc.lnk file is a LinkLoc commands file that the - ACE tests are built with. It is likely that local sites may need - to adjust this file for their target environment. -
- When executing programs on the target system, it is possible that not - all of the VC++ support DLLs are resident on the target. In particular, - the debug-supporting DLLs may not be present. If you require these, be - sure to add those needed. For example, on the standard LabVIEW RT 8.2 - distribution using Pharlap ETS, the following DLLs must be copied to - the target before being able to run Debug programs: -
-
- #define ACE_PHARLAP_LABVIEW_RT
-
- This setting makes the necessary adjustments for LabVIEW's implementation
- of Pharlap ETS.log directory under the
- current working directory while executing, add the following line to
- your config.h file:
-
- #define ACE_PHARLAP_TESTLOG_TO_FILE
-
- This setting has no affect on TAO tests which always write test output
- to stdout.
-
- -
ACE builds and runs on Mac OS X 10.2.x, but the following are - needed to build it:
- -1. The latest version of the Apple Developer Tools - (December 2002)
-2. The dlcompat library (obtained either through Fink or - SourceForge)
- -When creating $ACE_ROOT/ace/config.h for Mac OS X, you need - to add the following if you obtained dlcompat via Fink:
- -#define ACE_NEEDS_DL_UNDERSCORE
- -You'll also need to do:
- -setenv DYLD_LIBRARY_PATH $ACE_ROOT/ace:$ACE_ROOT/lib
-setenv MACOSX_DEPLOYMENT_TARGET 10.2
- -Currently, all ACE tests pass except Process_Mutex_Test and - MEM_Stream_Test. Also, Mac OS X doesn't yet support *nix - aio_* calls, and ACE does not know anything about Mach.
- -The work to port ACE to Mac OS X was done by several people, - John Zorko - <j.zorko@att.net> is - only one of them.
- -- -
ACE builds and runs on the iPhone/iPod Touch/iPad Hardware - and Simulator. Keep in mind that ACE/TAO needs to be built - statically since Apple does not allow third party dynamic libraries - to be deployed on the hardware. The following are needed to build ACE:
- -1. The iPhone SDK.
-2. When creating $ACE_ROOT/ace/config.h, include - config-macosx-iphone-hardware.h if you want to deploy on the - hardware, include config-macosx-iphone-simulator.h if you want - to deploy on the simulator. Even though those includes are named - after the iPhone, the includes work for iPhone/iPod Touch, and iPad.
-3. You need to define two environment variables. The first is - IPHONE_TARGET. Set IPHONE_TARGET to SIMULATOR if you want to deploy - on SIMULATOR. Set IPHONE_TARGET to HARDWARE if you want to deploy on - the hardware device.
-4. When creating $ACE_ROOT/include/makeinclude/platform_macros.GNU, - include 'include $(ACE_ROOT)/include/makeinclude/platform_macosx_iphone.GNU' - in the file.
- - - -- -
config.status
- file. This file is produced when installing gcc; it specifies
- where to install the binary files that gcc uses. For example,
- it specifies whether to use Solaris's /usr/ccs/bin
- binary utils or GNU binary utils. The
- config.status file is an output of the gcc
- configure script; it is preferable to use the
- --prefix option to configure instead
- of hacking its output.- -
-
- NOTE: if you do use the GNU linker, you might need to change
- the -G flag to -shared in
- the SOFLAGS definition in your
- include/makeinclude/platform_macros.GNU.
- -
- -
collect2.- -
-
- -I usually make: -
$ACE_ROOT/ace, - $ACE_ROOT/apps/gperf, - $TAO_ROOT/tao, - $TAO_ROOT/TAO_IDL, and - $TAO_ROOT/orbsvcs/orbsvcs --and the whole make takes less than an hour on my Solaris 7 for intel, -Pentium-III/550MHz, 256MB memory, 512MB swap machine. (Top secret: I -renice the 'make' process to the highest priority, -20... ;-) - -To save time and space, I set -
TAO_ORBSVCS = Naming Time Trader ImplRepo --in
$ACE_ROOT/include/makeinclude/platform_macros.GNU also. See
-TAO's orbsvcs
-library customization instructions for more information.- - -
- -Much less disk space is required for just the libraries. For example, -see the ACE -library subset sizes.
- -If you run out of memory when building, you might consider trying -some or all of these suggestions:
-
-
-
-pipe from
- CFLAGS in your
- include/makeinclude/platform_macros.GNU file.-
ACE_COMPONENTS in the
- ACE subsets page. For TAO's
- orbsvcs, see the discussion of TAO_ORBSVCS in
- orbsvcs Library configuration information.- -If disk space is a problem, disabling debugging should greatly -reduce object code, and therefore, library size. This is especially -true with g++.
- -Toshio Hori <toshi@etl.go.jp> provided these tips for reducing -disk space usage:
- -To save space on a Unix machine, I usually run - 'find . -name \*.sln -o -name \*.vcproj -o -name \*.bmak | xargs rm -f' -in $ACE_ROOT at first after I untar the distribution. They are -meaningless in my environment (Files named '*.sln' and '*.vcproj' are -used for MSVC++ and files named '*.bmak' are for CodeGear C++ -Builder.)
- -Finally, to save space, may want to run 'make clean' after 'make'. It -removes generated object files and leaves libraries/executables -intact. If you want to remove any of the libraries/executables, as -well, try 'make realclean'.
- -
-
- -A common usage for creating a Windows workspace containing just the -core ACE and TAO libraries and executables is the following: - -
-C:> cd %TAO_ROOT%
-C:> %ACE_ROOT%\bin\mwc.pl -type vc71 TAO_ACE.mwc
-
-
-Replace vc71 with whatever project type you want to use. On Linux and
-other UNIX platform use the gnuace type: - -
-% cd $TAO_ROOT
-% $ACE_ROOT/bin/mwc.pl -type gnuace TAO_ACE.mwc
-
-
-this creates the appropriate GNUmakefiles. Additional information on
-how to obtain, configuration, and build ACE+TAO using MPC appear at
-the OCI FAQ.
-
-If you are attempting to generate project files using MPC, and you get
-the following error message:
-
-
ERROR: Unable to find the MPC modules in /builds/ACE_wrappers/MPC. -You can set the MPC_ROOT environment variable to the location of MPC. -- -You need to do one of the following: - -
svn co svn://svn.dre.vanderbilt.edu/DOC/MPC/trunk MPC -- -The README and USAGE files in the MPC/docs directory are an up-to-date -source of documentation, however it is not a complete set of -documentation. The TAO Developer's Guide from OCI starting with the -1.3a version contains more information about MPC.
- -The MPC chapter from the TAO Developer's Guide is available at -http://downloads.ociweb.com/MPC/. Some of MPC has changed since -this version, but it is largely accurate. An updated version will be -available as newer versions of the TAO Developer's Guide are released. -In the meantime, please see the README and USAGE files in the MPC -directory. - -
--
-The Eclipse CDT C++ development environment can be used to develop ACE applications. You can configure a new CDT project to build ACE using either a local source distribution or checking out ACE from CVS in Eclipse. These are the steps to create the CDT project to build ACE. -
- --
-
-
-
ACE::init () and ACE::fini
-(). The comments in the header file,
-ace/Object_Manager.h, as well as Section 1.6.3 in
-The ACE Programmer's Guide
-provide more detail.
-
-
-Special requirements are imposed on applications if the
-ACE_Object_Manager is instantiated, by ACE, on the stack of the main
-thread. This behavior is selected by defining
-ACE_HAS_NONSTATIC_OBJECT_MANAGER in
-ace/config.h. Again, see the ACE Object_Manager header file,
-ace/Object_Manager.h for more information. One of
-these requirements is discussed here, because it is so important.
-Please note that ACE_HAS_NONSTATIC_OBJECT_MANAGER is
-defined in the distributed ACE config.h headers for
-VxWorks and Win32.
-
-The important requirement is that the program must
-declare its main function with two arguments, even if
-they're not used, and with int return type:
-
-
-int
-main (int, char *[])
-
-
-If you don't declare main exactly that
-way, then you'll see a link error about ace_main_i being
-undefined.
-
-Alternatively, this feature can be disabled by commenting out the
-#define ACE_HAS_NONSTATIC_OBJECT_MANAGER in the
-ace/config.h. But, that will make repeated testing more
-difficult on VxWorks. And, you'd either have to call static
-constructors and destructors manually or unload/load the program
-between runs. On Win32, disabling the feature can possibly lead to
-shutdown difficulties.
-
-
-ACE_HAS_NONSTATIC_OBJECT_MANAGER assumes that your
-main function is named main. Any violation
-of this assumption is at your peril. If you really need to call your
-entry point something other than main, you'll need to
-construct and destroy the ACE_Object_Manager. The best way to do that
-is to call ACE::init () and ACE::fini ().
-Or, see the #define of main (int, char *[])
-in ace/OS_main.h to see how ACE does
-that for entry points named main.
-
-
-
- -
% cd ACE_wrappers -% mkdir build build/build-SunOS5 -% perl bin/create_ace_build.pl -a -v build-SunOS5 -% cd build/build-SunOS5 -% setenv ACE_ROOT $cwd -% make -
-
-This will establish a complete tree of links. In addition, make sure
-you set your LD_LIBRARY_PATH to
-$ACE_ROOT/lib:$LD_LIBRARY_PATH on SVR4 UNIX
-platforms.
- -When you do a make in the $ACE_ROOT directory you will be producing -object code that is not stored in the same place as the original -source tree. This way, you can easily build another platform in a -parallel tree structure.
- -See the comments at the top of the create_ace_build.pl script for -further usage information. - -
-
- -You can get a copy of GNU make that has been ported to MVS OpenEdition from -the IBM OpenEdition web site. -ACE's make scheme generates compile commands that have options and -operands interspersed. By default, the c89/cc/c++ compiler expects all options to -precede all operands. To get around this, you must set a special -compiler environment variable (_CXX_CCMODE) to 1 which tells the compiler -to allow options and operands to be interspersed.
-
-Note that the environment variable LD_LIBRARY_PATH is
-called LIBPATH on MVS.
- -Shared objects are built a little different on MVS than on -other UNIX implementations. This has been accounted for in the makefiles -that come with ACE When the linker (via the cxx command) builds the -libACE.so file it will also create a file called libACE.x. This is a -side-deck file and it must be included in subsequent link edits with -application code. For more information on this see the C/C++ MVS -Programming Guide. If you want to build your application statically, -i.e., using libACE.a instead of libACE.so, you can set ACELIB to -ACELIB_STATIC in platform_mvs.GNU.
- -When the libACE.so file is built (via the MVS pre-linker and binder), you -will get a rc=4 from the pre-linker. This is ok. This is due to some -warnings about unresolved references which should get resolved during the -link step. Note, however, there shouldn't be any unresolved references -from the binder (linkage editor). You can get pre-link and link maps by -uncommenting the PMAP and LMAP lines in the platform_mvs.GNU file. - -
-
- -
-% make -j n
-
-
-which allows parallel compilation. The number n should
-typically be the number of CPUs. It is likely that builds will be
-faster even on single-CPU UNIX machines with make -j
-2.
-
-ACE further supports the following flags. They can be enabled either
-on the command line, e.g., "make purify=1", or added to your
-platform_macros.GNU. To disable the option,
-set the flag to null,
-e.g., "make debug=". Some flags support setting to 0 disable, e.g.,
-"make debug=0". debug=1 is enabled in the platform files that are
-released with ACE.
- -Please note that the effects of a flag may be platform specific. -Also, combinations of certain flags may or may not be allowed on -specific platforms, e.g., debug=1 opt=1 is supported by g++ but -not all other C++ compilers.
-
-If you use Purify or Quantify: purify or quantify must
-be on your PATH. By default, ACE puts the Purify/Quantify
-caches below /tmp. To override that, set the
-PURE_CACHE_BASE_DIR variable, either in your environment
-or on the make make command line, to the destination
-directory for your instrumented libraries.
- -
Flag Description ----- ----------- -debug Enable debugging; see DCFLAGS and DCCFLAGS. -exceptions Enable exception handling (not supported by all platforms). -include_env Support old-style ACE_TRY_ENV declarations in methods. - This switch is necessary for compiling TAO applications - in the native exception configuration that were written - for TAO versions before 1.2.2. - In TAO 1.2.2, new macros were introduced that supercede - the direct ACE_TRY_ENV declarations. These are the - ACE_ENV_ARG macros that are defined in ace/CORBA_macros.h - and are documented in docs/exceptions.html. - This switch only affects the exceptions=1 configuration. - It is for backward compatibility only. - There will be warnings about unused _ACE_environment_variable - parameters when using include_env=1. - If possible, do not use it, but instead change your TAO - applications to use the ACE_ENV_ARG macros. -fast Enable -fast option, e.g., with Sun C++. -inline Enable ACE inlining. Some platforms enable inlining by - default, others do not. -optimize Enable optimization; see OCFLAGS and OCCFLAGS. -pace Enable PACE as the underpinnings of ACE_OS. -probe Enable ACE_Timeprobes. -profile Enable profiling; see PCFLAGS and PCCFLAGS. -purify Purify all executables. -quantify Quantify all executables. -repo Use GNU template repository (g++ with repo patches only). -rtti Enable run-time type identification. On some platforms, - it is enabled by default, so this is ignored. -shared_libs Build shared libraries. Ignored if static_libs_only is set. -static_libs Build shared libraries. Ignored if shared_libs_only is set. -shared_libs_only Only build shared libraries. Ignored if no SHLIBs are - specified by the Makefile, as in performance-tests/Misc. -static_libs_only Only build static libraries. -threads Build with thread support. -xt Build with Xt (X11 Toolkit) support. -fl Build with FlTk (Fast Light Toolkit) support. -tk Build with Tk (Tcl/Tk) support. -qt Build with Qt (Trolltech Qt) support. -ssl Build with OpenSSL support. -rapi Build with RAPI -split Build the library by first splitting up the ACE source - to several files, with one object code entity for each - source file. This allows an application that is linked - with ACE to extract _exactly_ what it needs from the - library, resulting in a smaller executable. Setting this - to 1 overrides debug to 0. - -Usually, users do not need to be concerned with make targets. -Just enter "make" on the command line to build. A few notable -targets are listed below. - -Target Description ------- ----------- -show_statics Lists all static objects in object files built for - current directory. Only supported for g++. -show_uninit Lists all uninitialized in object files built for - current directory. Only supported for g++. - -- -
-
- svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/sets-anon/ACE .
-
- svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/sets-anon/ACE+TAO .
-
- svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/sets-anon/ACE+TAO+CIAO .
-
-
- $ACE_ROOT/bin/mwc.pl -type gnuace ACE.mwc
On Windows, with Visual C++ 8, you must generate solution and project files with MPC:
-
- $ACE_ROOT/bin/mwc.pl -type vc8 ACE.mwc
- - On Windows, with Visual C++ 7, you must generate solution and project files with MPC:
- $ACE_ROOT/bin/mwc.pl -type vc71 ACE.mwc
- -Back to the ACE -home page. - - - - -
- - - -Last modified: Wed Jul 5 17:26:22 EST 2006 - - - -
diff --git a/dep/ACE_wrappers/ACE.mwc b/dep/ACE_wrappers/ACE.mwc deleted file mode 100644 index 5b8eada94..000000000 --- a/dep/ACE_wrappers/ACE.mwc +++ /dev/null @@ -1,32 +0,0 @@ -// $Id: ACE.mwc 86476 2009-08-13 03:27:23Z elliott_c $ -workspace { - exclude(automake) { - build - } - exclude { - TAO - } - - // The associate scope does not add directories to the workspace; - // it only associates a name with one or more directories. - associate(examples) { - examples - } - associate(tests) { - performance-tests - tests - } - associate(gperf) { - gperf - } - - // The '--' is a special key that indicates that the associated - // projects should be of the form @NAME@ in the generated Makefile.am. - associate(--) { - ACEXML - ASNMP - protocols - KOKYU - TAO - } -} diff --git a/dep/ACE_wrappers/ACE_vc10.sln b/dep/ACE_wrappers/ACE_vc10.sln deleted file mode 100644 index 27234c788..000000000 --- a/dep/ACE_wrappers/ACE_vc10.sln +++ /dev/null @@ -1,111 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -# $Id: VC10WorkspaceCreator.pm 1890 2010-08-24 19:48:23Z mitza $ -# -# This file was generated by MPC. Any changes made directly to -# this file will be lost the next time it is generated. -# -# MPC Command: -# /tmp/DOC_ROOT/stage-1367/ACE_wrappers/bin/mwc.pl -type vc10 -recurse -hierarchy -relative ACE_ROOT=/tmp/DOC_ROOT/stage-1367/ACE_wrappers -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACE", "ace\ACE_vc10.vcxproj", "{47BC56ED-FECA-1BAD-6757-8A6300006755}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACE_ETCL_Parser", "ace\ETCL\ACE_ETCL_Parser_vc10.vcxproj", "{42B1A787-FECA-1BAD-007E-8A67757B007A}" - ProjectSection(ProjectDependencies) = postProject - {47BC56ED-FECA-1BAD-6757-8A6300006755} = {47BC56ED-FECA-1BAD-6757-8A6300006755} - {17692659-FECA-1BAD-007E-8A67757B007A} = {17692659-FECA-1BAD-007E-8A67757B007A} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACE_ETCL", "ace\ETCL\ACE_ETCL_vc10.vcxproj", "{17692659-FECA-1BAD-007E-8A67757B007A}" - ProjectSection(ProjectDependencies) = postProject - {47BC56ED-FECA-1BAD-6757-8A6300006755} = {47BC56ED-FECA-1BAD-6757-8A6300006755} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Monitor_Control", "ace\Monitor_Control\Monitor_Control_vc10.vcxproj", "{7153B6F4-FECA-1BAD-D619-74620E01B14C}" - ProjectSection(ProjectDependencies) = postProject - {47BC56ED-FECA-1BAD-6757-8A6300006755} = {47BC56ED-FECA-1BAD-6757-8A6300006755} - {17692659-FECA-1BAD-007E-8A67757B007A} = {17692659-FECA-1BAD-007E-8A67757B007A} - {42B1A787-FECA-1BAD-007E-8A67757B007A} = {42B1A787-FECA-1BAD-007E-8A67757B007A} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QoS", "ace\QoS\QoS_vc10.vcxproj", "{6ADC56EC-FECA-1BAD-7781-8A636757A7A3}" - ProjectSection(ProjectDependencies) = postProject - {47BC56ED-FECA-1BAD-6757-8A6300006755} = {47BC56ED-FECA-1BAD-6757-8A6300006755} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PerlACE", "bin\PerlACE\PerlACE_vc10.vcxproj", "{47B934A1-FECA-1BAD-A757-FC47A624E189}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bin", "bin\bin_vc10.vcxproj", "{5F0C56EF-FECA-1BAD-64FC-8A63000064FE}" - ProjectSection(ProjectDependencies) = postProject - {47BC56ED-FECA-1BAD-6757-8A6300006755} = {47BC56ED-FECA-1BAD-6757-8A6300006755} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Debug|Win32.ActiveCfg = Debug|Win32 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Debug|Win32.Build.0 = Debug|Win32 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Debug|x64.ActiveCfg = Debug|x64 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Debug|x64.Build.0 = Debug|x64 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Release|Win32.ActiveCfg = Release|Win32 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Release|Win32.Build.0 = Release|Win32 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Release|x64.ActiveCfg = Release|x64 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Release|x64.Build.0 = Release|x64 - {42B1A787-FECA-1BAD-007E-8A67757B007A}.Debug|Win32.ActiveCfg = Debug|Win32 - {42B1A787-FECA-1BAD-007E-8A67757B007A}.Debug|Win32.Build.0 = Debug|Win32 - {42B1A787-FECA-1BAD-007E-8A67757B007A}.Debug|x64.ActiveCfg = Debug|x64 - {42B1A787-FECA-1BAD-007E-8A67757B007A}.Debug|x64.Build.0 = Debug|x64 - {42B1A787-FECA-1BAD-007E-8A67757B007A}.Release|Win32.ActiveCfg = Release|Win32 - {42B1A787-FECA-1BAD-007E-8A67757B007A}.Release|Win32.Build.0 = Release|Win32 - {42B1A787-FECA-1BAD-007E-8A67757B007A}.Release|x64.ActiveCfg = Release|x64 - {42B1A787-FECA-1BAD-007E-8A67757B007A}.Release|x64.Build.0 = Release|x64 - {17692659-FECA-1BAD-007E-8A67757B007A}.Debug|Win32.ActiveCfg = Debug|Win32 - {17692659-FECA-1BAD-007E-8A67757B007A}.Debug|Win32.Build.0 = Debug|Win32 - {17692659-FECA-1BAD-007E-8A67757B007A}.Debug|x64.ActiveCfg = Debug|x64 - {17692659-FECA-1BAD-007E-8A67757B007A}.Debug|x64.Build.0 = Debug|x64 - {17692659-FECA-1BAD-007E-8A67757B007A}.Release|Win32.ActiveCfg = Release|Win32 - {17692659-FECA-1BAD-007E-8A67757B007A}.Release|Win32.Build.0 = Release|Win32 - {17692659-FECA-1BAD-007E-8A67757B007A}.Release|x64.ActiveCfg = Release|x64 - {17692659-FECA-1BAD-007E-8A67757B007A}.Release|x64.Build.0 = Release|x64 - {7153B6F4-FECA-1BAD-D619-74620E01B14C}.Debug|Win32.ActiveCfg = Debug|Win32 - {7153B6F4-FECA-1BAD-D619-74620E01B14C}.Debug|Win32.Build.0 = Debug|Win32 - {7153B6F4-FECA-1BAD-D619-74620E01B14C}.Debug|x64.ActiveCfg = Debug|x64 - {7153B6F4-FECA-1BAD-D619-74620E01B14C}.Debug|x64.Build.0 = Debug|x64 - {7153B6F4-FECA-1BAD-D619-74620E01B14C}.Release|Win32.ActiveCfg = Release|Win32 - {7153B6F4-FECA-1BAD-D619-74620E01B14C}.Release|Win32.Build.0 = Release|Win32 - {7153B6F4-FECA-1BAD-D619-74620E01B14C}.Release|x64.ActiveCfg = Release|x64 - {7153B6F4-FECA-1BAD-D619-74620E01B14C}.Release|x64.Build.0 = Release|x64 - {6ADC56EC-FECA-1BAD-7781-8A636757A7A3}.Debug|Win32.ActiveCfg = Debug|Win32 - {6ADC56EC-FECA-1BAD-7781-8A636757A7A3}.Debug|Win32.Build.0 = Debug|Win32 - {6ADC56EC-FECA-1BAD-7781-8A636757A7A3}.Debug|x64.ActiveCfg = Debug|x64 - {6ADC56EC-FECA-1BAD-7781-8A636757A7A3}.Debug|x64.Build.0 = Debug|x64 - {6ADC56EC-FECA-1BAD-7781-8A636757A7A3}.Release|Win32.ActiveCfg = Release|Win32 - {6ADC56EC-FECA-1BAD-7781-8A636757A7A3}.Release|Win32.Build.0 = Release|Win32 - {6ADC56EC-FECA-1BAD-7781-8A636757A7A3}.Release|x64.ActiveCfg = Release|x64 - {6ADC56EC-FECA-1BAD-7781-8A636757A7A3}.Release|x64.Build.0 = Release|x64 - {47B934A1-FECA-1BAD-A757-FC47A624E189}.Debug|Win32.ActiveCfg = Debug|Win32 - {47B934A1-FECA-1BAD-A757-FC47A624E189}.Debug|Win32.Build.0 = Debug|Win32 - {47B934A1-FECA-1BAD-A757-FC47A624E189}.Debug|x64.ActiveCfg = Debug|x64 - {47B934A1-FECA-1BAD-A757-FC47A624E189}.Debug|x64.Build.0 = Debug|x64 - {47B934A1-FECA-1BAD-A757-FC47A624E189}.Release|Win32.ActiveCfg = Release|Win32 - {47B934A1-FECA-1BAD-A757-FC47A624E189}.Release|Win32.Build.0 = Release|Win32 - {47B934A1-FECA-1BAD-A757-FC47A624E189}.Release|x64.ActiveCfg = Release|x64 - {47B934A1-FECA-1BAD-A757-FC47A624E189}.Release|x64.Build.0 = Release|x64 - {5F0C56EF-FECA-1BAD-64FC-8A63000064FE}.Debug|Win32.ActiveCfg = Debug|Win32 - {5F0C56EF-FECA-1BAD-64FC-8A63000064FE}.Debug|Win32.Build.0 = Debug|Win32 - {5F0C56EF-FECA-1BAD-64FC-8A63000064FE}.Debug|x64.ActiveCfg = Debug|x64 - {5F0C56EF-FECA-1BAD-64FC-8A63000064FE}.Debug|x64.Build.0 = Debug|x64 - {5F0C56EF-FECA-1BAD-64FC-8A63000064FE}.Release|Win32.ActiveCfg = Release|Win32 - {5F0C56EF-FECA-1BAD-64FC-8A63000064FE}.Release|Win32.Build.0 = Release|Win32 - {5F0C56EF-FECA-1BAD-64FC-8A63000064FE}.Release|x64.ActiveCfg = Release|x64 - {5F0C56EF-FECA-1BAD-64FC-8A63000064FE}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/dep/ACE_wrappers/ACE_wrappers_vc10.sln b/dep/ACE_wrappers/ACE_wrappers_vc10.sln deleted file mode 100644 index e962b0f2f..000000000 --- a/dep/ACE_wrappers/ACE_wrappers_vc10.sln +++ /dev/null @@ -1,41 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -# $Id: VC10WorkspaceCreator.pm 1890 2010-08-24 19:48:23Z mitza $ -# -# This file was generated by MPC. Any changes made directly to -# this file will be lost the next time it is generated. -# -# MPC Command: -# /tmp/DOC_ROOT/stage-1367/ACE_wrappers/bin/mwc.pl -type vc10 -recurse -hierarchy -relative ACE_ROOT=/tmp/DOC_ROOT/stage-1367/ACE_wrappers -relative TAO_ROOT=/tmp/DOC_ROOT/stage-1367/ACE_wrappers/TAO -relative CIAO_ROOT=/tmp/DOC_ROOT/stage-1367/ACE_wrappers/TAO/CIAO -relative DANCE_ROOT=/tmp/DOC_ROOT/stage-1367/ACE_wrappers/TAO/DAnCE -name_modifier "*_vc10" -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACE", "ace\ACE_vc10.vcxproj", "{47BC56ED-FECA-1BAD-6757-8A6300006755}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Debug|Win32.ActiveCfg = Debug|Win32 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Debug|Win32.Build.0 = Debug|Win32 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Debug|x64.ActiveCfg = Debug|x64 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Debug|x64.Build.0 = Debug|x64 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Release|Win32.ActiveCfg = Release|Win32 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Release|Win32.Build.0 = Release|Win32 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Release|x64.ActiveCfg = Release|x64 - {47BC56ED-FECA-1BAD-6757-8A6300006755}.Release|x64.Build.0 = Release|x64 - {348C50EF-FECA-1BAD-6244-8A036423F5D3}.Debug|Win32.ActiveCfg = Debug|Win32 - {348C50EF-FECA-1BAD-6244-8A036423F5D3}.Debug|Win32.Build.0 = Debug|Win32 - {348C50EF-FECA-1BAD-6244-8A036423F5D3}.Debug|x64.ActiveCfg = Debug|x64 - {348C50EF-FECA-1BAD-6244-8A036423F5D3}.Debug|x64.Build.0 = Debug|x64 - {348C50EF-FECA-1BAD-6244-8A036423F5D3}.Release|Win32.ActiveCfg = Release|Win32 - {348C50EF-FECA-1BAD-6244-8A036423F5D3}.Release|Win32.Build.0 = Release|Win32 - {348C50EF-FECA-1BAD-6244-8A036423F5D3}.Release|x64.ActiveCfg = Release|x64 - {348C50EF-FECA-1BAD-6244-8A036423F5D3}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/dep/ACE_wrappers/CMakeLists.txt b/dep/ACE_wrappers/CMakeLists.txt deleted file mode 100644 index 6bdc24302..000000000 --- a/dep/ACE_wrappers/CMakeLists.txt +++ /dev/null @@ -1,75 +0,0 @@ -# -# This file is part of the MaNGOS Project. See AUTHORS file for Copyright information -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# - -include(ExternalProject) - -if(WIN32) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ace/config.h.win ${CMAKE_CURRENT_SOURCE_DIR}/ace/config.h) -endif() - -if(WIN32 AND MSVC) - # VS100 uses MSBuild.exe instead of devenv.com, so force it to use devenv.com - if(VS100_FOUND) - set(ACE_BUILD_TOOL ${VS100_DIR}/devenv.com) - else() - set(ACE_BUILD_TOOL ${CMAKE_BUILD_TOOL}) - endif() - - if(PLATFORM MATCHES X86) - set(ACE_CONFIGURATION Win32) - else() - set(ACE_CONFIGURATION x64) - endif() - - ExternalProject_Add(ACE_Project - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} - BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} - INSTALL_DIR ${CMAKE_INSTALL_PREFIX} - DOWNLOAD_COMMAND "" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" - ) - ExternalProject_Add_Step(ACE_Project ACE_Upgrade - COMMAND ${ACE_BUILD_TOOL}