当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 17

Roger/obproxy
关闭

forked from Argtest/obproxy 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
configure.ac 14.44 KB
一键复制 编辑 原始数据 按行查看 历史
oceanbase-admin 提交于 2021-05-31 22:55 . init push
AC_INIT([OceanBase],
[3.1.0],
[huating.zmq@alipay.com],
[obproxy],
[http://oceanbase.taobao.org/])
obapi_version="3.1.0"
AC_SUBST(obapi_version)
AC_DISABLE_STATIC
AC_PROG_RANLIB
AC_PROG_LIBTOOL
AM_INIT_AUTOMAKE([subdir-objects silent-rules])
ac_default_prefix=${HOME}/oceanbase_bin # for convenience
AC_PROG_CXX
AC_LANG([C++])
AC_SUBST([host_cpu])
AC_PROG_CC
AC_CANONICAL_HOST
dnl configure compiler flags
AC_ARG_WITH([release],
AS_HELP_STRING([--with-release],
[use optimize (default is NO)]),
[
if test "$withval" = "yes"; then
case "$host_cpu" in
*aarch64* )
AM_CXXFLAGS="-g -O2 -D_OB_VERSION=1000 -D_NO_EXCEPTION -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DNDEBUG -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -Wextra -Wunused-parameter -Wformat -Wconversion -Wno-deprecated -Wno-invalid-offsetof -finline-functions -fno-strict-aliasing -mtune=generic -Wno-psabi -Wno-sign-compare"
AM_CFLAGS="-g -O2 -D_OB_VERSION=1000 -DCOMPATIBLE -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -finline-functions -fno-strict-aliasing -Wall -mtune=generic -Wno-psabi -Wno-sign-compare"
;;
* )
AM_CXXFLAGS="-g -O2 -D_OB_VERSION=1000 -D_NO_EXCEPTION -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DNDEBUG -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -Wextra -Wunused-parameter -Wformat -Wconversion -Wno-deprecated -Wno-invalid-offsetof -finline-functions -fno-strict-aliasing -mtune=core2 -Wno-psabi -Wno-sign-compare"
AM_CFLAGS="-g -O2 -D_OB_VERSION=1000 -DCOMPATIBLE -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -finline-functions -fno-strict-aliasing -Wall -mtune=core2 -Wno-psabi -Wno-sign-compare"
;;
esac
fi
],
[ AM_CXXFLAGS="-D__STDC_LIMIT_MACROS -D_OB_VERSION=1000 -D__STDC_CONSTANT_MACROS -D_NO_EXCEPTION -g -Wall -Wextra -Wunused-parameter -Wformat -Wconversion -Wno-invalid-offsetof -Wno-deprecated -fno-strict-aliasing -fno-omit-frame-pointer -mtune=generic -Wno-psabi -Wno-sign-compare"
AM_CFLAGS="-D_OB_VERSION=1000 -DCOMPATIBLE -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-omit-frame-pointer -g -Wall -Wno-psabi -Wno-sign-compare"
]
)
#check gcc version, add -Wno-ignored-qualifiers flag for gcc version greater than 4.3.0
GCC_VERSION=`$CC -dumpversion`
if test $? -eq 0; then
major=`echo $GCC_VERSION | cut -d. -f1`
minor=`echo $GCC_VERSION | cut -d. -f2`
fi
if test $major -eq 4 -a $minor -ge 3 ; then
AM_CXXFLAGS="${AM_CXXFLAGS} -Wno-ignored-qualifiers"
else test $major -eq 5 -a $minor -eq 2;
AM_CXXFLAGS="${AM_CXXFLAGS} -DGCC_52"
fi
gcc_version="4.4.4"
dnl condition OPT_GCC_VERSION
AC_ARG_WITH([gcc-version],
AS_HELP_STRING([--with-gcc-version],
[opt gcc version (default is 4.4.4)]),
[
if test ! -z $withval; then
gcc_version=$withval
fi
],
[gcc_version="4.4.4"])
if test "X$gcc_version" != "X$GCC_VERSION"; then
echo "you choice gcc: ${gcc_version}, but now gcc is: $GCC_VERSION"
exit 127
fi
OSVER=`cat /etc/issue|head -1|awk -F. '{print $1}' | awk '{print $NF}'`
if test $OSVER -le 6; then
AM_CXXFLAGS="${AM_CXXFLAGS} -DUSE_POSIX_FALLOCATE"
fi
support_sse4_2=`cat /proc/cpuinfo|grep flags|head -1|grep -oE sse4_2`
if test "$support_sse4_2" = "sse4_2" ; then
AM_CXXFLAGS="${AM_CXXFLAGS} -DSUPPORT_SSE4_2"
fi
AC_ARG_WITH([atomic-time],
AS_HELP_STRING([--with-atomic-time],
[record atomic instructions time (default is NO)]),
[
if test "$withval" == "yes"; then
AM_CXXFLAGS="${AM_CXXFLAGS} -DATOMIC_TIME_PERF"
fi
],
[])
AC_ARG_WITH([memory-check],
AS_HELP_STRING([--with-memory-check],
[memory check (defualt is NO)]),
[
if test "$withval" = "yes"; then
AM_CXXFLAGS="${AM_CXXFLAGS} -DMEMCHK_LEVEL=1"
fi
],
[])
AC_ARG_WITH([perf],
AS_HELP_STRING([--with-perf],
[with perf (default is NO)]),
[
if test "$withval" = "yes"; then
test_perf=yes
AM_CXXFLAGS="${AM_CXXFLAGS} -D__NEED_PERF__"
AM_LDFLAGS="${AM_LDFLAGS} -lprofiler"
fi
],
[with_perf=no]
)
AC_ARG_WITH([5u-support],
AS_HELP_STRING([--with-5u-support],
[with 5u support (default is NO)]),
[
if test "$withval" = "yes"; then
support5u=yes
fi
],
[support5u=no]
)
if test $support5u = "no"
then
AM_CXXFLAGS="${AM_CXXFLAGS} -DHAVE_SCHED_GETCPU -DHAVE_REALTIME_COARSE -DOB_HAVE_EVENTFD -DHAVE_FALLOCATE"
fi
AM_CONDITIONAL([SUPPORT5U], test x$support5u = xno )
AC_ARG_WITH([preload],
AS_HELP_STRING([--with-preload],
[with preload (default is NO)]),
[
if test "$withval" = "yes"; then
with_preload=yes
AM_CXXFLAGS="${AM_CXXFLAGS} -D__ENABLE_PRELOAD__"
fi
],
[
with_preload=no
]
)
AC_ARG_WITH([mem-trace],
AS_HELP_STRING([--with-mem-trace],
[with memory trace (default is NO)]),
[
if test "$withval" = "yes"; then
memtrace=yes
fi
],
[memtrace=no]
)
if test $memtrace = "yes"
then
AM_CXXFLAGS="${AM_CXXFLAGS} -D__OB_MTRACE__ -rdynamic"
fi
AM_CONDITIONAL([MEMTRACE], test x$memtrace = xyes )
AC_ARG_WITH([mem-debug],
AS_HELP_STRING([--with-mem-debug],
[with memory debug features (default is NO)]),
[
if test "$withval" = "yes"; then
memdebug=yes
fi
],
[memdebug=no]
)
if test $memdebug = "yes"
then
AM_CXXFLAGS="${AM_CXXFLAGS} -D__OB_MDEBUG__"
fi
AM_CONDITIONAL([MEMDEBUG], test x$memdebug = xyes )
AM_LDFLAGS="${AM_LDFLAGS} -L${DEP_DIR}/lib -L${DEP_DIR}/lib/mysql"
dnl global default INCLUDES
AM_CPPFLAGS="${AM_CPPFLAGS} -I${DEP_DIR}/include -I${DEP_DIR}/include/mysql"
if test "X${CXXFLAGS}" = "X-g -O2"; then
CXXFLAGS=""
fi
if test "X${CFLAGS}" = "X-g -O2"; then
CFLAGS=""
fi
dnl condition COVERAGE
AC_ARG_WITH([coverage],
AS_HELP_STRING([--with-coverage],
[with coverage (default is NO)]),
[case "${withval}" in
yes) coverage=true ;;
no) coverage=false ;;
*) AC_MSG_ERROR([bad value ${withval} for --with-coverage]) ;;
esac
],
[coverage=false]
)
AM_CONDITIONAL([COVERAGE], test x$coverage = xtrue )
if test "X$coverage" = X"true"; then
AM_CXXFLAGS="${AM_CXXFLAGS} -fprofile-arcs -ftest-coverage -DTEST_COVER"
AM_CFLAGS="${AM_CFLAGS} -fprofile-arcs -ftest-coverage -DTEST_COVER"
AM_LDFLAGS="${AM_LDFLAGS} -lgcov"
fi
dnl define global flags
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_LDFLAGS])
AC_SUBST([AM_CXXFLAGS])
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS_WITH_ARCH])
AC_SUBST([AM_CFLAGS_WITH_ARCH])
dnl condition WITH_TEST_CASE
AC_ARG_WITH([test_case],
AS_HELP_STRING([--with-test-case],
[with test case (default is YES)]),
[
if test "$withval" = "no"; then
test_case=no
fi
],
[ test_case=yes ]
)
AM_CONDITIONAL([WITH_TEST_CASE], test x$test_case = xyes )
AC_ARG_WITH([simplify_verification],
AS_HELP_STRING([--with-simplify-verification],
[with simplify verification (default is NO)]),
[
if test "$withval" = "yes"; then
AC_DEFINE(SIMPLIFY_VERIFICATION)
fi
],
[ echo "simplify-verification is no" ]
)
dnl strip_ut
AC_ARG_ENABLE([strip_ut],
AS_HELP_STRING([--enable-strip-ut], [strip unit test binaries. (default is NO)]),
[case "${enableval}" in
yes) strip_ut=true ;;
no) strip_ut=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-strip-ut]) ;;
esac],
[strip_ut=false])
AM_CONDITIONAL([STRIP_UT], [test x$strip_ut = xtrue])
dnl dlink_observer
AC_ARG_ENABLE([dlink_observer],
AS_HELP_STRING([--enable-dlink-observer], [unit test dynamic link observer. (default is NO)]),
[case "${enableval}" in
yes) dlink_observer=true ;;
no) dlink_observer=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-dlink-observer]) ;;
esac],
[dlink_observer=false])
AM_CONDITIONAL([DLINK_OBSERVER], [test x$dlink_observer = xtrue])
dnl build_version.mk related:
dnl see whether git is installed
AC_PATH_PROG(svnversioncommand, git)
AC_ARG_WITH([svnfile],
AS_HELP_STRING([--with-svnfile],
[use svnfile svn_dist_version instead of running git (default is NO)]),
[
if test "$withval" = "yes"; then
use_svnfile=yes
fi
],
[use_svnfile=no]
)
dnl use git to record the current repository revision only if
dnl git is installed and we are in a working copy
if test "X$use_svnfile" = "Xyes"; then
revision="cat \$(top_srcdir)/svn_dist_version"
build_num="$($revision)"
AM_CONDITIONAL([HAVESVNWC], false)
elif test "X$svnversioncommand" = "X"; then
revision="-"
build_num="$($revision)"
AM_CONDITIONAL([HAVESVNWC], true)
elif test "X$AONE_BUILD_NUMBER" != "X"; then
build_num="$AONE_BUILD_NUMBER"
revision="(cd \$(top_srcdir) && echo $AONE_BUILD_NUMBER-$(git rev-parse HEAD))"
AM_CONDITIONAL([HAVESVNWC], true)
else
build_num="$(git rev-list --all | wc -l)"
revision="(cd \$(top_srcdir) && echo $build_num-local-$(git rev-parse HEAD))"
AM_CONDITIONAL([HAVESVNWC], true)
fi
dnl substitute revision in build_version.mk
AC_SUBST(revision)
dnl define RELEASEID
AC_ARG_VAR([RELEASEID], [release number when building in Taobao ABS])
if test "X$RELEASEID" = "X"; then
RELEASEID="$build_num.el$(cat /etc/redhat-release | cut -d " " -f 7 | cut -d "." -f 1)"
fi
AC_DEFINE_UNQUOTED([RELEASEID], "$RELEASEID")
dnl LDADD
AM_LDFLAGS="${AM_LDFLAGS} -Wl,--allow-multiple-definition"
BIN_LDFLAGS="-lc -lrt"
if test "X5.2.0" = "X$GCC_VERSION"; then
AM_LDFLAGS="${AM_LDFLAGS} -static-libstdc++ -static-libgcc"
BIN_LDFLAGS="${BIN_LDFLAGS} ${TOOLS_DIR}/lib64/libstdc++.a"
postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
fi
AC_SUBST(BIN_LDFLAGS)
dnl with-buildtime
AC_ARG_ENABLE([buildtime],
AS_HELP_STRING([--enable-buildtime], [auto-update build_time, build_version etc. (default is YES)]),
[case "${enableval}" in
yes) buildtime=true ;;
no) buildtime=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-buildtime]) ;;
esac],
[buildtime=true])
AM_CONDITIONAL([UPDATE_BUILDTIME], [test x$buildtime = xtrue])
dnl condition WITH_MYSQLTEST
AC_ARG_WITH([mysqltest],
AS_HELP_STRING([--with-mysqltest],
[whether to build mysqltest (default is NO)]),
[],
[with_mysqltest="no"])
AM_CONDITIONAL([WITH_MYSQLTEST], test x$with_mysqltest = xyes)
dnl condition 7U_SUPPORT
AC_ARG_WITH([7u-support],
AS_HELP_STRING([--with-7u-support],
[with 7u support (default is NO)]),
[
if test "$withval" == "yes"; then
BIN_LDFLAGS="-lc -lrt -pthread ${TOOLS_DIR}/lib64/libstdc++.a"
fi
],
[])
AC_CONFIG_FILES([\
Makefile \
src/Makefile \
unittest/Makefile \
unittest/obproxy/Makefile
])
AM_CXXFLAGS_WITH_ARCH="${AM_CXXFLAGS}"
AM_CFLAGS_WITH_ARCH="${AM_CFLAGS}"
if test $OSVER -gt 6; then
AM_CXXFLAGS_WITH_ARCH="${AM_CXXFLAGS_WITH_ARCH} -Werror"
AM_CFLAGS_WITH_ARCH="${AM_CFLAGS_WITH_ARCH} -Werror"
fi
AM_CXXFLAGS="${AM_CXXFLAGS} -Werror"
AM_CFLAGS="${AM_CFLAGS} -Werror"
AC_OUTPUT
dnl print global flags
AC_MSG_RESULT([Global Compile Flags:])
AC_MSG_RESULT([DEP_DIR=${DEP_DIR}])
AC_MSG_RESULT([TOOLS_DIR=${TOOLS_DIR}])
AC_MSG_RESULT([RUNTIME_DIR=${RUNTIME_DIR}])
AC_MSG_RESULT([AM_CPPFLAGS=${AM_CPPFLAGS}])
AC_MSG_RESULT([AM_LDFLAGS=${AM_LDFLAGS}])
AC_MSG_RESULT([AM_CXXFLAGS=${AM_CXXFLAGS}])
AC_MSG_RESULT([AM_CFLAGS=${AM_CFLAGS}])
AC_MSG_RESULT([AM_CXXFLAGS_WITH_ARCH=${AM_CXXFLAGS_WITH_ARCH}])
AC_MSG_RESULT([AM_CFLAGS_WITH_ARCH=${AM_CFLAGS_WITH_ARCH}])
AC_MSG_RESULT([BIN_LDFLAGS=${BIN_LDFLAGS}])
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/yuriluo/obproxy.git
git@gitee.com:yuriluo/obproxy.git
yuriluo
obproxy
obproxy
master

搜索帮助