提交 687897be 编写于 作者: F Frozen

add support of Alpine Linux

上级 79389aaa
......@@ -70,6 +70,13 @@ IF (NOT DEFINED TD_CLUSTER)
ENDIF ()
ENDIF ()
#
# Get OS information and store in variable TD_OS_INFO.
#
execute_process(COMMAND chmod 777 ${TD_COMMUNITY_DIR}/packaging/tools/get_os.sh)
execute_process(COMMAND ${TD_COMMUNITY_DIR}/packaging/tools/get_os.sh "" OUTPUT_VARIABLE TD_OS_INFO)
MESSAGE(STATUS "The current os is " ${TD_OS_INFO})
IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
IF (${CMAKE_SIZEOF_VOID_P} MATCHES 8)
SET(TD_LINUX_64 TRUE)
......@@ -150,6 +157,13 @@ IF (NOT DEFINED TD_CLUSTER)
ENDIF ()
ADD_DEFINITIONS(-DLINUX)
ADD_DEFINITIONS(-D_REENTRANT -D__USE_POSIX -D_LIBC_REENTRANT)
IF (${TD_OS_INFO} MATCHES "Alpine")
MESSAGE(STATUS "The current OS is Alpine, append extra flags")
SET(COMMON_FLAGS "${COMMON_FLAGS} -largp")
link_libraries(/usr/lib/libargp.a)
ELSE ()
ADD_DEFINITIONS(-D__USE_GNU)
ENDIF ()
ELSEIF (TD_LINUX_32)
IF (NOT TD_ARM)
EXIT ()
......@@ -160,6 +174,13 @@ IF (NOT DEFINED TD_CLUSTER)
ADD_DEFINITIONS(-DLINUX)
ADD_DEFINITIONS(-D_REENTRANT -D__USE_POSIX -D_LIBC_REENTRANT)
ADD_DEFINITIONS(-DUSE_LIBICONV)
IF (${TD_OS_INFO} MATCHES "Alpine")
MESSAGE(STATUS "The current OS is Alpine, add extra flags")
SET(COMMON_FLAGS "${COMMON_FLAGS} -largp")
link_library(/usr/lib/libargp.a)
ELSE ()
ADD_DEFINITIONS(-D__USE_GNU)
ENDIF ()
ELSEIF (TD_WINDOWS_64)
SET(CMAKE_GENERATOR "NMake Makefiles" CACHE INTERNAL "" FORCE)
SET(COMMON_FLAGS "/nologo /WX- /Oi /Oy- /Gm- /EHsc /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Gd /errorReport:prompt /analyze-")
......
#!/bin/bash
#
# This file is used to install TAOS time-series database on linux systems. The operating system
# is required to use systemd to manage services at boot
set -e
# set -x
# -----------------------Variables definition---------------------
OS=$(cat /etc/*-release | grep "^NAME=" | cut -d= -f2)
len=$(echo ${#OS})
len=$((len-2))
retval=$(echo -ne ${OS:1:${len}} | cut -d" " -f0)
echo -ne $retval
......@@ -130,7 +130,11 @@ void shellParseArgument(int argc, char *argv[], struct arguments *arguments) {
argp_parse(&argp, argc, argv, 0, 0, arguments);
if (arguments->abort) {
error(10, 0, "ABORTED");
#ifdef __USE_GNU
error(10, 0, "ABORTED");
#else
abort();
#endif
}
}
......
......@@ -17,7 +17,10 @@
#include <argp.h>
#include <assert.h>
#if !defined (__USE_GNU) && defined (LINUX)
#else
#include <error.h>
#endif
#include <pthread.h>
#include <semaphore.h>
#include <stdbool.h>
......@@ -309,7 +312,13 @@ int main(int argc, char *argv[]) {
argp_parse(&argp, argc, argv, 0, 0, &arguments);
if (arguments.abort) error(10, 0, "ABORTED");
if (arguments.abort) {
#ifdef __USE_GNU
error(10, 0, "ABORTED");
#else
abort();
#endif
}
enum MODE query_mode = arguments.mode;
char *ip_addr = arguments.host;
......
......@@ -15,7 +15,10 @@
#include <argp.h>
#include <assert.h>
#if !defined (__USE_GNU) && defined (LINUX)
#else
#include <error.h>
#endif
#include <fcntl.h>
#include <stdbool.h>
#include <stdio.h>
......@@ -335,7 +338,13 @@ int main(int argc, char *argv[]) {
reflected in arguments. */
argp_parse(&argp, argc, argv, 0, 0, &arguments);
if (arguments.abort) error(10, 0, "ABORTED");
if (arguments.abort) {
#ifdef __USE_GNU
error(10, 0, "ABORTED");
#else
abort();
#endif
}
if (taosCheckParam(&arguments) < 0) {
exit(EXIT_FAILURE);
......
......@@ -229,6 +229,14 @@ void taosSetCoreDump();
void taosBlockSIGPIPE();
#ifndef __USE_GNU
typedef int(*__compar_fn_t)(const void *, const void *);
void error (int, int, const char *);
#ifndef PTHREAD_MUTEX_RECURSIVE_NP
#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
#endif
#endif
#define BUILDIN_CLZL(val) __builtin_clzl(val)
#define BUILDIN_CLZ(val) __builtin_clz(val)
#define BUILDIN_CTZL(val) __builtin_ctzl(val)
......
......@@ -234,8 +234,15 @@ void *taosProcessAlarmSignal(void *tharg) {
timer_t timerId;
struct sigevent sevent;
sevent.sigev_notify = SIGEV_THREAD_ID;
sevent._sigev_un._tid = syscall(__NR_gettid);
#ifndef __USE_GNU
sevent.sigev_notify = SIGEV_THREAD;
sevent.sigev_value.sival_int = syscall(__NR_gettid);
#else
sevent.sigev_notify = SIGEV_THREAD_ID;
sevent._sigev_un._tid = syscall(__NR_gettid);
#endif
sevent.sigev_signo = SIGALRM;
if (timer_create(CLOCK_REALTIME, &sevent, &timerId) == -1) {
......
......@@ -27,12 +27,15 @@
#include <unistd.h>
#include <sys/types.h>
#include <sys/resource.h>
#include <sys/sysctl.h>
#include <sys/syscall.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#ifndef __USE_GNU
#include <linux/sysctl.h>
#else
#include <sys/sysctl.h>
#endif
#include "tglobalcfg.h"
#include "tlog.h"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册