mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-24 08:58:13 +00:00
Add Makefile code to find CRT_glob.o using the native target when compiling on Cygwin or Msys2 host
This commit is contained in:
parent
6eced901c7
commit
cd3fae958d
@ -258,6 +258,14 @@ OBJS_ALL := affinity autotune benchmark bitmap bitops combinator
|
|||||||
NATIVE_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.o)
|
NATIVE_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.o)
|
||||||
NATIVE_SHARED_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.SHARED.o)
|
NATIVE_SHARED_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.SHARED.o)
|
||||||
|
|
||||||
|
ifeq ($(UNAME),CYGWIN)
|
||||||
|
NATIVE_OBJS += $(CRT_GLOB)
|
||||||
|
endif # CYGWIN
|
||||||
|
|
||||||
|
ifeq ($(UNAME),MSYS2)
|
||||||
|
NATIVE_OBJS += $(CRT_GLOB)
|
||||||
|
endif # MSYS2
|
||||||
|
|
||||||
LINUX_32_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).LINUX.32.o)
|
LINUX_32_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).LINUX.32.o)
|
||||||
LINUX_64_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).LINUX.64.o)
|
LINUX_64_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).LINUX.64.o)
|
||||||
|
|
||||||
|
@ -16,15 +16,18 @@ IS_WIN_BUILD := $(filter binaries,$(MG))$(filter win32,$(MG))$(filter win6
|
|||||||
|
|
||||||
ifneq (,$(IS_WIN_BUILD))
|
ifneq (,$(IS_WIN_BUILD))
|
||||||
|
|
||||||
# entering this code path means: we need to check for CRT_glob.o since we try to build binaries for windows operating systems
|
ifeq ($(UNAME),CYGWIN)
|
||||||
|
$(error Cross-compiling on $(UNAME) is not supported, please use the native target)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(UNAME),MSYS2)
|
ifeq ($(UNAME),MSYS2)
|
||||||
CRT_GLOB_LIB_PATH_32 ?= /mingw32/i686-w64-mingw32/lib/
|
$(error Cross-compiling on $(UNAME) is not supported, please use the native target)
|
||||||
CRT_GLOB_LIB_PATH_64 ?= /mingw64/x86_64-w64-mingw32/lib/
|
endif
|
||||||
else
|
|
||||||
|
# entering this code path means: we need to check for CRT_glob.o since we try to build binaries for windows operating systems
|
||||||
|
|
||||||
CRT_GLOB_LIB_PATH_32 ?= /usr/i686-w64-mingw32/lib/
|
CRT_GLOB_LIB_PATH_32 ?= /usr/i686-w64-mingw32/lib/
|
||||||
CRT_GLOB_LIB_PATH_64 ?= /usr/x86_64-w64-mingw32/lib/
|
CRT_GLOB_LIB_PATH_64 ?= /usr/x86_64-w64-mingw32/lib/
|
||||||
endif
|
|
||||||
|
|
||||||
CRT_GLOB_LIB_SYSROOT_32 := $(shell $(CC_WIN_32) --verbose 2>&1 | $(EGREP) -m 1 -o '(with-sysroot="[^"]"|with-sysroot=[^ ]*)' | $(SED) 's/^with-sysroot="\?\([^"]*\)"\?$$/\1/')
|
CRT_GLOB_LIB_SYSROOT_32 := $(shell $(CC_WIN_32) --verbose 2>&1 | $(EGREP) -m 1 -o '(with-sysroot="[^"]"|with-sysroot=[^ ]*)' | $(SED) 's/^with-sysroot="\?\([^"]*\)"\?$$/\1/')
|
||||||
CRT_GLOB_LIB_SYSROOT_64 := $(shell $(CC_WIN_64) --verbose 2>&1 | $(EGREP) -m 1 -o '(with-sysroot="[^"]"|with-sysroot=[^ ]*)' | $(SED) 's/^with-sysroot="\?\([^"]*\)"\?$$/\1/')
|
CRT_GLOB_LIB_SYSROOT_64 := $(shell $(CC_WIN_64) --verbose 2>&1 | $(EGREP) -m 1 -o '(with-sysroot="[^"]"|with-sysroot=[^ ]*)' | $(SED) 's/^with-sysroot="\?\([^"]*\)"\?$$/\1/')
|
||||||
@ -64,3 +67,24 @@ $(warning $(WARNING_MESSAGE))
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
IS_WIN_BUILD_NATIVE := $(filter CYGWIN,$(UNAME))$(filter MSYS2,$(UNAME))
|
||||||
|
|
||||||
|
ifneq (,$(IS_WIN_BUILD_NATIVE))
|
||||||
|
|
||||||
|
# entering this code path means: we need to check for CRT_glob.o since we try to build binaries for windows operating systems
|
||||||
|
|
||||||
|
CRT_GLOB := $(shell $(FIND) / -name $(CRT_GLOB_FILE_NAME) -print -quit)
|
||||||
|
|
||||||
|
ifeq (,$(CRT_GLOB))
|
||||||
|
define WARNING_MESSAGE=
|
||||||
|
|
||||||
|
|
||||||
|
! The MinGW CRT GLOB library was not found on your system. Please make sure that $(CRT_GLOB_FILE_NAME) exists
|
||||||
|
! ATTENTION: File globbing will be disabled
|
||||||
|
|
||||||
|
endef
|
||||||
|
$(warning $(WARNING_MESSAGE))
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
Loading…
Reference in New Issue
Block a user