Message ID | 20200913113254.1955447-13-egorenar@linux.ibm.com |
---|---|
State | Superseded |
Headers | show |
Series | IBM s390x and Z architecture support | expand |
Hi Alexander, Le 13/09/2020 à 13:32, Alexander Egorenkov a écrit : > Collection of tools for the IBM s390x and Z architectures. > > Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com> > --- > DEVELOPERS | 1 + > package/Config.in | 1 + > package/s390-tools/Config.in | 17 ++++++ > package/s390-tools/s390-tools.hash | 3 + > package/s390-tools/s390-tools.mk | 91 ++++++++++++++++++++++++++++++ > 5 files changed, 113 insertions(+) > create mode 100644 package/s390-tools/Config.in > create mode 100644 package/s390-tools/s390-tools.hash > create mode 100644 package/s390-tools/s390-tools.mk > > diff --git a/DEVELOPERS b/DEVELOPERS > index a831f8b9e0..9362f390d6 100644 > --- a/DEVELOPERS > +++ b/DEVELOPERS > @@ -150,6 +150,7 @@ N: Alexander Egorenkov <egorenar@linux.ibm.com> > F: arch/Config.in.s390x > F: board/qemu/s390x/ > F: configs/qemu_s390x_defconfig > +F: package/s390-tools/ > > N: Alexander Kurz <akurz@blala.de> > F: package/minimodem/ > diff --git a/package/Config.in b/package/Config.in > index 7d6ac1b33c..3e981b1eba 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -2422,6 +2422,7 @@ menu "System tools" > source "package/rauc/Config.in" > source "package/rsyslog/Config.in" > source "package/runc/Config.in" > + source "package/s390-tools/Config.in" > source "package/s6/Config.in" > source "package/s6-linux-init/Config.in" > source "package/s6-linux-utils/Config.in" > diff --git a/package/s390-tools/Config.in b/package/s390-tools/Config.in > new file mode 100644 > index 0000000000..8973b08661 > --- /dev/null > +++ b/package/s390-tools/Config.in > @@ -0,0 +1,17 @@ > +comment "s390-tools needs a glibc toolchain w/ C++, wchar, dynamic library" > + depends on BR2_s390x > + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_USES_GLIBC || \ > + !BR2_INSTALL_LIBSTDCPP > + > +config BR2_PACKAGE_S390_TOOLS > + bool "s390-tools" > + depends on BR2_s390x > + depends on BR2_INSTALL_LIBSTDCPP > + depends on BR2_TOOLCHAIN_HAS_THREADS > + depends on !BR2_STATIC_LIBS > + depends on BR2_USE_WCHAR > + depends on BR2_TOOLCHAIN_USES_GLIBC glibc toolchain already depend on threads support, non static and wchar https://git.buildroot.net/buildroot/tree/toolchain/Config.in#n10 Also glibc can't be selected for static only configuration (BR2_STATIC_LIBS set) https://git.buildroot.net/buildroot/tree/toolchain/toolchain-buildroot/Config.in#n43 So only depends on BR2_TOOLCHAIN_USES_GLIBC is required. Best regards, Romain > + help > + Tools for use with the s390 Linux kernel and device drivers. > + > + https://github.com/ibm-s390-tools/s390-tools > diff --git a/package/s390-tools/s390-tools.hash b/package/s390-tools/s390-tools.hash > new file mode 100644 > index 0000000000..38c2431c25 > --- /dev/null > +++ b/package/s390-tools/s390-tools.hash > @@ -0,0 +1,3 @@ > +# Locally computed: > +sha256 02171161c3f858e413f777dac542d37328b7b882a7919cfb966ea554bb6ac0b2 s390-tools-2.14.0.tar.gz > +sha256 cca17a9a944ebec769adee4aebd805c912c357785ff2705a99ffe68563021f75 COPYING > diff --git a/package/s390-tools/s390-tools.mk b/package/s390-tools/s390-tools.mk > new file mode 100644 > index 0000000000..4d4c8188fe > --- /dev/null > +++ b/package/s390-tools/s390-tools.mk > @@ -0,0 +1,91 @@ > +################################################################################ > +# > +# s390-tools > +# > +################################################################################ > + > +S390_TOOLS_VERSION = 2.14.0 > +S390_TOOLS_SITE = $(call github,ibm-s390-tools,s390-tools,v$(S390_TOOLS_VERSION)) > +S390_TOOLS_LICENSE = MIT > +S390_TOOLS_LICENSE_FILES = LICENSE > + > +S390_TOOLS_MAKE_OPTS = \ > + ARCH=$(BR2_ARCH) \ > + CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \ > + LINK="$(TARGET_CC)" \ > + LINKXX="$(TARGET_CXX)" > + > +ifeq ($(BR2_PACKAGE_LIBCURL),y) > +S390_TOOLS_DEPENDENCIES += libcurl > +S390_TOOLS_MAKE_OPTS += HAVE_CURL=1 > +else > +S390_TOOLS_MAKE_OPTS += HAVE_CURL=0 > +endif > + > +ifeq ($(BR2_PACKAGE_JSON_C),y) > +S390_TOOLS_DEPENDENCIES += json-c > +S390_TOOLS_MAKE_OPTS += HAVE_JSONC=1 > +else > +S390_TOOLS_MAKE_OPTS += HAVE_JSONC=0 > +endif > + > +ifeq ($(BR2_PACKAGE_OPENSSL),y) > +S390_TOOLS_DEPENDENCIES += openssl > +S390_TOOLS_MAKE_OPTS += HAVE_OPENSSL=1 > +else > +S390_TOOLS_MAKE_OPTS += HAVE_OPENSSL=0 > +endif > + > +ifeq ($(BR2_PACKAGE_CRYPTSETUP),y) > +S390_TOOLS_DEPENDENCIES += cryptsetup > +S390_TOOLS_MAKE_OPTS += HAVE_CRYPTSETUP2=1 > +else > +S390_TOOLS_MAKE_OPTS += HAVE_CRYPTSETUP2=0 > +endif > + > +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) > +S390_TOOLS_DEPENDENCIES += libglib2 > +S390_TOOLS_MAKE_OPTS += HAVE_GLIB2=1 > +else > +S390_TOOLS_MAKE_OPTS += HAVE_GLIB2=0 > +endif > + > +ifeq ($(BR2_PACKAGE_NCURSES),y) > +S390_TOOLS_DEPENDENCIES += ncurses > +S390_TOOLS_MAKE_OPTS += HAVE_NCURSES=1 > +else > +S390_TOOLS_MAKE_OPTS += HAVE_NCURSES=0 > +endif > + > +ifeq ($(BR2_PACKAGE_LIBPFM4),y) > +S390_TOOLS_DEPENDENCIES += libpfm4 > +S390_TOOLS_MAKE_OPTS += HAVE_PFM=1 > +else > +S390_TOOLS_MAKE_OPTS += HAVE_PFM=0 > +endif > + > +ifeq ($(BR2_PACKAGE_LIBFUSE),y) > +S390_TOOLS_DEPENDENCIES += libfuse > +S390_TOOLS_MAKE_OPTS += HAVE_FUSE=1 > +else > +S390_TOOLS_MAKE_OPTS += HAVE_FUSE=0 > +endif > + > +ifeq ($(BR2_PACKAGE_PERL_NET_SNMP),y) > +S390_TOOLS_DEPENDENCIES += perl-net-snmp > +S390_TOOLS_MAKE_OPTS += HAVE_SNMP=1 > +else > +S390_TOOLS_MAKE_OPTS += HAVE_SNMP=0 > +endif > + > +define S390_TOOLS_BUILD_CMDS > + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ > + $(S390_TOOLS_MAKE_OPTS) > +endef > + > +define S390_TOOLS_INSTALL_TARGET_CMDS > + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install \ > + $(S390_TOOLS_MAKE_OPTS) DESTDIR="$(TARGET_DIR)" > +endef > + > +$(eval $(generic-package)) >
Romain Naour <romain.naour@gmail.com> writes: > glibc toolchain already depend on threads support, non static and wchar > > https://git.buildroot.net/buildroot/tree/toolchain/Config.in#n10 > > Also glibc can't be selected for static only configuration (BR2_STATIC_LIBS set) > > https://git.buildroot.net/buildroot/tree/toolchain/toolchain-buildroot/Config.in#n43 > > So only depends on BR2_TOOLCHAIN_USES_GLIBC is required. Fixed. Thank you Regards Alex
diff --git a/DEVELOPERS b/DEVELOPERS index a831f8b9e0..9362f390d6 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -150,6 +150,7 @@ N: Alexander Egorenkov <egorenar@linux.ibm.com> F: arch/Config.in.s390x F: board/qemu/s390x/ F: configs/qemu_s390x_defconfig +F: package/s390-tools/ N: Alexander Kurz <akurz@blala.de> F: package/minimodem/ diff --git a/package/Config.in b/package/Config.in index 7d6ac1b33c..3e981b1eba 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2422,6 +2422,7 @@ menu "System tools" source "package/rauc/Config.in" source "package/rsyslog/Config.in" source "package/runc/Config.in" + source "package/s390-tools/Config.in" source "package/s6/Config.in" source "package/s6-linux-init/Config.in" source "package/s6-linux-utils/Config.in" diff --git a/package/s390-tools/Config.in b/package/s390-tools/Config.in new file mode 100644 index 0000000000..8973b08661 --- /dev/null +++ b/package/s390-tools/Config.in @@ -0,0 +1,17 @@ +comment "s390-tools needs a glibc toolchain w/ C++, wchar, dynamic library" + depends on BR2_s390x + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_INSTALL_LIBSTDCPP + +config BR2_PACKAGE_S390_TOOLS + bool "s390-tools" + depends on BR2_s390x + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_USES_GLIBC + help + Tools for use with the s390 Linux kernel and device drivers. + + https://github.com/ibm-s390-tools/s390-tools diff --git a/package/s390-tools/s390-tools.hash b/package/s390-tools/s390-tools.hash new file mode 100644 index 0000000000..38c2431c25 --- /dev/null +++ b/package/s390-tools/s390-tools.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 02171161c3f858e413f777dac542d37328b7b882a7919cfb966ea554bb6ac0b2 s390-tools-2.14.0.tar.gz +sha256 cca17a9a944ebec769adee4aebd805c912c357785ff2705a99ffe68563021f75 COPYING diff --git a/package/s390-tools/s390-tools.mk b/package/s390-tools/s390-tools.mk new file mode 100644 index 0000000000..4d4c8188fe --- /dev/null +++ b/package/s390-tools/s390-tools.mk @@ -0,0 +1,91 @@ +################################################################################ +# +# s390-tools +# +################################################################################ + +S390_TOOLS_VERSION = 2.14.0 +S390_TOOLS_SITE = $(call github,ibm-s390-tools,s390-tools,v$(S390_TOOLS_VERSION)) +S390_TOOLS_LICENSE = MIT +S390_TOOLS_LICENSE_FILES = LICENSE + +S390_TOOLS_MAKE_OPTS = \ + ARCH=$(BR2_ARCH) \ + CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \ + LINK="$(TARGET_CC)" \ + LINKXX="$(TARGET_CXX)" + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +S390_TOOLS_DEPENDENCIES += libcurl +S390_TOOLS_MAKE_OPTS += HAVE_CURL=1 +else +S390_TOOLS_MAKE_OPTS += HAVE_CURL=0 +endif + +ifeq ($(BR2_PACKAGE_JSON_C),y) +S390_TOOLS_DEPENDENCIES += json-c +S390_TOOLS_MAKE_OPTS += HAVE_JSONC=1 +else +S390_TOOLS_MAKE_OPTS += HAVE_JSONC=0 +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +S390_TOOLS_DEPENDENCIES += openssl +S390_TOOLS_MAKE_OPTS += HAVE_OPENSSL=1 +else +S390_TOOLS_MAKE_OPTS += HAVE_OPENSSL=0 +endif + +ifeq ($(BR2_PACKAGE_CRYPTSETUP),y) +S390_TOOLS_DEPENDENCIES += cryptsetup +S390_TOOLS_MAKE_OPTS += HAVE_CRYPTSETUP2=1 +else +S390_TOOLS_MAKE_OPTS += HAVE_CRYPTSETUP2=0 +endif + +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) +S390_TOOLS_DEPENDENCIES += libglib2 +S390_TOOLS_MAKE_OPTS += HAVE_GLIB2=1 +else +S390_TOOLS_MAKE_OPTS += HAVE_GLIB2=0 +endif + +ifeq ($(BR2_PACKAGE_NCURSES),y) +S390_TOOLS_DEPENDENCIES += ncurses +S390_TOOLS_MAKE_OPTS += HAVE_NCURSES=1 +else +S390_TOOLS_MAKE_OPTS += HAVE_NCURSES=0 +endif + +ifeq ($(BR2_PACKAGE_LIBPFM4),y) +S390_TOOLS_DEPENDENCIES += libpfm4 +S390_TOOLS_MAKE_OPTS += HAVE_PFM=1 +else +S390_TOOLS_MAKE_OPTS += HAVE_PFM=0 +endif + +ifeq ($(BR2_PACKAGE_LIBFUSE),y) +S390_TOOLS_DEPENDENCIES += libfuse +S390_TOOLS_MAKE_OPTS += HAVE_FUSE=1 +else +S390_TOOLS_MAKE_OPTS += HAVE_FUSE=0 +endif + +ifeq ($(BR2_PACKAGE_PERL_NET_SNMP),y) +S390_TOOLS_DEPENDENCIES += perl-net-snmp +S390_TOOLS_MAKE_OPTS += HAVE_SNMP=1 +else +S390_TOOLS_MAKE_OPTS += HAVE_SNMP=0 +endif + +define S390_TOOLS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + $(S390_TOOLS_MAKE_OPTS) +endef + +define S390_TOOLS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install \ + $(S390_TOOLS_MAKE_OPTS) DESTDIR="$(TARGET_DIR)" +endef + +$(eval $(generic-package))
Collection of tools for the IBM s390x and Z architectures. Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com> --- DEVELOPERS | 1 + package/Config.in | 1 + package/s390-tools/Config.in | 17 ++++++ package/s390-tools/s390-tools.hash | 3 + package/s390-tools/s390-tools.mk | 91 ++++++++++++++++++++++++++++++ 5 files changed, 113 insertions(+) create mode 100644 package/s390-tools/Config.in create mode 100644 package/s390-tools/s390-tools.hash create mode 100644 package/s390-tools/s390-tools.mk