]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
fix installation with MSYS2+mingw-w64 (#1960) vtorri
authorYann Collet <Cyan4973@users.noreply.github.com>
Sat, 18 Jan 2020 00:32:18 +0000 (16:32 -0800)
committerGitHub <noreply@github.com>
Sat, 18 Jan 2020 00:32:18 +0000 (16:32 -0800)
Co-authored-by: vtorri <vincent.torri@gmail.com>
Makefile
lib/Makefile
programs/Makefile

index 9b19d4d31a83c29cca8786966ea90c3f8083a5b9..a8dc622d5c86a28305ead478063deebd8a7f55d0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -132,7 +132,7 @@ clean:
 #------------------------------------------------------------------------------
 # make install is validated only for Linux, macOS, Hurd and some BSD targets
 #------------------------------------------------------------------------------
-ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly NetBSD MSYS_NT Haiku))
+ifneq (,$(filter Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly NetBSD MSYS_NT Haiku MINGW%,$(shell uname)))
 
 HOST_OS = POSIX
 CMAKE_PARAMS = -DZSTD_BUILD_CONTRIB:BOOL=ON -DZSTD_BUILD_STATIC:BOOL=ON -DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_ZLIB_SUPPORT:BOOL=ON -DZSTD_LZMA_SUPPORT:BOOL=ON -DCMAKE_BUILD_TYPE=Release
index fd1710cf1a06a426f0574afd25450036371aa451..16bd21a4cc4a19a0fa2d81b115d584659e21c354 100644 (file)
@@ -158,10 +158,10 @@ libzstd.a-mt: libzstd.a
 
 ifneq (,$(filter Windows%,$(OS)))
 
-LIBZSTD = dll\libzstd.dll
+LIBZSTD = dll/libzstd-$(LIBVER_MAJOR).dll
 $(LIBZSTD): $(ZSTD_FILES)
        @echo compiling dynamic library $(LIBVER)
-       $(CC) $(FLAGS) -DZSTD_DLL_EXPORT=1 -Wl,--out-implib,dll\libzstd.dll.a -shared $^ -o $@
+       $(CC) $(FLAGS) -DZSTD_DLL_EXPORT=1 -Wl,--out-implib,dll/libzstd.dll.a -shared $^ -o $@
 
 else
 
@@ -210,7 +210,7 @@ clean:
 #-----------------------------------------------------------------------------
 # make install is validated only for Linux, macOS, BSD, Hurd and Solaris targets
 #-----------------------------------------------------------------------------
-ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku))
+ifneq (,$(filter Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku MINGW%,$(shell uname)))
 
 DESTDIR     ?=
 # directory variables : GNU conventions prefer lowercase
@@ -223,6 +223,8 @@ libdir      ?= $(exec_prefix)/lib
 LIBDIR      ?= $(libdir)
 includedir  ?= $(PREFIX)/include
 INCLUDEDIR  ?= $(includedir)
+bindir      ?= $(PREFIX)/bin
+BINDIR      ?= $(bindir)
 
 ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
 PKGCONFIGDIR ?= $(PREFIX)/libdata/pkgconfig
@@ -262,9 +264,15 @@ install-static: libzstd.a
 install-shared: libzstd
        @echo Installing shared library
        @$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/
+ifneq (,$(filter MINGW%,$(shell uname)))
+       @$(INSTALL) -d -m 755 $(DESTDIR)$(BINDIR)/
+       @$(INSTALL_PROGRAM) $(LIBZSTD) $(DESTDIR)$(BINDIR)
+       @$(INSTALL_PROGRAM) dll/libzstd.dll.a $(DESTDIR)$(LIBDIR)
+else
        @$(INSTALL_PROGRAM) $(LIBZSTD) $(DESTDIR)$(LIBDIR)
        @ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
        @ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
+endif
 
 install-includes:
        @echo Installing includes
@@ -276,9 +284,14 @@ install-includes:
 
 uninstall:
        @$(RM) $(DESTDIR)$(LIBDIR)/libzstd.a
+ifneq (,$(filter MINGW%,$(shell uname)))
+       @$(RM) $(DESTDIR)$(BINDIR)/$(LIBZSTD)
+       @$(RM) $(DESTDIR)$(LIBDIR)/libzstd.dll.a
+else
        @$(RM) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
        @$(RM) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
        @$(RM) $(DESTDIR)$(LIBDIR)/$(LIBZSTD)
+endif
        @$(RM) $(DESTDIR)$(PKGCONFIGDIR)/libzstd.pc
        @$(RM) $(DESTDIR)$(INCLUDEDIR)/zstd.h
        @$(RM) $(DESTDIR)$(INCLUDEDIR)/zstd_errors.h
index b75314a83f43491e2ee3adb240d3bd9ef87feda2..6d67fe32b93c7c2892a9a8e64560a2ac75906a69 100644 (file)
@@ -290,7 +290,7 @@ preview-man: clean-man man
 #-----------------------------------------------------------------------------
 # make install is validated only for Linux, macOS, BSD, Hurd and Solaris targets
 #-----------------------------------------------------------------------------
-ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku))
+ifneq (,$(filter Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku MINGW%,$(shell uname)))
 
 HAVE_COLORNEVER = $(shell echo a | egrep --color=never a > /dev/null 2> /dev/null && echo 1 || echo 0)
 EGREP_OPTIONS ?=