[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT/LIBBENCHMARK PATCH 2/5] Add Makefile.uk



Hi Vlad,

Please find some minor comments below.

Thanks,

-- Felipe

On 30.09.19, 22:44, "Vlad-Andrei BĂDOIU (78692)" 
<vlad_andrei.badoiu@xxxxxxxxxxxxxxx> wrote:

    Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
    ---
     Makefile.uk | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++
     1 file changed, 110 insertions(+)
     create mode 100644 Makefile.uk
    
    diff --git a/Makefile.uk b/Makefile.uk
    new file mode 100644
    index 0000000..27e04e9
    --- /dev/null
    +++ b/Makefile.uk
    @@ -0,0 +1,110 @@
    +#  SPDX-License-Identifier: BSD-3-Clause
    +#
    +#  benchmark Makefile.uk
    +#
    +#  Authors: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
    +#
    +#  Copyright (c) 2019, University Politehnica of Bucharest. All rights 
reserved.
    +#
    +#  Redistribution and use in source and binary forms, with or without
    +#  modification, are permitted provided that the following conditions
    +#  are met:
    +#
    +#  1. Redistributions of source code must retain the above copyright
    +#     notice, this list of conditions and the following disclaimer.
    +#  2. Redistributions in binary form must reproduce the above copyright
    +#     notice, this list of conditions and the following disclaimer in the
    +#     documentation and/or other materials provided with the distribution.
    +#  3. Neither the name of the copyright holder nor the names of its
    +#     contributors may be used to endorse or promote products derived from
    +#     this software without specific prior written permission.
    +#
    +#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS"
    +#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
THE
    +#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
PURPOSE
    +#  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 
BE
    +#  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    +#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    +#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
    +#  POSSIBILITY OF SUCH DAMAGE.
    +#
    +#  THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY.
    +#
    +
    
+################################################################################
    +# Library registration
    
+################################################################################
    +$(eval $(call addlib_s,libbenchmark,$(CONFIG_LIBBENCHMARK)))
    +
    
+################################################################################
    +# Sources
    
+################################################################################
    +LIBBENCHMARK_VERSION=1.5.0
    
+LIBBENCHMARK_URL=https://github.com/google/benchmark/archive/v$(LIBBENCHMARK_VERSION).tar.gz
    +LIBBENCHMARK_PATCHDIR=$(LIBBENCHMARK_BASE)/patches
    +$(eval $(call fetch,libbenchmark,$(LIBBENCHMARK_URL)))
    +$(eval $(call 
patch,libbenchmark,$(LIBBENCHMARK_PATCHDIR),benchmark-$(LIBBENCHMARK_VERSION)))
    +
    
+################################################################################
    +# Helpers
    
+################################################################################
    +LIBBENCHMARK_SUBDIR=benchmark-$(LIBBENCHMARK_VERSION)
    +LIBBENCHMARK_SRC = $(LIBBENCHMARK_ORIGIN)/$(LIBBENCHMARK_SUBDIR)
    +
    
+################################################################################
    +# Library includes
    
+################################################################################
    +LIBBENCHMARK_GLOBAL_INCLUDES-y += -I$(LIBBENCHMARK_SRC)/src
    +LIBBENCHMARK_GLOBAL_INCLUDES-y += -I$(LIBBENCHMARK_SRC)/include
    +CINCLUDES-y += $(LIBBENCHMARK_GLOBAL_INCLUDES-y)
    +CXXINCLUDES-y += $(LIBBENCHMARK_GLOBAL_INCLUDES-y)
    +
    
+################################################################################
    +# Common flags
    
+################################################################################
    +# Suppressed flags
    +SUPPRESS_FLAGS += -Wno-unused-parameter \
    +   -Wno-unused-variable -Wno-unused-value -Wno-unused-function \
    +   -Wno-missing-field-initializers -Wno-implicit-fallthrough \
    +   -Wno-cast-function-type -Wno-stringop-truncation \
    +   -Wno-char-subscripts -Wno-sign-compare

It might be good to namespace this variable, i.e., LIBBENCHMARK_ SUPPRESS_FLAGS

    +
    +LIBBENCHMARK_CFLAGS-y      += $(SUPPRESS_FLAGS) -Wno-pointer-to-int-cast 
-Wno-int-to-pointer-cast
    +LIBBENCHMARK_CXXFLAGS-y    += $(SUPPRESS_FLAGS) -Wno-pointer-to-int-cast 
-Wno-int-to-pointer-cast

I had the following warning while building:

cc1plus: warning: command line option '-Wno-pointer-to-int-cast' is valid for 
C/ObjC but not for C++

(please remove -Wno-pointer-to-int-cast from LIBBENCHMARK_CXXFLAGS-y)

Also, I got the following warning that you might want to suppress:

warning: unnecessary parentheses in declaration of '_sig_func' [-Wparentheses]

    +
    +LIBBENCHMARK_CFLAGS-y      +=  -DBENCHMARK_OS_LINUX 
-DCLOCK_THREAD_CPUTIME_ID \
    +                           -DNDEBUG -DBENCHMARK_HAS_SYSCTL
    +
    +LIBBENCHMARK_CXXFLAGS-y    +=  -DBENCHMARK_OS_LINUX 
-DCLOCK_THREAD_CPUTIME_ID \
    +                           -DNDEBUG -DBENCHMARK_HAS_SYSCTL
    +
    
+################################################################################
    +# Glue code
    
+################################################################################
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_BASE)/glue.cc|unikraft
    +
    
+################################################################################
    +# Library sources
    
+################################################################################
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/complexity.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/benchmark_name.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/console_reporter.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/sleep.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/benchmark_runner.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/benchmark_api_internal.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/csv_reporter.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/statistics.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/json_reporter.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/reporter.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/commandlineflags.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/benchmark_register.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/sysinfo.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/string_util.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/benchmark.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/counter.cc
    +#LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/benchmark_main.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/timers.cc
    +LIBBENCHMARK_SRCS-y += $(LIBBENCHMARK_SRC)/src/colorprint.cc
    -- 
    2.20.1
    
    

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.