diff options
| -rw-r--r-- | 3rd/tcmalloc/libtcmalloc.a | bin | 8074054 -> 0 bytes | |||
| -rwxr-xr-x | 3rd/tcmalloc/libtcmalloc.so | bin | 3453880 -> 0 bytes | |||
| -rw-r--r-- | 3rd/tcmalloc/tcmalloc.h | 163 | ||||
| -rw-r--r-- | CMakeLists.txt | 8 | ||||
| -rw-r--r-- | src/.tsg_lua_func.cpp.swp | bin | 16384 -> 0 bytes | |||
| -rw-r--r-- | src/CMakeLists.txt | 22 | ||||
| -rw-r--r-- | src/tsg_lua_func.cpp | 23 | ||||
| -rw-r--r-- | support/.gitignore (renamed from 3rd/.gitignore) | 0 | ||||
| -rw-r--r-- | support/.travis.yml (renamed from 3rd/.travis.yml) | 0 | ||||
| -rw-r--r-- | support/CMakeLists.txt (renamed from 3rd/CMakeLists.txt) | 13 | ||||
| -rw-r--r-- | support/luajit2-2.1-agentzh.zip (renamed from 3rd/luajit2-2.1-agentzh.zip) | bin | 1223529 -> 1223529 bytes |
11 files changed, 27 insertions, 202 deletions
diff --git a/3rd/tcmalloc/libtcmalloc.a b/3rd/tcmalloc/libtcmalloc.a Binary files differdeleted file mode 100644 index f19c195..0000000 --- a/3rd/tcmalloc/libtcmalloc.a +++ /dev/null diff --git a/3rd/tcmalloc/libtcmalloc.so b/3rd/tcmalloc/libtcmalloc.so Binary files differdeleted file mode 100755 index 03822d3..0000000 --- a/3rd/tcmalloc/libtcmalloc.so +++ /dev/null diff --git a/3rd/tcmalloc/tcmalloc.h b/3rd/tcmalloc/tcmalloc.h deleted file mode 100644 index 2a5633f..0000000 --- a/3rd/tcmalloc/tcmalloc.h +++ /dev/null @@ -1,163 +0,0 @@ -// -*- Mode: C; c-basic-offset: 2; indent-tabs-mode: nil -*- -/* Copyright (c) 2003, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * --- - * Author: Sanjay Ghemawat <[email protected]> - * .h file by Craig Silverstein <[email protected]> - */ - -#ifndef TCMALLOC_TCMALLOC_H_ -#define TCMALLOC_TCMALLOC_H_ - -#include <stddef.h> /* for size_t */ -#ifdef __cplusplus -#include <new> /* for std::nothrow_t, std::align_val_t */ -#endif - -/* Define the version number so folks can check against it */ -#define TC_VERSION_MAJOR 2 -#define TC_VERSION_MINOR 8 -#define TC_VERSION_PATCH "" -#define TC_VERSION_STRING "gperftools 2.8" - -/* For struct mallinfo, if it's defined. */ -#if 1 -# include <malloc.h> -#endif - -#ifndef PERFTOOLS_NOTHROW - -#if __cplusplus >= 201103L -#define PERFTOOLS_NOTHROW noexcept -#elif defined(__cplusplus) -#define PERFTOOLS_NOTHROW throw() -#else -# ifdef __GNUC__ -# define PERFTOOLS_NOTHROW __attribute__((__nothrow__)) -# else -# define PERFTOOLS_NOTHROW -# endif -#endif - -#endif - -#ifndef PERFTOOLS_DLL_DECL -# ifdef _WIN32 -# define PERFTOOLS_DLL_DECL __declspec(dllimport) -# else -# define PERFTOOLS_DLL_DECL -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - /* - * Returns a human-readable version string. If major, minor, - * and/or patch are not NULL, they are set to the major version, - * minor version, and patch-code (a string, usually ""). - */ - PERFTOOLS_DLL_DECL const char* tc_version(int* major, int* minor, - const char** patch) PERFTOOLS_NOTHROW; - - PERFTOOLS_DLL_DECL void* tc_malloc(size_t size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void* tc_malloc_skip_new_handler(size_t size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_free(void* ptr) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_free_sized(void *ptr, size_t size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void* tc_realloc(void* ptr, size_t size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void* tc_calloc(size_t nmemb, size_t size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_cfree(void* ptr) PERFTOOLS_NOTHROW; - - PERFTOOLS_DLL_DECL void* tc_memalign(size_t __alignment, - size_t __size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL int tc_posix_memalign(void** ptr, - size_t align, size_t size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void* tc_valloc(size_t __size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void* tc_pvalloc(size_t __size) PERFTOOLS_NOTHROW; - - PERFTOOLS_DLL_DECL void tc_malloc_stats(void) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL int tc_mallopt(int cmd, int value) PERFTOOLS_NOTHROW; -#if 1 - PERFTOOLS_DLL_DECL struct mallinfo tc_mallinfo(void) PERFTOOLS_NOTHROW; -#endif - - /* - * This is an alias for MallocExtension::instance()->GetAllocatedSize(). - * It is equivalent to - * OS X: malloc_size() - * glibc: malloc_usable_size() - * Windows: _msize() - */ - PERFTOOLS_DLL_DECL size_t tc_malloc_size(void* ptr) PERFTOOLS_NOTHROW; - -#ifdef __cplusplus - PERFTOOLS_DLL_DECL int tc_set_new_mode(int flag) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void* tc_new(size_t size); - PERFTOOLS_DLL_DECL void* tc_new_nothrow(size_t size, - const std::nothrow_t&) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_delete(void* p) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_delete_sized(void* p, size_t size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_delete_nothrow(void* p, - const std::nothrow_t&) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void* tc_newarray(size_t size); - PERFTOOLS_DLL_DECL void* tc_newarray_nothrow(size_t size, - const std::nothrow_t&) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_deletearray(void* p) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_deletearray_sized(void* p, size_t size) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_deletearray_nothrow(void* p, - const std::nothrow_t&) PERFTOOLS_NOTHROW; - -#if 1 && __cplusplus >= 201703L - PERFTOOLS_DLL_DECL void* tc_new_aligned(size_t size, std::align_val_t al); - PERFTOOLS_DLL_DECL void* tc_new_aligned_nothrow(size_t size, std::align_val_t al, - const std::nothrow_t&) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_delete_aligned(void* p, std::align_val_t al) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_delete_sized_aligned(void* p, size_t size, std::align_val_t al) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_delete_aligned_nothrow(void* p, std::align_val_t al, - const std::nothrow_t&) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void* tc_newarray_aligned(size_t size, std::align_val_t al); - PERFTOOLS_DLL_DECL void* tc_newarray_aligned_nothrow(size_t size, std::align_val_t al, - const std::nothrow_t&) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_deletearray_aligned(void* p, std::align_val_t al) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_deletearray_sized_aligned(void* p, size_t size, std::align_val_t al) PERFTOOLS_NOTHROW; - PERFTOOLS_DLL_DECL void tc_deletearray_aligned_nothrow(void* p, std::align_val_t al, - const std::nothrow_t&) PERFTOOLS_NOTHROW; -#endif -} -#endif - -/* We're only un-defining for public */ -#if !defined(GPERFTOOLS_CONFIG_H_) - -#undef PERFTOOLS_NOTHROW - -#endif /* GPERFTOOLS_CONFIG_H_ */ - -#endif /* #ifndef TCMALLOC_TCMALLOC_H_ */ diff --git a/CMakeLists.txt b/CMakeLists.txt index afe6e08..aa19bf0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,15 +11,13 @@ set(CMAKE_MACOSX_RPATH 0) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") -set(CMAKE_INSTALL_PREFIX /home/mesasoft/sapp_run) +set(CMAKE_INSTALL_PREFIX /usr/local/lib) -add_subdirectory(3rd) +add_subdirectory(support) +add_subdirectory(src) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/libtsglua.so DESTINATION ${CMAKE_INSTALL_PREFIX} COMPONENT PROFILE) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/libtsglua.a DESTINATION ${CMAKE_INSTALL_PREFIX} COMPONENT PROFILE) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/libtsglua.so DESTINATION ${PROJECT_SOURCE_DIR}/lib COMPONENT PROFILE) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/libtsglua.a DESTINATION ${PROJECT_SOURCE_DIR}/lib COMPONENT PROFILE) -install(FILES ${PROJECT_SOURCE_DIR}/src/tsg_lua_interface.h DESTINATION ${PROJECT_SOURCE_DIR}/include COMPONENT PROFILE) include(Package) diff --git a/src/.tsg_lua_func.cpp.swp b/src/.tsg_lua_func.cpp.swp Binary files differdeleted file mode 100644 index f7d03b2..0000000 --- a/src/.tsg_lua_func.cpp.swp +++ /dev/null diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ab8b411..9c28334 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,17 +1,9 @@ cmake_minimum_required(VERSION 3.5) SET(CMAKE_CXX_COMPILER /usr/bin/g++) aux_source_directory(. DIR_LIB_SRCS) -include_directories("../3rd/install/include/luajit-2.1" "/usr/local/include/gperftools/") -link_directories("../3rd/install/lib") -link_libraries("libluajit-5.1.so") - -find_package(tcmalloc) -if(tcmalloc_FOUND) - include_directories(PRIVATE ${TCMALLOC_INCLUDE_DIR}) - link_libraries(${TCMALLOC_LIBRARY}) -else(tcmalloc_FOUND) - message(FATAL_ERROR "TCMALLOC library not found") -endif(tcmalloc_FOUND) +include_directories("../support/install/include/luajit-2.1" "/usr/local/include/gperftools/") +link_directories("../support/install/lib") +#link_libraries("libluajit-5.1.so") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -shared -fPIC") SET(CMAKE_CXX_DEBUG_FLAGS "${CMAKE_CXX_DEBUG_FLAGS} -DTSG_LUA_DEBUG") @@ -19,8 +11,10 @@ SET(CMAKE_BUILD_TYPE "Release") add_library(tsglua_static ${DIR_LIB_SRCS}) add_library(tsglua SHARED ${DIR_LIB_SRCS}) set_target_properties(tsglua_static PROPERTIES OUTPUT_NAME "tsglua") -target_link_libraries(tsglua libluajit-5.1.so dl) +target_link_libraries(tsglua dl luajit2-static) +set_target_properties(tsglua PROPERTIES PREFIX "") -#install(TARGETS libtsglua.so LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) -#install(TARGETS libtsglua.a LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/libtsglua.so DESTINATION ${PROJECT_SOURCE_DIR}/lib COMPONENT PROFILE) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/libtsglua.a DESTINATION ${PROJECT_SOURCE_DIR}/lib COMPONENT PROFILE) +install(FILES ${PROJECT_SOURCE_DIR}/src/tsg_lua_interface.h DESTINATION ${PROJECT_SOURCE_DIR}/include COMPONENT PROFILE) diff --git a/src/tsg_lua_func.cpp b/src/tsg_lua_func.cpp index 299cab1..ba53492 100644 --- a/src/tsg_lua_func.cpp +++ b/src/tsg_lua_func.cpp @@ -14,8 +14,7 @@ extern "C" #include "luajit.h" #include "lauxlib.h" } -#include<tcmalloc.h> -#include"../include/tsg_lua_interface.h" +#include"tsg_lua_interface.h" #ifndef MIN #define MIN(a,b) (((a) < (b))?(a):(b)) @@ -469,33 +468,19 @@ int tsg_lua_memmem(lua_State *L) return 2; } -#if 0 -static void *mem_alloc(void *ud, void *ptr, size_t osize, size_t nsize) -{ - (void)ud; - (void)osize; - if (nsize == 0) { - tc_free(ptr); - return NULL; - } else { - return tc_realloc(ptr, nsize); - } -} -#endif tsg_lua_handle tsg_lua_vm_create() { lua_State *L; - jmp_buf *lua_exception = (jmp_buf *)tc_malloc(sizeof(jmp_buf)); + jmp_buf *lua_exception = (jmp_buf *)malloc(sizeof(jmp_buf)); if (lua_exception == NULL) { return NULL; } L = luaL_newstate(); - //L = lua_newstate(mem_alloc, NULL); if (L == NULL) { - tc_free(lua_exception); + free(lua_exception); return NULL; } lua_setexdata(L, lua_exception); @@ -1319,7 +1304,7 @@ int tsg_destory_lua(tsg_lua_handle lua) lua_exception = (jmp_buf *)lua_getexdata(L); if (lua_exception != NULL) { - tc_free(lua_exception); + free(lua_exception); } lua_close(L); diff --git a/3rd/.gitignore b/support/.gitignore index 9dd51e8..9dd51e8 100644 --- a/3rd/.gitignore +++ b/support/.gitignore diff --git a/3rd/.travis.yml b/support/.travis.yml index e009903..e009903 100644 --- a/3rd/.travis.yml +++ b/support/.travis.yml diff --git a/3rd/CMakeLists.txt b/support/CMakeLists.txt index b3e99bb..bc1a513 100644 --- a/3rd/CMakeLists.txt +++ b/support/CMakeLists.txt @@ -8,7 +8,7 @@ set(LUAJIT2_MAKE cd ${LUAJIT2_ROOT}/src/luajit2 && make) set(LUAJIT2_INSTALL cd ${LUAJIT2_ROOT}/src/luajit2 && make install PREFIX=${LUAJIT2_ROOT}/install) ExternalProject_Add(luajit2 - PREFIX ${LUAJIT2_ROOT} + PREFIX luajit2 URL ${LUAJIT2_URL} URL_MD5 ${LUAJIT2_URL_MD5} #CONFIGURE_COMMAND ${LUAJIT2_CONFIGURE} @@ -16,3 +16,14 @@ ExternalProject_Add(luajit2 BUILD_COMMAND ${LUAJIT2_MAKE} INSTALL_COMMAND ${LUAJIT2_INSTALL} ) + +ExternalProject_Get_Property(luajit2 INSTALL_DIR) +file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + +add_library(luajit2-static STATIC IMPORTED GLOBAL) +add_dependencies(luajit2-static luajit2) +set_property(TARGET luajit2-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libluajit-5.1.a) +set_property(TARGET luajit2-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) + + + diff --git a/3rd/luajit2-2.1-agentzh.zip b/support/luajit2-2.1-agentzh.zip Binary files differindex d95b6a0..d95b6a0 100644 --- a/3rd/luajit2-2.1-agentzh.zip +++ b/support/luajit2-2.1-agentzh.zip |
