Skip to content

Commit 77dbb54

Browse files
committed
regroup list of OSes for install inside common variable
within lib/libzstd.mk. fixes #4445
1 parent f9e26bb commit 77dbb54

File tree

4 files changed

+24
-16
lines changed

4 files changed

+24
-16
lines changed

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,13 @@ clean:
144144
$(Q)$(RM) -r lz4 cmakebuild mesonbuild install
145145
@echo Cleaning completed
146146

147+
LIBZSTD_MK_DIR = $(ZSTDDIR)
148+
include $(LIBZSTD_MK_DIR)/libzstd.mk # UNAME, INSTALL_OS_LIST
149+
147150
#------------------------------------------------------------------------------
148151
# make install is validated only for Linux, macOS, Hurd and some BSD targets
149152
#------------------------------------------------------------------------------
150-
ifneq (,$(filter Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly NetBSD MSYS_NT% CYGWIN_NT% Haiku AIX,$(shell sh -c 'MSYSTEM="MSYS" uname') ))
153+
ifneq (,$(filter $(INSTALL_OS_LIST),$(UNAME)))
151154

152155
HOST_OS = POSIX
153156

lib/Makefile

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ $(ZSTD_STATICLIB): $(ZSTD_STATICLIB_OBJ)
128128
$(AR) $(ARFLAGS) $@ $^
129129

130130
libzstd.a: $(ZSTD_STATICLIB)
131-
cp -f $< $@
131+
$(CP) $< $@
132132

133133
endif
134134

@@ -168,11 +168,11 @@ $(ZSTD_DYNLIB): $(ZSTD_DYNLIB_OBJ)
168168
@echo compiling single-threaded dynamic library $(LIBVER))
169169
$(CC) $(FLAGS) $^ $(SONAME_FLAGS) -o $@
170170
@echo creating versioned links
171-
ln -sf $@ libzstd.$(SHARED_EXT_MAJOR)
172-
ln -sf $@ libzstd.$(SHARED_EXT)
171+
$(LN) -sf $@ libzstd.$(SHARED_EXT_MAJOR)
172+
$(LN) -sf $@ libzstd.$(SHARED_EXT)
173173

174174
$(LIBZSTD): $(ZSTD_DYNLIB)
175-
cp -f $< $@
175+
$(CP) $< $@
176176

177177
endif # ifndef BUILD_DIR
178178
endif # if windows
@@ -268,7 +268,7 @@ clean:
268268
#-----------------------------------------------------------------------------
269269
# make install is validated only for below listed environments
270270
#-----------------------------------------------------------------------------
271-
ifneq (,$(filter Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku AIX MSYS_NT% CYGWIN_NT%,$(UNAME)))
271+
ifneq (,$(filter $(INSTALL_OS_LIST),$(UNAME)))
272272

273273
lib: libzstd.pc
274274

@@ -363,8 +363,8 @@ install-shared:
363363
[ -e $(DESTDIR)$(LIBDIR) ] || $(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/
364364
@echo Installing shared library
365365
$(INSTALL_PROGRAM) $(LIBZSTD) $(DESTDIR)$(LIBDIR)
366-
ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
367-
ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
366+
$(LN) -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
367+
$(LN) -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
368368

369369
.PHONY: install-includes
370370
install-includes:

lib/libzstd.mk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@ endif
207207
CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
208208

209209
UNAME := $(shell sh -c 'MSYSTEM="MSYS" uname')
210+
LN ?= ln
211+
CP ?= cp -f
210212

211213
ifndef BUILD_DIR
212214
ifeq ($(UNAME), Darwin)
@@ -232,4 +234,7 @@ ZSTD_SUBDIR := $(LIB_SRCDIR)/common $(LIB_SRCDIR)/compress $(LIB_SRCDIR)/decompr
232234
vpath %.c $(ZSTD_SUBDIR)
233235
vpath %.S $(ZSTD_SUBDIR)
234236

237+
# List of OSes for which target install is supported
238+
INSTALL_OS_LIST ?= Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku AIX MSYS_NT% CYGWIN_NT%
239+
235240
endif # LIBZSTD_MK_INCLUDED

programs/Makefile

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ endif
170170

171171
zstd : $(BUILD_DIR)/zstd
172172
if [ $(BIN_ISDIFFERENT) -eq 1 ]; then \
173-
cp -f $<$(EXT) $@$(EXT); \
173+
$(CP) $<$(EXT) $@$(EXT); \
174174
echo zstd build completed; \
175175
else \
176176
echo zstd already built; \
@@ -271,7 +271,7 @@ zstd-dictBuilder: $(ZSTDLIB_COMMON_SRC) $(ZSTDLIB_COMPRESS_SRC) $(ZDICT_SRC) zst
271271

272272
CLEAN += zstdmt
273273
zstdmt: zstd
274-
ln -sf zstd zstdmt
274+
$(LN) -sf zstd zstdmt
275275

276276
.PHONY: generate_res
277277
generate_res: $(RES64_FILE) $(RES32_FILE)
@@ -345,7 +345,7 @@ include $(wildcard $(DEPFILES))
345345
#-----------------------------------------------------------------------------
346346
# make install is validated only for Linux, macOS, BSD, Hurd and Solaris targets
347347
#-----------------------------------------------------------------------------
348-
ifneq (,$(filter Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku AIX MSYS_NT% CYGWIN_NT%,$(UNAME)))
348+
ifneq (,$(filter $(INSTALL_OS_LIST),$(UNAME)))
349349

350350
HAVE_COLORNEVER = $(shell echo a | egrep --color=never a > /dev/null 2> /dev/null && echo 1 || echo 0)
351351
EGREP_OPTIONS ?=
@@ -414,15 +414,15 @@ install:
414414
[ -e $(DESTDIR)$(MAN1DIR) ] || $(INSTALL) -d -m 755 $(DESTDIR)$(MAN1DIR)/
415415
@echo Installing binaries
416416
$(INSTALL_PROGRAM) zstd$(EXT) $(DESTDIR)$(BINDIR)/zstd$(EXT)
417-
ln -sf zstd$(EXT) $(DESTDIR)$(BINDIR)/zstdcat$(EXT)
418-
ln -sf zstd$(EXT) $(DESTDIR)$(BINDIR)/unzstd$(EXT)
419-
ln -sf zstd$(EXT) $(DESTDIR)$(BINDIR)/zstdmt$(EXT)
417+
$(LN) -sf zstd$(EXT) $(DESTDIR)$(BINDIR)/zstdcat$(EXT)
418+
$(LN) -sf zstd$(EXT) $(DESTDIR)$(BINDIR)/unzstd$(EXT)
419+
$(LN) -sf zstd$(EXT) $(DESTDIR)$(BINDIR)/zstdmt$(EXT)
420420
$(INSTALL_SCRIPT) zstdless $(DESTDIR)$(BINDIR)/zstdless
421421
$(INSTALL_SCRIPT) zstdgrep $(DESTDIR)$(BINDIR)/zstdgrep
422422
@echo Installing man pages
423423
$(INSTALL_MAN) zstd.1 $(DESTDIR)$(MAN1DIR)/zstd.1
424-
ln -sf zstd.1 $(DESTDIR)$(MAN1DIR)/zstdcat.1
425-
ln -sf zstd.1 $(DESTDIR)$(MAN1DIR)/unzstd.1
424+
$(LN) -sf zstd.1 $(DESTDIR)$(MAN1DIR)/zstdcat.1
425+
$(LN) -sf zstd.1 $(DESTDIR)$(MAN1DIR)/unzstd.1
426426
$(INSTALL_MAN) zstdgrep.1 $(DESTDIR)$(MAN1DIR)/zstdgrep.1
427427
$(INSTALL_MAN) zstdless.1 $(DESTDIR)$(MAN1DIR)/zstdless.1
428428
@echo zstd installation completed

0 commit comments

Comments
 (0)