summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--3rd/tcmalloc/libtcmalloc.abin8074054 -> 0 bytes
-rwxr-xr-x3rd/tcmalloc/libtcmalloc.sobin3453880 -> 0 bytes
-rw-r--r--3rd/tcmalloc/tcmalloc.h163
-rw-r--r--CMakeLists.txt8
-rw-r--r--src/.tsg_lua_func.cpp.swpbin16384 -> 0 bytes
-rw-r--r--src/CMakeLists.txt22
-rw-r--r--src/tsg_lua_func.cpp23
-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)bin1223529 -> 1223529 bytes
11 files changed, 27 insertions, 202 deletions
diff --git a/3rd/tcmalloc/libtcmalloc.a b/3rd/tcmalloc/libtcmalloc.a
deleted file mode 100644
index f19c195..0000000
--- a/3rd/tcmalloc/libtcmalloc.a
+++ /dev/null
Binary files differ
diff --git a/3rd/tcmalloc/libtcmalloc.so b/3rd/tcmalloc/libtcmalloc.so
deleted file mode 100755
index 03822d3..0000000
--- a/3rd/tcmalloc/libtcmalloc.so
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index f7d03b2..0000000
--- a/src/.tsg_lua_func.cpp.swp
+++ /dev/null
Binary files differ
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
index d95b6a0..d95b6a0 100644
--- a/3rd/luajit2-2.1-agentzh.zip
+++ b/support/luajit2-2.1-agentzh.zip
Binary files differ