From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 6 May 2019 13:25:14 +0300 From: Vladimir Davydov Subject: Re: [PATCH 1/3] build: Check for madvise syscall Message-ID: <20190506102514.4vi5kbokus4gfkgq@esperanza> References: <20190501155006.14546-1-gorcunov@gmail.com> <20190501155006.14546-2-gorcunov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190501155006.14546-2-gorcunov@gmail.com> To: Cyrill Gorcunov Cc: tml List-ID: On Wed, May 01, 2019 at 06:50:04PM +0300, Cyrill Gorcunov wrote: > Need to check if madvise is present in the system I don't think there's much point in splitting this change in three patches. Please squash. OTOH it'd be nice to see how this API is intended to be used within Tarantool. Could you please submit the patch utilizing this feature in the same series? > > Part of #3509 There's no issue 3509 in tarantool/small repository. Please paste the full link instead - GitHub web interface knows how to show them. > --- > https://github.com/tarantool/tarantool/issues/3509 > > CMakeLists.txt | 11 +++++++++++ > small/config.h.cmake | 9 +++++++++ > 2 files changed, 20 insertions(+) > create mode 100644 small/config.h.cmake > > diff --git a/CMakeLists.txt b/CMakeLists.txt > index ad27423..97d25bc 100644 > --- a/CMakeLists.txt > +++ b/CMakeLists.txt > @@ -1,6 +1,8 @@ > project(small C CXX) > cmake_minimum_required(VERSION 2.8 FATAL_ERROR) > > +include(CheckFunctionExists) > + > if(NOT CMAKE_BUILD_TYPE) > set(CMAKE_BUILD_TYPE Debug) > endif() > @@ -15,10 +17,19 @@ endif() > # Enable GNU glibc extentions. > add_definitions("-D_GNU_SOURCE") > > +check_function_exists(madvise TARANTOOL_SMALL_HAS_MADVISE) I think we'd better check that MADV_DONTDUMP is available with the aid of check_symbol_exists. > + > +configure_file( > + "small/config.h.cmake" > + "small/config.h" > + ) > +message (STATUS "") > + > # Valgrind > include_directories(third_party) > > set(lib_headers > + small/config.h > small/ibuf.h > small/lf_lifo.h > small/lifo.h > diff --git a/small/config.h.cmake b/small/config.h.cmake > new file mode 100644 > index 0000000..1c9db10 > --- /dev/null > +++ b/small/config.h.cmake > @@ -0,0 +1,9 @@ > +#ifndef TARANTOOL_SMALL_CONFIG_H_INCLUDED > +#define TARANTOOL_SMALL_CONFIG_H_INCLUDED > + > +/* > + * Defined if this platform has madvise(..). > + */ > + #cmakedefine TARANTOOL_SMALL_HAS_MADVISE 1 > + > +#endif /* TARANTOOL_SMALL_CONFIG_H_INCLUDED */