Compare commits
1 Commits
4691cef6f5
...
generic
Author | SHA1 | Date | |
---|---|---|---|
4ec698df73 |
@ -65,6 +65,9 @@ cmake_dependent_option(
|
||||
"NOT OB_BUILD_RPM;NOT OB_BUILD_LIBOBLOG" ON
|
||||
)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mcmodel=large")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcmodel=large")
|
||||
|
||||
message(STATUS "This is BINARY dir " ${PROJECT_BINARY_DIR})
|
||||
message(STATUS "This is SOURCE dir " ${PROJECT_SOURCE_DIR})
|
||||
|
||||
|
@ -5,8 +5,24 @@ message(STATUS "DETECT BUILD ARCH: " ${ARCHITECTURE})
|
||||
ob_define(DEVTOOLS_DIR "${CMAKE_SOURCE_DIR}/deps/3rd/usr/local/oceanbase/devtools")
|
||||
ob_define(DEP_DIR "${CMAKE_SOURCE_DIR}/deps/3rd/usr/local/oceanbase/deps/devel")
|
||||
|
||||
ob_define(OB_RELEASEID 1)
|
||||
ob_define(OB_SO_CACHE OFF)
|
||||
|
||||
ob_define(OB_USE_CLANG ON)
|
||||
ob_define(OB_USE_LLVM_LIBTOOLS ON)
|
||||
ob_define(OB_COMPRESS_DEBUG_SECTIONS OFF)
|
||||
ob_define(OB_STATIC_LINK_LGPL_DEPS OFF)
|
||||
ob_define(OB_USE_CCACHE OFF)
|
||||
ob_define(OB_ENABLE_PCH ON)
|
||||
ob_define(OB_ENABLE_LIB_PCH ${OB_ENABLE_PCH})
|
||||
ob_define(OB_ENABLE_SERVER_PCH ${OB_ENABLE_PCH})
|
||||
ob_define(OB_ENABLE_UNITY ON)
|
||||
ob_define(OB_MAX_UNITY_BATCH_SIZE 30)
|
||||
ob_define(OB_USE_ASAN OFF)
|
||||
|
||||
|
||||
set(OBJCOPY_BIN "${DEVTOOLS_DIR}/bin/llvm-objcopy")
|
||||
set(LD_BIN "${DEVTOOLS_DIR}/bin/ld.lld")
|
||||
|
||||
# share compile cache between different directories
|
||||
set(DEBUG_PREFIX "-fdebug-prefix-map=${CMAKE_SOURCE_DIR}=.")
|
||||
@ -43,8 +59,8 @@ if(OB_USE_LLVM_LIBTOOLS)
|
||||
# use llvm-ar llvm-ranlib llvm-objcopy ld.lld...
|
||||
set(_CMAKE_TOOLCHAIN_PREFIX llvm-)
|
||||
set(_CMAKE_TOOLCHAIN_LOCATION "${DEVTOOLS_DIR}/bin")
|
||||
find_program(LD_BIN ld.lld PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin")
|
||||
find_program(OBJCOPY_BIN llvm-objcopy PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin")
|
||||
find_program(LD_BIN ld.lld PATHS "${DEVTOOLS_DIR}/bin")
|
||||
find_program(OBJCOPY_BIN llvm-objcopy PATHS "${DEVTOOLS_DIR}/bin")
|
||||
else()
|
||||
find_program(LD_BIN ld PATHS "${CMAKE_SOURCE_DIR}/deps/3rd/compile" "${DEVTOOLS_DIR}/bin" "/usr/bin")
|
||||
find_program(OBJCOPY_BIN objcopy PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin")
|
||||
@ -73,9 +89,9 @@ if (OB_USE_CLANG)
|
||||
find_program(OB_CXX clang++
|
||||
PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin"
|
||||
NO_DEFAULT_PATH)
|
||||
set(BUILD_OPT "${BUILD_OPT} -fcolor-diagnostics")
|
||||
set(BUILD_OPT "${BUILD_OPT} --gcc-toolchain=${DEVTOOLS_DIR} -fcolor-diagnostics -ffunction-sections -fdata-sections")
|
||||
# just make embedded clang and ccache happy...
|
||||
set(LD_OPT "${LD_OPT} -Wl,-z,noexecstack")
|
||||
set(LD_OPT "${LD_OPT} -Wl,-z,noexecstack -Wl,--gc-sections ")
|
||||
|
||||
if (OB_USE_ASAN)
|
||||
ob_define(CMAKE_ASAN_FLAG "-fstack-protector-strong -fsanitize=address -fno-optimize-sibling-calls")
|
||||
@ -139,9 +155,9 @@ elseif(${ARCHITECTURE} STREQUAL "aarch64")
|
||||
set(MTUNE_CFLAGS "-mtune=generic" )
|
||||
set(ARCH_LDFLAGS "-l:libatomic.a")
|
||||
elseif(${ARCHITECTURE} STREQUAL "loongarch64")
|
||||
set(MARCH_CFLAGS "-march=la464" "-mcmodel=large")
|
||||
set(MTUNE_CFLAGS "-mabi=lp64d")
|
||||
set(ARCH_LDFLAGS "-latomic")
|
||||
set(MARCH_CFLAGS "-march=la464")
|
||||
set(MTUNE_CFLAGS "-mabi=lp64")
|
||||
set(ARCH_LDFLAGS "-l:libatomic.a")
|
||||
elseif(${ARCHITECTURE} STREQUAL "sw_64")
|
||||
set(ARCH_LDFLAGS "-latomic -llzma")
|
||||
else()
|
||||
|
12
deps/easy/CMakeLists.txt
vendored
12
deps/easy/CMakeLists.txt
vendored
@ -20,14 +20,6 @@ set_property(GLOBAL PROPERTY EASY_INCLUDE_DIRS
|
||||
${INNER_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(OPENSSL REQUIRED IMPORTED_TARGET openssl)
|
||||
if(${OPENSSL_FOUND})
|
||||
include_directories(${OPENSSL_INCLUDE_DIRS})
|
||||
else()
|
||||
message("oceanbase need openssl")
|
||||
endif()
|
||||
|
||||
target_include_directories(
|
||||
easy_base INTERFACE
|
||||
${INNER_INCLUDE_DIRS}
|
||||
@ -57,9 +49,7 @@ target_compile_options(easy_base
|
||||
target_link_libraries(easy_base
|
||||
INTERFACE
|
||||
-L${DEP_DIR}/lib
|
||||
-L${OPENSSL_LIBDIR}
|
||||
${OPENSSL_LIBRARIES}
|
||||
-lpthread -lm
|
||||
-lpthread -lm -l:libssl.a -l:libcrypto.a
|
||||
${ARCH_LDFLAGS}
|
||||
)
|
||||
|
||||
|
2
deps/logmessage
vendored
2
deps/logmessage
vendored
Submodule deps/logmessage updated: 509d86f9ea...163dfc97a6
8
deps/oblib/src/CMakeLists.txt
vendored
8
deps/oblib/src/CMakeLists.txt
vendored
@ -4,17 +4,11 @@ message(STATUS "check deps for oblib")
|
||||
|
||||
get_property(EASY_INCLUDE_DIRS GLOBAL PROPERTY "EASY_INCLUDE_DIRS" )
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(RAPIDJSON REQUIRED IMPORTED_TARGET RapidJSON)
|
||||
pkg_check_modules(ISAL REQUIRED IMPORTED_TARGET libisal)
|
||||
|
||||
target_include_directories(
|
||||
oblib_base_base INTERFACE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${EASY_INCLUDE_DIRS}
|
||||
${DEP_DIR}/include
|
||||
${RAPIDJSON_INCLUDE_DIRS}
|
||||
${ISAL_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
set(ARCH_COMPILE_OPTIONS "")
|
||||
@ -63,7 +57,7 @@ target_compile_features(oblib_base_base INTERFACE cxx_std_11)
|
||||
target_link_libraries(oblib_base_base
|
||||
INTERFACE
|
||||
-L${DEP_DIR}/lib
|
||||
${ISAL_LIBRARIES} -lunwind -lpthread -ldl -lrt -lcrypto -lcurl ${ARCH_LDFLAGS})
|
||||
-l:libisal.a -l:libunwind.a -lpthread -ldl -lrt -l:libssl.a -l:libcrypto.a -l:libcurl.a ${ARCH_LDFLAGS})
|
||||
|
||||
add_library(oblib_base INTERFACE)
|
||||
target_compile_options(oblib_base INTERFACE -D_GLIBCXX_USE_CXX11_ABI=0)
|
||||
|
@ -326,7 +326,7 @@ target_link_libraries(ob_main PUBLIC ob_base)
|
||||
enable_server_pch(ob_main)
|
||||
|
||||
if (OB_STATIC_LINK_LGPL_DEPS)
|
||||
set(LGPL_DEPS "-L${DEP_DIR}/lib/mariadb -lmariadbclient -laio")
|
||||
set(LGPL_DEPS "-L${DEP_DIR}/lib/mariadb -l:libmariadbclient.a -l:libaio.a")
|
||||
endif()
|
||||
|
||||
add_executable(observer)
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include "lib/charset/ob_dtoa.h"
|
||||
#include "common/ob_field.h"
|
||||
#include "share/schema/ob_schema_getter_guard.h"
|
||||
#include <mariadb/mysql.h>
|
||||
#include <mysql/mysql.h>
|
||||
|
||||
using namespace oceanbase::common;
|
||||
using namespace oceanbase::obmysql;
|
||||
|
@ -7,6 +7,7 @@
|
||||
set +x
|
||||
CURDIR="$(dirname $(readlink -f "$0"))"
|
||||
export PATH=$CURDIR/../../../deps/3rd/usr/local/oceanbase/devtools/bin:$PATH
|
||||
export BISON_PKGDATADIR=$CURDIR/../../../deps/3rd/usr/local/oceanbase/devtools/share/bison
|
||||
|
||||
# generate sql_parser
|
||||
bison -v -d ../../../src/sql/parser/sql_parser_mysql_mode.y -o ../../../src/sql/parser/sql_parser_mysql_mode_tab.c
|
||||
|
@ -22,9 +22,6 @@
|
||||
#include "sql_parser_base.h"
|
||||
#include "sql_parser_mysql_mode_tab.h"
|
||||
|
||||
#define YYLTYPE OBSQL_MYSQL_YYLTYPE
|
||||
#define YYSTYPE OBSQL_MYSQL_YYSTYPE
|
||||
#define YYEMPTY OBSQL_MYSQL_YYEMPTY
|
||||
extern void obsql_mysql_yyerror(YYLTYPE *yylloc, ParseResult *p, char *s,...);
|
||||
extern void obsql_mysql_parser_fatal_error(yyconst char *msg, yyscan_t yyscanner);
|
||||
#define yyerror obsql_mysql_yyerror
|
||||
|
@ -10,16 +10,11 @@
|
||||
* See the Mulan PubL v2 for more details.
|
||||
*/
|
||||
%define api.pure
|
||||
%code requires {
|
||||
#include "../../../src/sql/parser/parse_node.h"
|
||||
#define YYEMPTY OBSQL_MYSQL_YYEMPTY
|
||||
}
|
||||
%param {ParseResult *result}
|
||||
%define api.prefix {obsql_mysql_yy}
|
||||
%parse-param {ParseResult *result}
|
||||
%name-prefix "obsql_mysql_yy"
|
||||
%locations
|
||||
%verbose
|
||||
%define parse.error verbose
|
||||
|
||||
%error-verbose
|
||||
%{
|
||||
#include <stdint.h>
|
||||
#define YYDEBUG 1
|
||||
|
@ -19,5 +19,10 @@ if (OB_BUILD_LIBOBLOG)
|
||||
git submodule update --init --recursive"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
add_subdirectory(${PROJECT_SOURCE_DIR}/deps/logmessage ${PROJECT_BINARY_DIR}/deps/logmessage EXCLUDE_FROM_ALL)
|
||||
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
endif()
|
||||
|
@ -113,7 +113,7 @@ target_compile_definitions(obcdc_objects PRIVATE ENABLE_DEBUG_LOG)
|
||||
#target_compile_options(obcdc_objects PRIVATE -Werror)
|
||||
|
||||
disable_pch(obcdc_objects)
|
||||
set(LGPL_DEPS "-L${DEP_DIR}/lib/mariadb -lmysqlclient -laio")
|
||||
set(LGPL_DEPS "-L${DEP_DIR}/lib/mariadb -l:libmariadbclient.a -laio")
|
||||
|
||||
if (OB_SO_CACHE)
|
||||
add_library(obcdc SHARED IMPORTED GLOBAL)
|
||||
@ -131,7 +131,7 @@ else()
|
||||
-Wl,--start-group
|
||||
oceanbase_static
|
||||
-Wl,--end-group
|
||||
-lgcc -lstdc++
|
||||
PRIVATE -static-libgcc -static-libstdc++
|
||||
-Wl,-Bsymbolic
|
||||
-Wl,-e,so_main
|
||||
${LGPL_DEPS}
|
||||
@ -144,14 +144,14 @@ add_library(obcdc_objects_miner OBJECT ${SRC_LIST})
|
||||
disable_pch(obcdc_objects_miner)
|
||||
target_link_libraries(obcdc_objects_miner PUBLIC obcdc_base)
|
||||
add_library(obcdc_static
|
||||
SHARED
|
||||
STATIC
|
||||
${CMAKE_BINARY_DIR}/src/observer/ob_version.cpp)
|
||||
target_link_libraries(obcdc_static
|
||||
PUBLIC obcdc_objects_miner
|
||||
-Wl,--start-group
|
||||
oceanbase_static
|
||||
-Wl,--end-group
|
||||
PRIVATE -lgcc -lstdc++
|
||||
PRIVATE -static-libgcc -static-libstdc++
|
||||
${LGPL_DEPS}
|
||||
)
|
||||
set_target_properties(obcdc_static PROPERTIES OUTPUT_NAME "obcdc")
|
||||
|
Reference in New Issue
Block a user