* [Buildroot] [RFC PATCH v1 0/2] Added package: 'sysbench' and its dependency: 'ck'. @ 2023-05-25 21:51 Sergey Romanov via buildroot 2023-05-25 21:51 ` [Buildroot] [RFC PATCH v1 1/2] package/ck: new package Sergey Romanov via buildroot 2023-05-25 21:51 ` [Buildroot] [RFC PATCH v1 " Sergey Romanov via buildroot 0 siblings, 2 replies; 9+ messages in thread From: Sergey Romanov via buildroot @ 2023-05-25 21:51 UTC (permalink / raw) To: buildroot Cc: svromanov, chip-club, akopytov, sbahra, thomas.petazzoni, sdfw_system_team, kernel Sergey Romanov (2): package/ck: new package package/sysbench: new package .checkpackageignore | 1 + DEVELOPERS | 4 + package/Config.in | 2 + ...oid-buildroot-s-influence-on-LDFLAGS.patch | 191 ++++++++++++++++++ package/ck/Config.in | 23 +++ package/ck/ck.hash | 3 + package/ck/ck.mk | 42 ++++ package/sysbench/Config.in | 28 +++ package/sysbench/sysbench.hash | 3 + package/sysbench/sysbench.mk | 30 +++ 10 files changed, 327 insertions(+) create mode 100644 package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch create mode 100644 package/ck/Config.in create mode 100644 package/ck/ck.hash create mode 100644 package/ck/ck.mk create mode 100644 package/sysbench/Config.in create mode 100644 package/sysbench/sysbench.hash create mode 100644 package/sysbench/sysbench.mk -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [RFC PATCH v1 1/2] package/ck: new package 2023-05-25 21:51 [Buildroot] [RFC PATCH v1 0/2] Added package: 'sysbench' and its dependency: 'ck' Sergey Romanov via buildroot @ 2023-05-25 21:51 ` Sergey Romanov via buildroot 2023-08-25 21:33 ` Thomas Petazzoni via buildroot 2023-05-25 21:51 ` [Buildroot] [RFC PATCH v1 " Sergey Romanov via buildroot 1 sibling, 1 reply; 9+ messages in thread From: Sergey Romanov via buildroot @ 2023-05-25 21:51 UTC (permalink / raw) To: buildroot Cc: svromanov, chip-club, akopytov, sbahra, thomas.petazzoni, sdfw_system_team, kernel Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures for the research, design and implementation of high performance concurrent systems. https://github.com/concurrencykit/ck.git Signed-off-by: Sergey Romanov <svromanov@sberdevices.ru> --- .checkpackageignore | 1 + DEVELOPERS | 3 + package/Config.in | 1 + ...oid-buildroot-s-influence-on-LDFLAGS.patch | 191 ++++++++++++++++++ package/ck/Config.in | 23 +++ package/ck/ck.hash | 3 + package/ck/ck.mk | 42 ++++ 7 files changed, 264 insertions(+) create mode 100644 package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch create mode 100644 package/ck/Config.in create mode 100644 package/ck/ck.hash create mode 100644 package/ck/ck.mk diff --git a/.checkpackageignore b/.checkpackageignore index f2dea0dfd9..1be4e79a2b 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -286,6 +286,7 @@ package/cgroupfs-mount/S30cgroupfs Indent Shellcheck Variables package/chipmunk/0001-Fix-build-failure-on-musl.patch Upstream package/chocolate-doom/0001-Remove-redundant-demoextend-definition.patch Upstream package/chrony/S49chrony Indent Shellcheck Variables +package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch Upstream package/clang/0001-lib-Driver-ToolChains-Gnu-Use-GCC_INSTALL_PREFIX-in-.patch Upstream package/cmake/0001-rename-cmake-rootfile.patch Upstream package/cmocka/0001-Don-t-redefine-uintptr_t.patch Upstream diff --git a/DEVELOPERS b/DEVELOPERS index e76717e845..4accefb251 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2626,6 +2626,9 @@ F: package/rtl8189fs/ F: package/wpa_supplicant/ F: package/xr819-xradio/ +N: Sergey Romanov <svromanov@sberdevices.ru> +F: package/ck/ + N: Sergio Prado <sergio.prado@e-labworks.com> F: board/toradex/apalis-imx6/ F: configs/toradex_apalis_imx6_defconfig diff --git a/package/Config.in b/package/Config.in index 420ebaa370..c81ddc81f6 100644 --- a/package/Config.in +++ b/package/Config.in @@ -92,6 +92,7 @@ menu "Debugging, profiling and benchmark" source "package/bonnie/Config.in" source "package/bpftool/Config.in" source "package/cache-calibrator/Config.in" + source "package/ck/Config.in" source "package/clinfo/Config.in" source "package/clpeak/Config.in" source "package/coremark/Config.in" diff --git a/package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch b/package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch new file mode 100644 index 0000000000..7e2cc85ba6 --- /dev/null +++ b/package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch @@ -0,0 +1,191 @@ +From 0b30b184538c0de485fe292e2ebb6bfea3c255bc Mon Sep 17 00:00:00 2001 +From: Sergey Romanov <svromanov@sberdevices.ru> +Date: Thu, 25 May 2023 19:01:28 +0300 +Subject: [PATCH] Avoid buildroot's influence on LDFLAGS + +Upstream-status: Pending + +Signed-off-by: Sergey Romanov <svromanov@sberdevices.ru> +--- + build/ck.build.in | 2 +- + build/ck.build.ppc64 | 2 +- + build/ck.build.x86_64 | 2 +- + build/regressions.build.in | 2 +- + configure | 28 +++++++++++++++------------- + src/Makefile.in | 2 +- + 6 files changed, 20 insertions(+), 18 deletions(-) + +diff --git a/build/ck.build.in b/build/ck.build.in +index 1d6bfe3..f68b5b7 100644 +--- a/build/ck.build.in ++++ b/build/ck.build.in +@@ -3,7 +3,7 @@ MAKE=make + SRC_DIR=@SRC_DIR@ + BUILD_DIR=@BUILD_DIR@ + CFLAGS+=@CFLAGS@ -I$(SRC_DIR)/include -I$(BUILD_DIR)/include +-LDFLAGS+=@LDFLAGS@ ++LDFLAGS_CK+=@LDFLAGS_CK@ + ALL_LIBS=@ALL_LIBS@ + LD=@LD@ + +diff --git a/build/ck.build.ppc64 b/build/ck.build.ppc64 +index 51003f4..7e25f10 100644 +--- a/build/ck.build.ppc64 ++++ b/build/ck.build.ppc64 +@@ -1,2 +1,2 @@ + CFLAGS+=-m64 -D__ppc64__ +-LDFLAGS+=-m64 ++LDFLAGS_CK+=-m64 +diff --git a/build/ck.build.x86_64 b/build/ck.build.x86_64 +index 81b378a..160c4f1 100644 +--- a/build/ck.build.x86_64 ++++ b/build/ck.build.x86_64 +@@ -1,2 +1,2 @@ + CFLAGS+=-m64 -D__x86_64__ +-LDFLAGS+=-m64 ++LDFLAGS_CK+=-m64 +diff --git a/build/regressions.build.in b/build/regressions.build.in +index 6d79a8b..f1c7515 100644 +--- a/build/regressions.build.in ++++ b/build/regressions.build.in +@@ -3,7 +3,7 @@ MAKE=make + CORES=@CORES@ + CFLAGS=@CFLAGS@ -I../../../include -DCORES=@CORES@ + LD=@LD@ +-LDFLAGS=@LDFLAGS@ ++LDFLAGS_CK=@LDFLAGS_CK@ + PTHREAD_CFLAGS=@PTHREAD_CFLAGS@ + BUILD_DIR=@BUILD_DIR@ + +diff --git a/configure b/configure +index 340e05c..f73104a 100755 +--- a/configure ++++ b/configure +@@ -112,7 +112,7 @@ generate() + -e "s#@ALL_LIBS@#$ALL_LIBS#g" \ + -e "s#@INSTALL_LIBS@#$INSTALL_LIBS#g" \ + -e "s#@LD@#$LD#g" \ +- -e "s#@LDFLAGS@#$LDFLAGS#g" \ ++ -e "s#@LDFLAGS_CK@#$LDFLAGS_CK#g" \ + -e "s#@PTHREAD_CFLAGS@#$PTHREAD_CFLAGS#g" \ + -e "s#@MANDIR@#$MANDIR#g" \ + -e "s#@GZIP@#$GZIP#g" \ +@@ -156,7 +156,7 @@ generate_stdout() + echo " LDNAME = $LDNAME" + echo " LDNAME_VERSION = $LDNAME_VERSION" + echo " LDNAME_MAJOR = $LDNAME_MAJOR" +- echo " LDFLAGS = $LDFLAGS" ++ echo " LDFLAGS_CK = $LDFLAGS_CK" + echo " STATIC_LIB = $DISABLE_STATIC" + echo " GZIP = $GZIP" + echo " CORES = $CORES" +@@ -222,7 +222,7 @@ for option; do + echo " AR AR archiver command" + echo " CC C compiler command" + echo " CFLAGS C compiler flags" +- echo " LDFLAGS Linker flags" ++ echo " LDFLAGS_CK Linker flags" + echo " GZIP GZIP compression tool" + echo + echo "Report bugs to ${MAINTAINER}." +@@ -376,15 +376,15 @@ case "$SYSTEM" in + ;; + MINGW32*|MSYS_NT*) + SYSTEM=mingw32 +- LDFLAGS="-mthreads $LDFLAGS" ++ LDFLAGS_CK="-mthreads $LDFLAGS_CK" + ;; + MINGW64*) + SYSTEM=mingw64 +- LDFLAGS="-mthreads $LDFLAGS" ++ LDFLAGS_CK="-mthreads $LDFLAGS_CK" + ;; + CYGWIN_NT*) + SYSTEM=cygwin +- LDFLAGS="-mthreads $LDFLAGS" ++ LDFLAGS_CK="-mthreads $LDFLAGS_CK" + ;; + *) + SYSTEM= +@@ -413,7 +413,7 @@ case $PLATFORM in + MM="${MM:-"CK_MD_RMO"}" + PLATFORM=ppc + ENVIRONMENT=32 +- LDFLAGS="-m32 $LDFLAGS" ++ LDFLAGS_CK="-m32 $LDFLAGS_CK" + ;; + "sun4u"|"sun4v"|"sparc64") + RTM_ENABLE="CK_MD_RTM_DISABLE" +@@ -421,7 +421,7 @@ case $PLATFORM in + MM="${MM:-"CK_MD_TSO"}" + PLATFORM=sparcv9 + ENVIRONMENT=64 +- LDFLAGS="-m64 $LDFLAGS" ++ LDFLAGS_CK="-m64 $LDFLAGS_CK" + ;; + i386|i486|i586|i686|i586_i686|pentium*|athlon*|k5|k6|k6_2|k6_3) + LSE_ENABLE="CK_MD_LSE_DISABLE" +@@ -474,7 +474,7 @@ case $PLATFORM in + LSE_ENABLE="CK_MD_LSE_DISABLE" + PLATFORM=x86_64 + ENVIRONMENT=64 +- LDFLAGS="-m64 $LDFLAGS" ++ LDFLAGS_CK="-m64 $LDFLAGS_CK" + MM="${MM:-"CK_MD_TSO"}" + ;; + "i86pc") +@@ -686,6 +686,8 @@ $CC -o .1 .1.c + COMPILER=`./.1 2> /dev/null` + r=$? + rm -f .1.c .1 ++COMPILER="gcc" ++r=0 + + if test "$r" -ne 0; then + assert "" "update compiler" +@@ -695,7 +697,7 @@ fi + + if test "$COMPILER" = "suncc"; then + LD=/bin/ld +- LDFLAGS="-G -z text -h libck.so.$VERSION_MAJOR $LDFLAGS" ++ LDFLAGS_CK="-G -z text -h libck.so.$VERSION_MAJOR $LDFLAGS_CK" + CFLAGS="-xO5 $CFLAGS" + PTHREAD_CFLAGS="-mt -lpthread" + elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" = "mingw32" || test "$COMPILER" = "mingw64"; then +@@ -711,9 +713,9 @@ elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" + CC_WL_OPT="-soname" + fi + +- LDFLAGS="-Wl,$CC_WL_OPT,$SONAME $LDFLAGS" ++ LDFLAGS_CK="-Wl,$CC_WL_OPT,$SONAME $LDFLAGS_CK" + if test "$WANT_PIC" = "yes"; then +- LDFLAGS="$LDFLAGS -shared -fPIC" ++ LDFLAGS_CK="$LDFLAGS_CK -shared -fPIC" + CFLAGS="$CFLAGS -fPIC" + + if [ "$DISABLE_STATIC" -eq 1 ]; then +@@ -724,7 +726,7 @@ elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" + INSTALL_LIBS="install-so install-lib" + fi + else +- LDFLAGS="$LDFLAGS -fno-PIC" ++ LDFLAGS_CK="$LDFLAGS_CK -fno-PIC" + CFLAGS="$CFLAGS -fno-PIC" + if [ "$DISABLE_STATIC" -eq 1 ]; then + echo "Error: You have choosen to disable PIC, yet you also disabled the static lib." 1>&2 +diff --git a/src/Makefile.in b/src/Makefile.in +index 7378849..ee6f9ee 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -22,7 +22,7 @@ OBJECTS=ck_barrier_centralized.o \ + all: $(ALL_LIBS) + + libck.so: $(OBJECTS) +- $(LD) $(LDFLAGS) -o $(TARGET_DIR)/libck.so $(OBJECTS) ++ $(LD) $(LDFLAGS_CK) -o $(TARGET_DIR)/libck.so $(OBJECTS) + + libck.a: $(OBJECTS) + $(AR) rcs $(TARGET_DIR)/libck.a $(OBJECTS) +-- +2.25.1 + diff --git a/package/ck/Config.in b/package/ck/Config.in new file mode 100644 index 0000000000..d88eaa8413 --- /dev/null +++ b/package/ck/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_CK_ARCH_SUPPORTS + bool + default y if ((BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && \ + !BR2_ARM_CPU_ARMV7M) || BR2_aarch64 || \ + BR2_powerpc || BR2_powerpc64 || BR2_RISCV_64 || \ + BR2_s390x || BR2_sparc_v9 || BR2_x86 || BR2_x86_64) + +config BR2_PACKAGE_CK_TOOLCHAIN_SUPPORTS + bool + default y if ((BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_USES_GLIBC) && \ + !BR2_TOOLCHAIN_USES_UCLIBC) + +config BR2_PACKAGE_CK + bool "concurrency kit" + depends on BR2_PACKAGE_CK_ARCH_SUPPORTS + depends on BR2_PACKAGE_CK_TOOLCHAIN_SUPPORTS + help + Concurrency primitives, safe memory reclamation + mechanisms and non-blocking data structures + for the research, design and implementation + of high performance concurrent systems. + + https://github.com/concurrencykit/ck.git diff --git a/package/ck/ck.hash b/package/ck/ck.hash new file mode 100644 index 0000000000..6d77ae4bee --- /dev/null +++ b/package/ck/ck.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 97d2a21d5326ef79b4668be2e6eda6284ee77a64c0981b35fd9695c736c3d4ac ck-0.7.1.tar.gz +sha256 21a861f554f8f97047815e63ff5cbd57707b4c53dc1dd1b0f2dd43e6ca193464 LICENSE diff --git a/package/ck/ck.mk b/package/ck/ck.mk new file mode 100644 index 0000000000..ecdeadb057 --- /dev/null +++ b/package/ck/ck.mk @@ -0,0 +1,42 @@ +################################################################################ +# +# ck +# +################################################################################ + +CK_VERSION = 0.7.1 +CK_SITE = $(call github,concurrencykit,ck,$(CK_VERSION)) +CK_LICENSE = Apache-2.0 +CK_LICENSE_FILES = LICENSE + +CK_INSTALL_STAGING = YES + +CK_PROFILE_PARAMS += --platform=$(BR2_ARCH) +CK_PROFILE_PARAMS += --prefix="/usr" + +define CK_CONFIGURE_CMDS + ( cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) \ + $(CK_PROFILE_CONF_ENV) \ + ./configure $(CK_PROFILE_PARAMS) ) +endef + +define CK_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) \ + $(CK_PROFILE_CONF_ENV) \ + $(MAKE) -C $(@D) +endef + +define CK_INSTALL_TARGET_CMDS + $(TARGET_CONFIGURE_OPTS) \ + $(CK_PROFILE_CONF_ENV) \ + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +define CK_INSTALL_STAGING_CMDS + $(TARGET_CONFIGURE_OPTS) \ + $(CK_PROFILE_CONF_ENV) \ + $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +$(eval $(generic-package)) -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Buildroot] [RFC PATCH v1 1/2] package/ck: new package 2023-05-25 21:51 ` [Buildroot] [RFC PATCH v1 1/2] package/ck: new package Sergey Romanov via buildroot @ 2023-08-25 21:33 ` Thomas Petazzoni via buildroot 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 0/2] Added package: 'sysbench' and its dependency: 'ck' Sergey Romanov via buildroot 0 siblings, 1 reply; 9+ messages in thread From: Thomas Petazzoni via buildroot @ 2023-08-25 21:33 UTC (permalink / raw) To: Sergey Romanov via buildroot Cc: Sergey Romanov, chip-club, akopytov, sbahra, sdfw_system_team, kernel Hello Sergey, On Fri, 26 May 2023 00:51:02 +0300 Sergey Romanov via buildroot <buildroot@buildroot.org> wrote: > Concurrency primitives, safe memory reclamation > mechanisms and non-blocking data structures > for the research, design and implementation > of high performance concurrent systems. > > https://github.com/concurrencykit/ck.git > > Signed-off-by: Sergey Romanov <svromanov@sberdevices.ru> Sorry for the very slow feedback. I wanted to push this, but it doesn't build, and I don't see how it can build in a cross-compilation environment. Indeed, the configure script does this: $CC -o .1 .1.c COMPILER=`./.1 2> /dev/null` r=$? rm -f .1.c .1 if test "$r" -ne 0; then assert "" "update compiler" else echo "success [$CC]" fi So it builds a program called .1 with the cross-compiler, and then it tries to run it. This obviously will never work in a cross-compilation context. Some more comments below (which I had addressed locally, but had to give up because of the above issue) > diff --git a/.checkpackageignore b/.checkpackageignore > index f2dea0dfd9..1be4e79a2b 100644 > --- a/.checkpackageignore > +++ b/.checkpackageignore > @@ -286,6 +286,7 @@ package/cgroupfs-mount/S30cgroupfs Indent Shellcheck Variables > package/chipmunk/0001-Fix-build-failure-on-musl.patch Upstream > package/chocolate-doom/0001-Remove-redundant-demoextend-definition.patch Upstream > package/chrony/S49chrony Indent Shellcheck Variables > +package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch Upstream Please add a proper Upstream: tag instead of adding an exception. We don't want to add new entries in .checkpackageignore, only remove existing entries. > diff --git a/package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch b/package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch > new file mode 100644 > index 0000000000..7e2cc85ba6 > --- /dev/null > +++ b/package/ck/0001-Avoid-buildroot-s-influence-on-LDFLAGS.patch > @@ -0,0 +1,191 @@ > +From 0b30b184538c0de485fe292e2ebb6bfea3c255bc Mon Sep 17 00:00:00 2001 > +From: Sergey Romanov <svromanov@sberdevices.ru> > +Date: Thu, 25 May 2023 19:01:28 +0300 > +Subject: [PATCH] Avoid buildroot's influence on LDFLAGS > + > +Upstream-status: Pending Pending where? Could you please provide some link to a pull request? Also, could you provide some more details on why this patch is needed. Apparently, the configure script is designed to allow passing custom LDFLAGS through the LDFLAGS variable, so why doesn't that just work? > diff --git a/package/ck/Config.in b/package/ck/Config.in > new file mode 100644 > index 0000000000..d88eaa8413 > --- /dev/null > +++ b/package/ck/Config.in > @@ -0,0 +1,23 @@ > +config BR2_PACKAGE_CK_ARCH_SUPPORTS > + bool > + default y if ((BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && \ > + !BR2_ARM_CPU_ARMV7M) || BR2_aarch64 || \ > + BR2_powerpc || BR2_powerpc64 || BR2_RISCV_64 || \ > + BR2_s390x || BR2_sparc_v9 || BR2_x86 || BR2_x86_64) BR2_x86 doesn't exist, it's BR2_i386. Also, please reformat as such: config BR2_PACKAGE_CK_ARCH_SUPPORTS bool default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && !BR2_ARM_CPU_ARMV7M default y if BR2_aarch64 default y if BR2_i386 default y if BR2_powerpc || BR2_powerpc64 default y if BR2_RISCV_64 default y if BR2_s390x default y if BR2_sparc_v9 default y if BR2_x86_64 > +config BR2_PACKAGE_CK_TOOLCHAIN_SUPPORTS > + bool > + default y if ((BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_USES_GLIBC) && \ > + !BR2_TOOLCHAIN_USES_UCLIBC) Please drop this. > + > +config BR2_PACKAGE_CK > + bool "concurrency kit" > + depends on BR2_PACKAGE_CK_ARCH_SUPPORTS > + depends on BR2_PACKAGE_CK_TOOLCHAIN_SUPPORTS And use: # some comment here to explain the issue depends on !BR2_TOOLCHAIN_USES_UCLIBC > + help > + Concurrency primitives, safe memory reclamation > + mechanisms and non-blocking data structures > + for the research, design and implementation > + of high performance concurrent systems. > + > + https://github.com/concurrencykit/ck.git And add: comment "ck needs a toolchain w/ glibc or musl" depends on BR2_PACKAGE_CK_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_UCLIBC > +CK_INSTALL_STAGING = YES > + > +CK_PROFILE_PARAMS += --platform=$(BR2_ARCH) > +CK_PROFILE_PARAMS += --prefix="/usr" Please use: CK_CONF_OPTS = \ --platform=$(BR2_ARCH) \ --prefix="/usr" > + > +define CK_CONFIGURE_CMDS > + ( cd $(@D); \ > + $(TARGET_CONFIGURE_OPTS) \ > + $(CK_PROFILE_CONF_ENV) \ This variable doesn't exist. > + ./configure $(CK_PROFILE_PARAMS) ) Please simplify to: cd $(@D); \ $(TARGET_CONFIGURE_OPTS) \ ./configure $(CK_CONF_OPTS) > +endef > + > +define CK_BUILD_CMDS > + $(TARGET_CONFIGURE_OPTS) \ > + $(CK_PROFILE_CONF_ENV) \ > + $(MAKE) -C $(@D) If you can simplify to: $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) it would be great. > +endef > + > +define CK_INSTALL_TARGET_CMDS > + $(TARGET_CONFIGURE_OPTS) \ > + $(CK_PROFILE_CONF_ENV) \ > + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install Simplify to: $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install if possible. > +endef > + > +define CK_INSTALL_STAGING_CMDS > + $(TARGET_CONFIGURE_OPTS) \ > + $(CK_PROFILE_CONF_ENV) \ > + $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install Simplify to: $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install if possible. Thanks! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [RFC PATCH v2 0/2] Added package: 'sysbench' and its dependency: 'ck'. 2023-08-25 21:33 ` Thomas Petazzoni via buildroot @ 2023-11-17 9:44 ` Sergey Romanov via buildroot 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 1/2] package/ck: new package Sergey Romanov via buildroot 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 2/2] package/sysbench: " Sergey Romanov via buildroot 0 siblings, 2 replies; 9+ messages in thread From: Sergey Romanov via buildroot @ 2023-11-17 9:44 UTC (permalink / raw) To: buildroot Cc: chip-club, akopytov, kernel, svromanov, sbahra, sdfw_system_team, thomas.petazzoni Sergey Romanov (2): package/ck: new package package/sysbench: new package DEVELOPERS | 4 ++ package/Config.in | 2 + package/ck/Config.in | 19 +++++++++ package/ck/ck.hash | 3 ++ package/ck/ck.mk | 71 ++++++++++++++++++++++++++++++++++ package/sysbench/Config.in | 29 ++++++++++++++ package/sysbench/sysbench.hash | 3 ++ package/sysbench/sysbench.mk | 31 +++++++++++++++ 8 files changed, 162 insertions(+) create mode 100644 package/ck/Config.in create mode 100644 package/ck/ck.hash create mode 100644 package/ck/ck.mk create mode 100644 package/sysbench/Config.in create mode 100644 package/sysbench/sysbench.hash create mode 100644 package/sysbench/sysbench.mk -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [RFC PATCH v2 1/2] package/ck: new package 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 0/2] Added package: 'sysbench' and its dependency: 'ck' Sergey Romanov via buildroot @ 2023-11-17 9:44 ` Sergey Romanov via buildroot 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 2/2] package/sysbench: " Sergey Romanov via buildroot 1 sibling, 0 replies; 9+ messages in thread From: Sergey Romanov via buildroot @ 2023-11-17 9:44 UTC (permalink / raw) To: buildroot Cc: Sergey Romanov, chip-club, akopytov, kernel, svromanov, sbahra, sdfw_system_team, thomas.petazzoni From: Sergey Romanov <svromanov@sberdevices.ru> Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures for the research, design and implementation of high performance concurrent systems. https://github.com/concurrencykit/ck.git Signed-off-by: Sergey Romanov <svromanov@salutedevices.com> --- DEVELOPERS | 3 ++ package/Config.in | 1 + package/ck/Config.in | 19 ++++++++++++ package/ck/ck.hash | 3 ++ package/ck/ck.mk | 71 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 97 insertions(+) create mode 100644 package/ck/Config.in create mode 100644 package/ck/ck.hash create mode 100644 package/ck/ck.mk diff --git a/DEVELOPERS b/DEVELOPERS index 1f26e9bc81..f967b46842 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2717,6 +2717,9 @@ N: Sergey Matyukevich <sergey.matyukevich@synopsys.com> F: board/synopsys/nsim/ F: configs/snps_arc700_nsim_defconfig +N: Sergey Romanov <svromanov@salutedevices.com> +F: package/ck/ + N: Sergio Prado <sergio.prado@e-labworks.com> F: board/toradex/apalis-imx6/ F: configs/toradex_apalis_imx6_defconfig diff --git a/package/Config.in b/package/Config.in index 5a3410d758..ed08cb69c6 100644 --- a/package/Config.in +++ b/package/Config.in @@ -91,6 +91,7 @@ menu "Debugging, profiling and benchmark" source "package/bonnie/Config.in" source "package/bpftool/Config.in" source "package/cache-calibrator/Config.in" + source "package/ck/Config.in" source "package/clinfo/Config.in" source "package/clpeak/Config.in" source "package/coremark/Config.in" diff --git a/package/ck/Config.in b/package/ck/Config.in new file mode 100644 index 0000000000..613a1f4dde --- /dev/null +++ b/package/ck/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_CK_ARCH_SUPPORTS + bool + default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && !BR2_ARM_CPU_ARMV7M + default y if BR2_aarch64 + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_s390x + default y if BR2_sparc_v9 + default y if BR2_i386 + default y if BR2_x86_64 + +config BR2_PACKAGE_CK + bool "concurrency kit" + depends on BR2_PACKAGE_CK_ARCH_SUPPORTS + help + Concurrency primitives, safe memory reclamation mechanisms + and non-blocking data structures for the research, design and + implementation of high performance concurrent systems. + + https://github.com/concurrencykit/ck.git diff --git a/package/ck/ck.hash b/package/ck/ck.hash new file mode 100644 index 0000000000..6d77ae4bee --- /dev/null +++ b/package/ck/ck.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 97d2a21d5326ef79b4668be2e6eda6284ee77a64c0981b35fd9695c736c3d4ac ck-0.7.1.tar.gz +sha256 21a861f554f8f97047815e63ff5cbd57707b4c53dc1dd1b0f2dd43e6ca193464 LICENSE diff --git a/package/ck/ck.mk b/package/ck/ck.mk new file mode 100644 index 0000000000..41827a9636 --- /dev/null +++ b/package/ck/ck.mk @@ -0,0 +1,71 @@ +################################################################################ +# +# ck +# +################################################################################ + +CK_VERSION = 0.7.1 +CK_SITE = $(call github,concurrencykit,ck,$(CK_VERSION)) +CK_LICENSE = Apache-2.0 +CK_LICENSE_FILES = LICENSE + +CK_INSTALL_STAGING = YES + +CK_CONF_OPTS = \ + --platform=$(BR2_ARCH) \ + --prefix="/usr" + +CK_LDFLAGS = -Wl,-soname,libck.so.0 -shared -fPIC +CK_CFLAGS = $(TARGET_CFLAGS) -std=gnu99 -fPIC + +ifeq ($(BR2_arm)$(BR2_ARM_CPU_ARMV6),yy) +CK_CONF_OPTS += --profile="arm" +CK_CFLAGS += -march=armv6k +else ifeq ($(BR2_arm)$(BR2_ARM_CPU_ARMV7A),yy) +CK_CONF_OPTS += --profile="arm" +CK_CFLAGS += -march=armv7-a +else ifeq ($(BR2_arm),y) +CK_CONF_OPTS += --profile="arm" +else ifeq ($(BR2_aarch64),y) +CK_CONF_OPTS += --profile="aarch64" +else ifeq ($(BR2_powerpc),y) +CK_CONF_OPTS += --profile="ppc" +else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y) +CK_CONF_OPTS += --profile="ppc64" +else ifeq ($(BR2_s390x),y) +CK_CONF_OPTS += --profile="s390x" +else ifeq ($(BR2_x86_64),y) +CK_CONF_OPTS += --profile="x86_64" +CK_LDFLAGS += -m64 +else ifeq ($(BR2_i386),y) +CK_CONF_OPTS += --profile="x86" +else ifeq ($(BR2_sparc_v9),y) +CK_CONF_OPTS += --profile="sparcv9" +endif + +define CK_CONFIGURE_CMDS + cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) \ + LD=$(TARGET_CC) \ + CC=$(TARGET_CC) \ + LDFLAGS="$(CK_LDFLAGS)" \ + CFLAGS="$(CK_CFLAGS)" \ + ALL_LIBS="libck.so" \ + INSTALL_LIBS="install-so" \ + PTHREAD_CFLAGS="-pthread" \ + ./configure $(CK_CONF_OPTS) +endef + +define CK_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define CK_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +define CK_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +$(eval $(generic-package)) -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [RFC PATCH v2 2/2] package/sysbench: new package 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 0/2] Added package: 'sysbench' and its dependency: 'ck' Sergey Romanov via buildroot 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 1/2] package/ck: new package Sergey Romanov via buildroot @ 2023-11-17 9:44 ` Sergey Romanov via buildroot 1 sibling, 0 replies; 9+ messages in thread From: Sergey Romanov via buildroot @ 2023-11-17 9:44 UTC (permalink / raw) To: buildroot Cc: Sergey Romanov, chip-club, akopytov, kernel, svromanov, sbahra, sdfw_system_team, thomas.petazzoni From: Sergey Romanov <svromanov@sberdevices.ru> This benchmark was designed for identifying basic system parameters, as they are important for system using MySQL (w Innodb) under intensive load. Handling of IO in case of many parallel requests, checked as well as memory allocation/transfer speed and scheduler performance. CPU is benchmarked by using 64bit integer manipulation using Euklid algorithms for prime number computation. Benchmarks are designed to show benefit of multiple CPUs as well as of multiple hard drives, battery backed up write cache. https://github.com/akopytov/sysbench.git Signed-off-by: Sergey Romanov <svromanov@salutedevices.com> --- DEVELOPERS | 1 + package/Config.in | 1 + package/sysbench/Config.in | 29 +++++++++++++++++++++++++++++ package/sysbench/sysbench.hash | 3 +++ package/sysbench/sysbench.mk | 31 +++++++++++++++++++++++++++++++ 5 files changed, 65 insertions(+) create mode 100644 package/sysbench/Config.in create mode 100644 package/sysbench/sysbench.hash create mode 100644 package/sysbench/sysbench.mk diff --git a/DEVELOPERS b/DEVELOPERS index f967b46842..73d4dfe094 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2719,6 +2719,7 @@ F: configs/snps_arc700_nsim_defconfig N: Sergey Romanov <svromanov@salutedevices.com> F: package/ck/ +F: package/sysbench/ N: Sergio Prado <sergio.prado@e-labworks.com> F: board/toradex/apalis-imx6/ diff --git a/package/Config.in b/package/Config.in index ed08cb69c6..281544900b 100644 --- a/package/Config.in +++ b/package/Config.in @@ -152,6 +152,7 @@ menu "Debugging, profiling and benchmark" source "package/strace/Config.in" source "package/stress/Config.in" source "package/stress-ng/Config.in" + source "package/sysbench/Config.in" source "package/sysdig/Config.in" source "package/sysprof/Config.in" source "package/tcf-agent/Config.in" diff --git a/package/sysbench/Config.in b/package/sysbench/Config.in new file mode 100644 index 0000000000..7e4987497e --- /dev/null +++ b/package/sysbench/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_SYSBENCH_ARCH_SUPPORTS + bool + default y if !BR2_powerpc + +config BR2_PACKAGE_SYSBENCH + bool "sysbench" + depends on BR2_PACKAGE_SYSBENCH_ARCH_SUPPORTS + depends on BR2_PACKAGE_CK_ARCH_SUPPORTS + depends on !BR2_STATIC_LIBS # luajit + depends on !BR2_PACKAGE_LUA # luajit + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit + depends on BR2_TOOLCHAIN_HAS_THREADS + + select BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_CK + select BR2_PACKAGE_PKGCONF + select BR2_PACKAGE_LIBTOOL + help + This benchmark was designed for identifying basic system + parameters, as they are important for system using MySQL (w + Innodb) under intensive load. Handling of IO in case of many + parallel requests, checked as well as memory allocation + /transfer speed and scheduler performance. CPU is benchmarked + by using 64bit integer manipulation using Euklid algorithms + for prime number computation. Benchmarks are designed to show + benefit of multiple CPUs as well as of multiple hard drives, + battery backed up write cache. + + https://github.com/akopytov/sysbench.git diff --git a/package/sysbench/sysbench.hash b/package/sysbench/sysbench.hash new file mode 100644 index 0000000000..a31fdb1178 --- /dev/null +++ b/package/sysbench/sysbench.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f sysbench-1.0.20.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/sysbench/sysbench.mk b/package/sysbench/sysbench.mk new file mode 100644 index 0000000000..33e19706e8 --- /dev/null +++ b/package/sysbench/sysbench.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# SYSBENCH +# +################################################################################ + +SYSBENCH_VERSION = 1.0.20 +SYSBENCH_SITE = $(call github,akopytov,sysbench,$(SYSBENCH_VERSION)) +SYSBENCH_LICENSE = GPL-2.0+ +SYSBENCH_LICENSE_FILES = COPYING + +SYSBENCH_AUTORECONF = YES + +SYSBENCH_DEPENDENCIES += host-pkgconf ck luajit + +SYSBENCH_CONF_OPTS += \ + --without-lib-prefix \ + --with-system-luajit \ + --with-system-ck + +ifeq ($(BR2_PACKAGE_MYSQL), y) +SYSBENCH_DEPENDENCIES += mysql +SYSBENCH_CONF_OPTS += \ + --with-mysql \ + --with-mysql-includes=$(STAGING_DIR)/usr/include/mysql \ + --with-mysql-libs=$(STAGING_DIR)/usr/lib +else +SYSBENCH_CONF_OPTS += --without-mysql +endif + +$(eval $(autotools-package)) -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [RFC PATCH v1 2/2] package/sysbench: new package 2023-05-25 21:51 [Buildroot] [RFC PATCH v1 0/2] Added package: 'sysbench' and its dependency: 'ck' Sergey Romanov via buildroot 2023-05-25 21:51 ` [Buildroot] [RFC PATCH v1 1/2] package/ck: new package Sergey Romanov via buildroot @ 2023-05-25 21:51 ` Sergey Romanov via buildroot 2023-08-25 21:37 ` Thomas Petazzoni via buildroot 1 sibling, 1 reply; 9+ messages in thread From: Sergey Romanov via buildroot @ 2023-05-25 21:51 UTC (permalink / raw) To: buildroot Cc: svromanov, chip-club, akopytov, sbahra, thomas.petazzoni, sdfw_system_team, kernel This benchmark was designed for identifying basic system parameters, as they are important for system using MySQL (w Innodb) under intensive load. Handling of IO in case of many parallel requests, checked as well as memory allocation/transfer speed and scheduler performance. CPU is benchmarked by using 64bit integer manipulation using Euklid algorithms for prime number computation. Benchmarks are designed to show benefit of multiple CPUs as well as of multiple hard drives, battery backed up write cache. https://github.com/akopytov/sysbench.git Signed-off-by: Sergey Romanov <svromanov@sberdevices.ru> --- DEVELOPERS | 1 + package/Config.in | 1 + package/sysbench/Config.in | 28 ++++++++++++++++++++++++++++ package/sysbench/sysbench.hash | 3 +++ package/sysbench/sysbench.mk | 30 ++++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+) create mode 100644 package/sysbench/Config.in create mode 100644 package/sysbench/sysbench.hash create mode 100644 package/sysbench/sysbench.mk diff --git a/DEVELOPERS b/DEVELOPERS index 4accefb251..d48cbbd145 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2628,6 +2628,7 @@ F: package/xr819-xradio/ N: Sergey Romanov <svromanov@sberdevices.ru> F: package/ck/ +F: package/sysbench/ N: Sergio Prado <sergio.prado@e-labworks.com> F: board/toradex/apalis-imx6/ diff --git a/package/Config.in b/package/Config.in index c81ddc81f6..0004f71846 100644 --- a/package/Config.in +++ b/package/Config.in @@ -152,6 +152,7 @@ menu "Debugging, profiling and benchmark" source "package/strace/Config.in" source "package/stress/Config.in" source "package/stress-ng/Config.in" + source "package/sysbench/Config.in" source "package/sysdig/Config.in" source "package/sysprof/Config.in" source "package/tcf-agent/Config.in" diff --git a/package/sysbench/Config.in b/package/sysbench/Config.in new file mode 100644 index 0000000000..a8377b5bfd --- /dev/null +++ b/package/sysbench/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_SYSBENCH + bool "sysbench" + select BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_CK + help + This benchmark was designed for identifying basic + system parameters, as they are important for system + using MySQL (w Innodb) under intensive load. + Handling of IO in case of many parallel requests, + checked as well as memory allocation/transfer + speed and scheduler performance. + CPU is benchmarked by using 64bit integer manipulation + using Euklid algorithms for prime number computation. + Benchmarks are designed to show benefit of multiple + CPUs as well as of multiple hard drives, + battery backed up write cache. + + https://github.com/akopytov/sysbench.git + +if BR2_PACKAGE_SYSBENCH + +config BR2_PACKAGE_SYSBENCH_WITH_MYSQL + bool "configure with mysql" + select BR2_PACKAGE_MYSQL + help + Configure with mysql + +endif diff --git a/package/sysbench/sysbench.hash b/package/sysbench/sysbench.hash new file mode 100644 index 0000000000..a31fdb1178 --- /dev/null +++ b/package/sysbench/sysbench.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f sysbench-1.0.20.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/sysbench/sysbench.mk b/package/sysbench/sysbench.mk new file mode 100644 index 0000000000..748014f564 --- /dev/null +++ b/package/sysbench/sysbench.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# SYSBENCH +# +################################################################################ + +SYSBENCH_VERSION = 1.0.20 +SYSBENCH_SITE = $(call github,akopytov,sysbench,$(SYSBENCH_VERSION)) +SYSBENCH_LICENSE = GPLv2 +SYSBENCH_LICENSE_FILES = COPYING + +SYSBENCH_AUTORECONF = YES + +SYSBENCH_DEPENDENCIES = host-pkgconf +SYSBENCH_DEPENDENCIES += ck +SYSBENCH_DEPENDENCIES += luajit + +SYSBENCH_CONF_OPTS += --without-lib-prefix +SYSBENCH_CONF_OPTS += --with-system-luajit +SYSBENCH_CONF_OPTS += --with-system-ck + +ifneq ($(BR2_PACKAGE_SYSBENCH_WITH_MYSQL), y) +SYSBENCH_CONF_OPTS += --without-mysql +else +SYSBENCH_DEPENDENCIES += mysql +SYSBENCH_CONF_OPTS += --with-mysql-includes=$(STAGING_DIR)/usr/include/mysql +SYSBENCH_CONF_OPTS += --with-mysql-libs=$(STAGING_DIR)/usr/lib +endif + +$(eval $(autotools-package)) -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Buildroot] [RFC PATCH v1 2/2] package/sysbench: new package 2023-05-25 21:51 ` [Buildroot] [RFC PATCH v1 " Sergey Romanov via buildroot @ 2023-08-25 21:37 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 9+ messages in thread From: Thomas Petazzoni via buildroot @ 2023-08-25 21:37 UTC (permalink / raw) To: Sergey Romanov via buildroot Cc: Sergey Romanov, chip-club, akopytov, sbahra, sdfw_system_team, kernel Hello Sergey, On Fri, 26 May 2023 00:51:03 +0300 Sergey Romanov via buildroot <buildroot@buildroot.org> wrote: > diff --git a/package/sysbench/Config.in b/package/sysbench/Config.in > new file mode 100644 > index 0000000000..a8377b5bfd > --- /dev/null > +++ b/package/sysbench/Config.in > @@ -0,0 +1,28 @@ > +config BR2_PACKAGE_SYSBENCH > + bool "sysbench" > + select BR2_PACKAGE_LUAJIT > + select BR2_PACKAGE_CK You need to replicate the dependencies of those options, so: depends on !BR2_STATIC_LIBS # luajit depends on !BR2_PACKAGE_LUA # luajit depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit depends on !BR2_TOOLCHAIN_USES_UCLIBC # ck > + help > + This benchmark was designed for identifying basic > + system parameters, as they are important for system > + using MySQL (w Innodb) under intensive load. > + Handling of IO in case of many parallel requests, > + checked as well as memory allocation/transfer > + speed and scheduler performance. > + CPU is benchmarked by using 64bit integer manipulation > + using Euklid algorithms for prime number computation. > + Benchmarks are designed to show benefit of multiple > + CPUs as well as of multiple hard drives, > + battery backed up write cache. The wrapping of those lines look really weird. Can you ask your text editor to wrap this automatically, and get some more consistent wrapping? > + > + https://github.com/akopytov/sysbench.git > + > +if BR2_PACKAGE_SYSBENCH > + > +config BR2_PACKAGE_SYSBENCH_WITH_MYSQL > + bool "configure with mysql" > + select BR2_PACKAGE_MYSQL > + help > + Configure with mysql You can drop this option and test BR2_PACKAGE_MYSQL in the .mk file. > diff --git a/package/sysbench/sysbench.mk b/package/sysbench/sysbench.mk > new file mode 100644 > index 0000000000..748014f564 > --- /dev/null > +++ b/package/sysbench/sysbench.mk > @@ -0,0 +1,30 @@ > +################################################################################ > +# > +# SYSBENCH > +# > +################################################################################ > + > +SYSBENCH_VERSION = 1.0.20 > +SYSBENCH_SITE = $(call github,akopytov,sysbench,$(SYSBENCH_VERSION)) > +SYSBENCH_LICENSE = GPLv2 GPL-2.0, not GPLv2. But from a quick look at the code, it seems like the license is actually GPL-2.0+. > +SYSBENCH_LICENSE_FILES = COPYING > + > +SYSBENCH_AUTORECONF = YES > + > +SYSBENCH_DEPENDENCIES = host-pkgconf > +SYSBENCH_DEPENDENCIES += ck > +SYSBENCH_DEPENDENCIES += luajit Please change to: SYSBENCH_DEPENDENCIES = host-pkgconf ck luajit > +SYSBENCH_CONF_OPTS += --without-lib-prefix > +SYSBENCH_CONF_OPTS += --with-system-luajit > +SYSBENCH_CONF_OPTS += --with-system-ck Please change to: SYSBENCH_CONF_OPTS = \ --without-lib-prefix \ --with-system-luajit \ --with-system-ck > + > +ifneq ($(BR2_PACKAGE_SYSBENCH_WITH_MYSQL), y) > +SYSBENCH_CONF_OPTS += --without-mysql > +else > +SYSBENCH_DEPENDENCIES += mysql > +SYSBENCH_CONF_OPTS += --with-mysql-includes=$(STAGING_DIR)/usr/include/mysql > +SYSBENCH_CONF_OPTS += --with-mysql-libs=$(STAGING_DIR)/usr/lib > +endif Please change to: ifeq ($(BR2_PACKAGE_MYSQL),y) SYSBENCH_DEPENDENCIES += mysql SYSBENCH_CONF_OPTS += \ --with-mysql \ --with-mysql-includes=$(STAGING_DIR)/usr/include/mysql \ --with-mysql-libs=$(STAGING_DIR)/usr/lib else SYSBENCH_CONF_OPTS += --without-mysql endif Could you rework this and send a v2? Thanks a lot! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [RFC PATCH v1 0/2] Added package: 'sysbench' and its dependency: 'ck'. @ 2023-05-25 13:23 Sergey Romanov 2023-05-25 13:23 ` [Buildroot] [RFC PATCH v1 1/2] package/ck: new package Sergey Romanov 0 siblings, 1 reply; 9+ messages in thread From: Sergey Romanov @ 2023-05-25 13:23 UTC (permalink / raw) To: buildroot Cc: svromanov, chip-club, akopytov, sbahra, sdfw_system_team, kernel Sergey Romanov (2): package/ck: new package package/sysbench: new package DEVELOPERS | 4 + package/Config.in | 2 + ...oid-buildroot-s-influence-on-LDFLAGS.patch | 187 ++++++++++++++++++ package/ck/Config.in | 23 +++ package/ck/ck.hash | 3 + package/ck/ck.mk | 42 ++++ package/sysbench/Config.in | 28 +++ package/sysbench/sysbench.hash | 3 + package/sysbench/sysbench.mk | 30 +++ 9 files changed, 322 insertions(+) create mode 100644 package/ck/0001-avoid-buildroot-s-influence-on-LDFLAGS.patch create mode 100644 package/ck/Config.in create mode 100644 package/ck/ck.hash create mode 100644 package/ck/ck.mk create mode 100644 package/sysbench/Config.in create mode 100644 package/sysbench/sysbench.hash create mode 100644 package/sysbench/sysbench.mk -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [RFC PATCH v1 1/2] package/ck: new package 2023-05-25 13:23 [Buildroot] [RFC PATCH v1 0/2] Added package: 'sysbench' and its dependency: 'ck' Sergey Romanov @ 2023-05-25 13:23 ` Sergey Romanov 0 siblings, 0 replies; 9+ messages in thread From: Sergey Romanov @ 2023-05-25 13:23 UTC (permalink / raw) To: buildroot Cc: svromanov, chip-club, akopytov, sbahra, sdfw_system_team, kernel Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures for the research, design and implementation of high performance concurrent systems. https://github.com/concurrencykit/ck.git Signed-off-by: Sergey Romanov <svromanov@sberdevices.ru> --- DEVELOPERS | 3 + package/Config.in | 1 + ...oid-buildroot-s-influence-on-LDFLAGS.patch | 187 ++++++++++++++++++ package/ck/Config.in | 23 +++ package/ck/ck.hash | 3 + package/ck/ck.mk | 42 ++++ 6 files changed, 259 insertions(+) create mode 100644 package/ck/0001-avoid-buildroot-s-influence-on-LDFLAGS.patch create mode 100644 package/ck/Config.in create mode 100644 package/ck/ck.hash create mode 100644 package/ck/ck.mk diff --git a/DEVELOPERS b/DEVELOPERS index e76717e845..4accefb251 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2626,6 +2626,9 @@ F: package/rtl8189fs/ F: package/wpa_supplicant/ F: package/xr819-xradio/ +N: Sergey Romanov <svromanov@sberdevices.ru> +F: package/ck/ + N: Sergio Prado <sergio.prado@e-labworks.com> F: board/toradex/apalis-imx6/ F: configs/toradex_apalis_imx6_defconfig diff --git a/package/Config.in b/package/Config.in index 420ebaa370..c81ddc81f6 100644 --- a/package/Config.in +++ b/package/Config.in @@ -92,6 +92,7 @@ menu "Debugging, profiling and benchmark" source "package/bonnie/Config.in" source "package/bpftool/Config.in" source "package/cache-calibrator/Config.in" + source "package/ck/Config.in" source "package/clinfo/Config.in" source "package/clpeak/Config.in" source "package/coremark/Config.in" diff --git a/package/ck/0001-avoid-buildroot-s-influence-on-LDFLAGS.patch b/package/ck/0001-avoid-buildroot-s-influence-on-LDFLAGS.patch new file mode 100644 index 0000000000..be3b33bf35 --- /dev/null +++ b/package/ck/0001-avoid-buildroot-s-influence-on-LDFLAGS.patch @@ -0,0 +1,187 @@ +Avoid buildroot's influence on LDFLAGS + +Signed-off-by: Sergey Romanov <svromanov@sberdevices.ru> + +--- + build/ck.build.in | 2 +- + build/ck.build.ppc64 | 2 +- + build/ck.build.x86_64 | 2 +- + build/regressions.build.in | 2 +- + configure | 28 +++++++++++++++------------- + src/Makefile.in | 2 +- + 6 files changed, 20 insertions(+), 18 deletions(-) + +diff --git a/build/ck.build.in b/build/ck.build.in +index 1d6bfe3..f68b5b7 100644 +--- a/build/ck.build.in ++++ b/build/ck.build.in +@@ -3,7 +3,7 @@ MAKE=make + SRC_DIR=@SRC_DIR@ + BUILD_DIR=@BUILD_DIR@ + CFLAGS+=@CFLAGS@ -I$(SRC_DIR)/include -I$(BUILD_DIR)/include +-LDFLAGS+=@LDFLAGS@ ++LDFLAGS_CK+=@LDFLAGS_CK@ + ALL_LIBS=@ALL_LIBS@ + LD=@LD@ + +diff --git a/build/ck.build.ppc64 b/build/ck.build.ppc64 +index 51003f4..7e25f10 100644 +--- a/build/ck.build.ppc64 ++++ b/build/ck.build.ppc64 +@@ -1,2 +1,2 @@ + CFLAGS+=-m64 -D__ppc64__ +-LDFLAGS+=-m64 ++LDFLAGS_CK+=-m64 +diff --git a/build/ck.build.x86_64 b/build/ck.build.x86_64 +index 81b378a..160c4f1 100644 +--- a/build/ck.build.x86_64 ++++ b/build/ck.build.x86_64 +@@ -1,2 +1,2 @@ + CFLAGS+=-m64 -D__x86_64__ +-LDFLAGS+=-m64 ++LDFLAGS_CK+=-m64 +diff --git a/build/regressions.build.in b/build/regressions.build.in +index 6d79a8b..f1c7515 100644 +--- a/build/regressions.build.in ++++ b/build/regressions.build.in +@@ -3,7 +3,7 @@ MAKE=make + CORES=@CORES@ + CFLAGS=@CFLAGS@ -I../../../include -DCORES=@CORES@ + LD=@LD@ +-LDFLAGS=@LDFLAGS@ ++LDFLAGS_CK=@LDFLAGS_CK@ + PTHREAD_CFLAGS=@PTHREAD_CFLAGS@ + BUILD_DIR=@BUILD_DIR@ + +diff --git a/configure b/configure +index 340e05c..f73104a 100755 +--- a/configure ++++ b/configure +@@ -112,7 +112,7 @@ generate() + -e "s#@ALL_LIBS@#$ALL_LIBS#g" \ + -e "s#@INSTALL_LIBS@#$INSTALL_LIBS#g" \ + -e "s#@LD@#$LD#g" \ +- -e "s#@LDFLAGS@#$LDFLAGS#g" \ ++ -e "s#@LDFLAGS_CK@#$LDFLAGS_CK#g" \ + -e "s#@PTHREAD_CFLAGS@#$PTHREAD_CFLAGS#g" \ + -e "s#@MANDIR@#$MANDIR#g" \ + -e "s#@GZIP@#$GZIP#g" \ +@@ -156,7 +156,7 @@ generate_stdout() + echo " LDNAME = $LDNAME" + echo " LDNAME_VERSION = $LDNAME_VERSION" + echo " LDNAME_MAJOR = $LDNAME_MAJOR" +- echo " LDFLAGS = $LDFLAGS" ++ echo " LDFLAGS_CK = $LDFLAGS_CK" + echo " STATIC_LIB = $DISABLE_STATIC" + echo " GZIP = $GZIP" + echo " CORES = $CORES" +@@ -222,7 +222,7 @@ for option; do + echo " AR AR archiver command" + echo " CC C compiler command" + echo " CFLAGS C compiler flags" +- echo " LDFLAGS Linker flags" ++ echo " LDFLAGS_CK Linker flags" + echo " GZIP GZIP compression tool" + echo + echo "Report bugs to ${MAINTAINER}." +@@ -376,15 +376,15 @@ case "$SYSTEM" in + ;; + MINGW32*|MSYS_NT*) + SYSTEM=mingw32 +- LDFLAGS="-mthreads $LDFLAGS" ++ LDFLAGS_CK="-mthreads $LDFLAGS_CK" + ;; + MINGW64*) + SYSTEM=mingw64 +- LDFLAGS="-mthreads $LDFLAGS" ++ LDFLAGS_CK="-mthreads $LDFLAGS_CK" + ;; + CYGWIN_NT*) + SYSTEM=cygwin +- LDFLAGS="-mthreads $LDFLAGS" ++ LDFLAGS_CK="-mthreads $LDFLAGS_CK" + ;; + *) + SYSTEM= +@@ -413,7 +413,7 @@ case $PLATFORM in + MM="${MM:-"CK_MD_RMO"}" + PLATFORM=ppc + ENVIRONMENT=32 +- LDFLAGS="-m32 $LDFLAGS" ++ LDFLAGS_CK="-m32 $LDFLAGS_CK" + ;; + "sun4u"|"sun4v"|"sparc64") + RTM_ENABLE="CK_MD_RTM_DISABLE" +@@ -421,7 +421,7 @@ case $PLATFORM in + MM="${MM:-"CK_MD_TSO"}" + PLATFORM=sparcv9 + ENVIRONMENT=64 +- LDFLAGS="-m64 $LDFLAGS" ++ LDFLAGS_CK="-m64 $LDFLAGS_CK" + ;; + i386|i486|i586|i686|i586_i686|pentium*|athlon*|k5|k6|k6_2|k6_3) + LSE_ENABLE="CK_MD_LSE_DISABLE" +@@ -474,7 +474,7 @@ case $PLATFORM in + LSE_ENABLE="CK_MD_LSE_DISABLE" + PLATFORM=x86_64 + ENVIRONMENT=64 +- LDFLAGS="-m64 $LDFLAGS" ++ LDFLAGS_CK="-m64 $LDFLAGS_CK" + MM="${MM:-"CK_MD_TSO"}" + ;; + "i86pc") +@@ -686,6 +686,8 @@ $CC -o .1 .1.c + COMPILER=`./.1 2> /dev/null` + r=$? + rm -f .1.c .1 ++COMPILER="gcc" ++r=0 + + if test "$r" -ne 0; then + assert "" "update compiler" +@@ -695,7 +697,7 @@ fi + + if test "$COMPILER" = "suncc"; then + LD=/bin/ld +- LDFLAGS="-G -z text -h libck.so.$VERSION_MAJOR $LDFLAGS" ++ LDFLAGS_CK="-G -z text -h libck.so.$VERSION_MAJOR $LDFLAGS_CK" + CFLAGS="-xO5 $CFLAGS" + PTHREAD_CFLAGS="-mt -lpthread" + elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" = "mingw32" || test "$COMPILER" = "mingw64"; then +@@ -711,9 +713,9 @@ elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" + CC_WL_OPT="-soname" + fi + +- LDFLAGS="-Wl,$CC_WL_OPT,$SONAME $LDFLAGS" ++ LDFLAGS_CK="-Wl,$CC_WL_OPT,$SONAME $LDFLAGS_CK" + if test "$WANT_PIC" = "yes"; then +- LDFLAGS="$LDFLAGS -shared -fPIC" ++ LDFLAGS_CK="$LDFLAGS_CK -shared -fPIC" + CFLAGS="$CFLAGS -fPIC" + + if [ "$DISABLE_STATIC" -eq 1 ]; then +@@ -724,7 +726,7 @@ elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" + INSTALL_LIBS="install-so install-lib" + fi + else +- LDFLAGS="$LDFLAGS -fno-PIC" ++ LDFLAGS_CK="$LDFLAGS_CK -fno-PIC" + CFLAGS="$CFLAGS -fno-PIC" + if [ "$DISABLE_STATIC" -eq 1 ]; then + echo "Error: You have choosen to disable PIC, yet you also disabled the static lib." 1>&2 +diff --git a/src/Makefile.in b/src/Makefile.in +index 7378849..ee6f9ee 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -22,7 +22,7 @@ OBJECTS=ck_barrier_centralized.o \ + all: $(ALL_LIBS) + + libck.so: $(OBJECTS) +- $(LD) $(LDFLAGS) -o $(TARGET_DIR)/libck.so $(OBJECTS) ++ $(LD) $(LDFLAGS_CK) -o $(TARGET_DIR)/libck.so $(OBJECTS) + + libck.a: $(OBJECTS) + $(AR) rcs $(TARGET_DIR)/libck.a $(OBJECTS) +-- +2.25.1 + diff --git a/package/ck/Config.in b/package/ck/Config.in new file mode 100644 index 0000000000..d88eaa8413 --- /dev/null +++ b/package/ck/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_CK_ARCH_SUPPORTS + bool + default y if ((BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && \ + !BR2_ARM_CPU_ARMV7M) || BR2_aarch64 || \ + BR2_powerpc || BR2_powerpc64 || BR2_RISCV_64 || \ + BR2_s390x || BR2_sparc_v9 || BR2_x86 || BR2_x86_64) + +config BR2_PACKAGE_CK_TOOLCHAIN_SUPPORTS + bool + default y if ((BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_USES_GLIBC) && \ + !BR2_TOOLCHAIN_USES_UCLIBC) + +config BR2_PACKAGE_CK + bool "concurrency kit" + depends on BR2_PACKAGE_CK_ARCH_SUPPORTS + depends on BR2_PACKAGE_CK_TOOLCHAIN_SUPPORTS + help + Concurrency primitives, safe memory reclamation + mechanisms and non-blocking data structures + for the research, design and implementation + of high performance concurrent systems. + + https://github.com/concurrencykit/ck.git diff --git a/package/ck/ck.hash b/package/ck/ck.hash new file mode 100644 index 0000000000..6d77ae4bee --- /dev/null +++ b/package/ck/ck.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 97d2a21d5326ef79b4668be2e6eda6284ee77a64c0981b35fd9695c736c3d4ac ck-0.7.1.tar.gz +sha256 21a861f554f8f97047815e63ff5cbd57707b4c53dc1dd1b0f2dd43e6ca193464 LICENSE diff --git a/package/ck/ck.mk b/package/ck/ck.mk new file mode 100644 index 0000000000..ecdeadb057 --- /dev/null +++ b/package/ck/ck.mk @@ -0,0 +1,42 @@ +################################################################################ +# +# ck +# +################################################################################ + +CK_VERSION = 0.7.1 +CK_SITE = $(call github,concurrencykit,ck,$(CK_VERSION)) +CK_LICENSE = Apache-2.0 +CK_LICENSE_FILES = LICENSE + +CK_INSTALL_STAGING = YES + +CK_PROFILE_PARAMS += --platform=$(BR2_ARCH) +CK_PROFILE_PARAMS += --prefix="/usr" + +define CK_CONFIGURE_CMDS + ( cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) \ + $(CK_PROFILE_CONF_ENV) \ + ./configure $(CK_PROFILE_PARAMS) ) +endef + +define CK_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) \ + $(CK_PROFILE_CONF_ENV) \ + $(MAKE) -C $(@D) +endef + +define CK_INSTALL_TARGET_CMDS + $(TARGET_CONFIGURE_OPTS) \ + $(CK_PROFILE_CONF_ENV) \ + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +define CK_INSTALL_STAGING_CMDS + $(TARGET_CONFIGURE_OPTS) \ + $(CK_PROFILE_CONF_ENV) \ + $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +$(eval $(generic-package)) -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-11-17 9:45 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-05-25 21:51 [Buildroot] [RFC PATCH v1 0/2] Added package: 'sysbench' and its dependency: 'ck' Sergey Romanov via buildroot 2023-05-25 21:51 ` [Buildroot] [RFC PATCH v1 1/2] package/ck: new package Sergey Romanov via buildroot 2023-08-25 21:33 ` Thomas Petazzoni via buildroot 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 0/2] Added package: 'sysbench' and its dependency: 'ck' Sergey Romanov via buildroot 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 1/2] package/ck: new package Sergey Romanov via buildroot 2023-11-17 9:44 ` [Buildroot] [RFC PATCH v2 2/2] package/sysbench: " Sergey Romanov via buildroot 2023-05-25 21:51 ` [Buildroot] [RFC PATCH v1 " Sergey Romanov via buildroot 2023-08-25 21:37 ` Thomas Petazzoni via buildroot -- strict thread matches above, loose matches on Subject: below -- 2023-05-25 13:23 [Buildroot] [RFC PATCH v1 0/2] Added package: 'sysbench' and its dependency: 'ck' Sergey Romanov 2023-05-25 13:23 ` [Buildroot] [RFC PATCH v1 1/2] package/ck: new package Sergey Romanov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox