Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

Commit

Permalink
Cherrypick #583 #588 to v2.5.0 (#602)
Browse files Browse the repository at this point in the history
* Adapte to kylin and mips64el (#588)

* adapter to kylin and mips64

* modify the head file

Co-authored-by: jie.wang <[email protected]>

* Fix ubuntu arch name (#583)

* fix ubuntu arch name

* rebase upstream

* add condition

Co-authored-by: jie.wang <[email protected]>
  • Loading branch information
laura-ding and jievince authored Aug 4, 2021
1 parent e368d2b commit 8c6aba5
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 10 deletions.
60 changes: 55 additions & 5 deletions cmake/CPackage.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,37 @@ macro(package to_one name home_page scripts_dir)
set(CPACK_GENERATOR "RPM")
file (STRINGS "/etc/redhat-release" SYSTEM_NAME)
if (${SYSTEM_NAME} MATCHES "CentOS")
set(HOST_SYSTEM_NAME "el")
execute_process(
COMMAND echo ${SYSTEM_NAME}
COMMAND tr -dc "0-9."
COMMAND cut -d "." -f1
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(CONCAT HOST_SYSTEM_VER "el" ${HOST_SYSTEM_VER})
string(CONCAT HOST_SYSTEM_VER ${HOST_SYSTEM_NAME} ${HOST_SYSTEM_VER})
elseif (${SYSTEM_NAME} MATCHES "Fedora")
set(HOST_SYSTEM_NAME "fc")
execute_process(
COMMAND echo ${SYSTEM_NAME}
COMMAND cut -d " " -f3
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(CONCAT HOST_SYSTEM_VER "fc" ${HOST_SYSTEM_VER})
string(CONCAT HOST_SYSTEM_VER ${HOST_SYSTEM_NAME} ${HOST_SYSTEM_VER})
else()
set(HOST_SYSTEM_VER "Unknown")
endif()
elseif (EXISTS "/etc/lsb-release")
set(CPACK_GENERATOR "DEB")
file (STRINGS "/etc/lsb-release" SYSTEM_NAME)
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND cut -d ";" -f 1
COMMAND cut -d "=" -f 2
OUTPUT_VARIABLE HOST_SYSTEM_NAME
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND cut -d ";" -f 2
Expand All @@ -50,22 +59,63 @@ macro(package to_one name home_page scripts_dir)
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(REPLACE "." "" HOST_SYSTEM_VER ${HOST_SYSTEM_VER})
string(CONCAT HOST_SYSTEM_VER "ubuntu" ${HOST_SYSTEM_VER})
string(CONCAT HOST_SYSTEM_VER ${HOST_SYSTEM_NAME} ${HOST_SYSTEM_VER})
if (${HOST_SYSTEM_NAME} MATCHES "Ubuntu")
# the ubuntu need to modify the architecture name
if (${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "x86_64")
set(CMAKE_HOST_SYSTEM_PROCESSOR "amd64")
endif()
# Adapt the Kylin system
elseif (${HOST_SYSTEM_NAME} MATCHES "Kylin" AND ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "aarch64")
set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64")
endif()
elseif (EXISTS "/etc/issue")
set(CPACK_GENERATOR "DEB")
file (STRINGS "/etc/issue" SYSTEM_NAME)
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND sed -n "1p"
COMMAND cut -d " " -f 1
OUTPUT_VARIABLE HOST_SYSTEM_NAME
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND sed -n "1p"
COMMAND cut -d " " -f 3
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(CONCAT HOST_SYSTEM_VER "debian" ${HOST_SYSTEM_VER})
if (${HOST_SYSTEM_NAME} MATCHES "Debian")
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND sed -n "1p"
COMMAND cut -d " " -f 3
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(CPACK_GENERATOR "DEB")
# Adapt the NeoKylin system
elseif (${HOST_SYSTEM_NAME} MATCHES "NeoKylin" AND ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "mips64")
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND sed -n "1p"
COMMAND cut -d " " -f 4
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(CMAKE_HOST_SYSTEM_PROCESSOR "mips64el")
set(CPACK_GENERATOR "RPM")
endif()
string(CONCAT HOST_SYSTEM_VER ${HOST_SYSTEM_NAME} ${HOST_SYSTEM_VER})
set(CMAKE_HOST_SYSTEM_PROCESSOR "mips64el")
else()
set(HOST_SYSTEM_VER "Unknown")
endif()

message(STATUS "HOST_SYSTEM_NAME is ${HOST_SYSTEM_NAME}")
message(STATUS "HOST_SYSTEM_VER is ${HOST_SYSTEM_VER}")
message(STATUS "CPACK_GENERATOR is ${CPACK_GENERATOR}")
message(STATUS "CMAKE_HOST_SYSTEM_PROCESSOR is ${CMAKE_HOST_SYSTEM_PROCESSOR}")

set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.${HOST_SYSTEM_VER}.${CMAKE_HOST_SYSTEM_PROCESSOR})
if (${to_one})
Expand Down
16 changes: 12 additions & 4 deletions cmake/nebula/LinkerConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ nebula_add_exe_linker_flag(-rdynamic)
if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
add_definitions(-D_FORTIFY_SOURCE=2)
else()
# The mips need to add it when build Debug to lift the usual restrictions on the size of the global offset table.
if (${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "mips64")
add_compile_options(-mxgot)
endif()

if (NOT ${NEBULA_USE_LINKER} STREQUAL "gold" AND NOT ENABLE_GDB_SCRIPT_SECTION)
# `gold' linker is buggy for `--gc-sections', disabled for it
# `gc-sections' will discard the `.debug_gdb_scripts' section if enabled
Expand All @@ -38,10 +43,13 @@ else()
endif()

if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
if(ENABLE_COMPRESSED_DEBUG_INFO)
nebula_add_exe_linker_flag(-Wl,--compress-debug-sections=zlib)
else()
nebula_remove_exe_linker_flag(-Wl,--compress-debug-sections=zlib)
# The mips not supported
if (NOT ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "mips64")
if(ENABLE_COMPRESSED_DEBUG_INFO)
nebula_add_exe_linker_flag(-Wl,--compress-debug-sections=zlib)
else()
nebula_remove_exe_linker_flag(-Wl,--compress-debug-sections=zlib)
endif()
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
add_compile_options(-fno-limit-debug-info)
Expand Down
1 change: 1 addition & 0 deletions src/common/base/ObjectPool.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <folly/SpinLock.h>

#include "common/cpp/helpers.h"
#include "common/base/Logging.h"

namespace nebula {

Expand Down
2 changes: 1 addition & 1 deletion src/common/time/WallClock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ int64_t WallClock::fastNowInMilliSec() {
int64_t WallClock::fastNowInMicroSec() {
return TscHelper::tickToTimePointInUSec(TscHelper::readTsc());
}
#elif defined(__aarch64__) || defined(__arm64__)
#elif defined(__aarch64__) || defined(__arm64__) || defined(__mips64)
int64_t WallClock::fastNowInSec() {
return WallClock::slowNowInSec();
}
Expand Down

0 comments on commit 8c6aba5

Please sign in to comment.