* [Buildroot] [PATCH v5 1/2] package/zstd: rework build and install
@ 2021-08-04 21:56 Norbert Lange
2021-08-04 21:56 ` [Buildroot] [PATCH v5 2/2] package/zstd: Prefer dynamically linked tool Norbert Lange
2021-08-05 20:20 ` [Buildroot] [PATCH v5 1/2] package/zstd: rework build and install Arnout Vandecappelle
0 siblings, 2 replies; 3+ messages in thread
From: Norbert Lange @ 2021-08-04 21:56 UTC (permalink / raw)
To: buildroot; +Cc: Andrey Smirnov, Norbert Lange
Move PREFIX=/usr to ZSTD_OPTS, even though it is only used by
libzstd.pc for now it should be available in every step.
Create libzstd.pc in the build step instead of triggering a
lazy build during installation when it is missing.
Attach '-release' to the targets, since the default is to
build lib-release and zstd-release.
Signed-off-by: Norbert Lange <nolange79@gmail.com>
---
v4->v5:
* rebase, remove the parts that are already upstream
* improve commit message
* try to keep changes minimal
v3->v4:
* revert to previous scheme of BR2_TOOLCHAIN_HAS_THREADS
fixing build options for both static and shared libs.
v2->v3:
* use normal = for assignment
v1->v2:
* rebased against upstream/master
Signed-off-by: Norbert Lange <nolange79@gmail.com>
---
package/zstd/zstd.mk | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk
index 5a96c11309..d7a0320df4 100644
--- a/package/zstd/zstd.mk
+++ b/package/zstd/zstd.mk
@@ -12,6 +12,7 @@ ZSTD_LICENSE_FILES = LICENSE COPYING
ZSTD_CPE_ID_VENDOR = facebook
ZSTD_CPE_ID_PRODUCT = zstandard
+ZSTD_OPTS += PREFIX=/usr
ZSTD_OPTS += ZSTD_LEGACY_SUPPORT=0
ifeq ($(BR2_PACKAGE_ZLIB),y)
ZSTD_DEPENDENCIES += zlib
@@ -60,12 +61,13 @@ else
ZSTD_OPTS += HAVE_THREAD=0
ZSTD_BUILD_LIBS := $(addsuffix -nomt,$(ZSTD_BUILD_LIBS))
endif
+ZSTD_BUILD_LIBS := $(addsuffix -release,$(ZSTD_BUILD_LIBS))
define ZSTD_BUILD_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
- -C $(@D)/lib $(ZSTD_BUILD_LIBS)
+ -C $(@D)/lib $(ZSTD_BUILD_LIBS) libzstd.pc
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
- -C $(@D) zstd
+ -C $(@D) zstd-release
endef
define ZSTD_INSTALL_STAGING_CMDS
@@ -76,9 +78,9 @@ endef
define ZSTD_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
- DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install
+ DESTDIR=$(TARGET_DIR) -C $(@D)/programs install
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
- DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/lib $(ZSTD_INSTALL_LIBS)
+ DESTDIR=$(TARGET_DIR) -C $(@D)/lib $(ZSTD_INSTALL_LIBS)
endef
HOST_ZSTD_OPTS += PREFIX=$(HOST_DIR)
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v5 2/2] package/zstd: Prefer dynamically linked tool
2021-08-04 21:56 [Buildroot] [PATCH v5 1/2] package/zstd: rework build and install Norbert Lange
@ 2021-08-04 21:56 ` Norbert Lange
2021-08-05 20:20 ` [Buildroot] [PATCH v5 1/2] package/zstd: rework build and install Arnout Vandecappelle
1 sibling, 0 replies; 3+ messages in thread
From: Norbert Lange @ 2021-08-04 21:56 UTC (permalink / raw)
To: buildroot; +Cc: Andrey Smirnov, Norbert Lange
If the libzstd DSO is available, then link the tool
against it.
Signed-off-by: Norbert Lange <nolange79@gmail.com>
---
v3->v5:
* Rebase
v2->v3:
* Drop config options, just use zstd-dll if possible
Signed-off-by: Norbert Lange <nolange79@gmail.com>
---
package/zstd/zstd.mk | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk
index d7a0320df4..58dd0dd9d4 100644
--- a/package/zstd/zstd.mk
+++ b/package/zstd/zstd.mk
@@ -49,6 +49,13 @@ ZSTD_BUILD_LIBS = lib
ZSTD_INSTALL_LIBS = install-static install-shared
endif
+# prefer zstd-dll unless no library is available
+ifeq ($(BR2_STATIC_LIBS),y)
+ZSTD_BUILD_PROG_TARGET = zstd-release
+else
+ZSTD_BUILD_PROG_TARGET = zstd-dll
+endif
+
# The HAVE_THREAD flag is read by the 'programs' makefile but not by the 'lib'
# one. Building a multi-threaded binary with a static library (which defaults
# to single-threaded) gives a runtime error when compressing files.
@@ -67,7 +74,7 @@ define ZSTD_BUILD_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
-C $(@D)/lib $(ZSTD_BUILD_LIBS) libzstd.pc
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
- -C $(@D) zstd-release
+ -C $(@D)/programs $(ZSTD_BUILD_PROG_TARGET)
endef
define ZSTD_INSTALL_STAGING_CMDS
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v5 1/2] package/zstd: rework build and install
2021-08-04 21:56 [Buildroot] [PATCH v5 1/2] package/zstd: rework build and install Norbert Lange
2021-08-04 21:56 ` [Buildroot] [PATCH v5 2/2] package/zstd: Prefer dynamically linked tool Norbert Lange
@ 2021-08-05 20:20 ` Arnout Vandecappelle
1 sibling, 0 replies; 3+ messages in thread
From: Arnout Vandecappelle @ 2021-08-05 20:20 UTC (permalink / raw)
To: Norbert Lange, buildroot; +Cc: Andrey Smirnov
On 04/08/2021 23:56, Norbert Lange wrote:
> Move PREFIX=/usr to ZSTD_OPTS, even though it is only used by
> libzstd.pc for now it should be available in every step.
>
> Create libzstd.pc in the build step instead of triggering a
> lazy build during installation when it is missing.
>
> Attach '-release' to the targets, since the default is to
> build lib-release and zstd-release.
>
> Signed-off-by: Norbert Lange <nolange79@gmail.com>
>
> ---
> v4->v5:
> * rebase, remove the parts that are already upstream
> * improve commit message
> * try to keep changes minimal
> v3->v4:
> * revert to previous scheme of BR2_TOOLCHAIN_HAS_THREADS
> fixing build options for both static and shared libs.
> v2->v3:
> * use normal = for assignment
> v1->v2:
> * rebased against upstream/master
>
> Signed-off-by: Norbert Lange <nolange79@gmail.com>
> ---
> package/zstd/zstd.mk | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk
> index 5a96c11309..d7a0320df4 100644
> --- a/package/zstd/zstd.mk
> +++ b/package/zstd/zstd.mk
> @@ -12,6 +12,7 @@ ZSTD_LICENSE_FILES = LICENSE COPYING
> ZSTD_CPE_ID_VENDOR = facebook
> ZSTD_CPE_ID_PRODUCT = zstandard
>
> +ZSTD_OPTS += PREFIX=/usr
> ZSTD_OPTS += ZSTD_LEGACY_SUPPORT=0
> ifeq ($(BR2_PACKAGE_ZLIB),y)
> ZSTD_DEPENDENCIES += zlib
> @@ -60,12 +61,13 @@ else
> ZSTD_OPTS += HAVE_THREAD=0
> ZSTD_BUILD_LIBS := $(addsuffix -nomt,$(ZSTD_BUILD_LIBS))
> endif
> +ZSTD_BUILD_LIBS := $(addsuffix -release,$(ZSTD_BUILD_LIBS))
check-package complained about this override of the variable, so I added a
check-package disable comment above.
I also improved the commit message a little (though it was already good - I
just strive for perfection :-) and committed both to next, thanks! This series
can finally be put to rest :-)
Regards,
Arnout
>
> define ZSTD_BUILD_CMDS
> $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
> - -C $(@D)/lib $(ZSTD_BUILD_LIBS)
> + -C $(@D)/lib $(ZSTD_BUILD_LIBS) libzstd.pc
> $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
> - -C $(@D) zstd
> + -C $(@D) zstd-release
> endef
>
> define ZSTD_INSTALL_STAGING_CMDS
> @@ -76,9 +78,9 @@ endef
>
> define ZSTD_INSTALL_TARGET_CMDS
> $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
> - DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install
> + DESTDIR=$(TARGET_DIR) -C $(@D)/programs install
> $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
> - DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/lib $(ZSTD_INSTALL_LIBS)
> + DESTDIR=$(TARGET_DIR) -C $(@D)/lib $(ZSTD_INSTALL_LIBS)
> endef
>
> HOST_ZSTD_OPTS += PREFIX=$(HOST_DIR)
>
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-08-05 20:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04 21:56 [Buildroot] [PATCH v5 1/2] package/zstd: rework build and install Norbert Lange
2021-08-04 21:56 ` [Buildroot] [PATCH v5 2/2] package/zstd: Prefer dynamically linked tool Norbert Lange
2021-08-05 20:20 ` [Buildroot] [PATCH v5 1/2] package/zstd: rework build and install Arnout Vandecappelle
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.