diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 000000000..131d0b5b3 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,60 @@ +environment: + CYG_MIRROR: http://cygwin.mirror.constant.com + CYG_PACKAGES: make,gcc-core,clang + matrix: + - MSYSTEM: MINGW64 + BASH: C:\msys64\usr\bin\bash + MSYS_CACHE: C:\msys64\var\cache\pacman\pkg + CC: gcc + - MSYSTEM: MINGW32 + BASH: C:\msys64\usr\bin\bash + MSYS_CACHE: C:\msys64\var\cache\pacman\pkg + CC: gcc + - CYG_ROOT: C:\cygwin64 + CYG_CACHE: C:\cygwin64\var\cache\setup + CYG_SETUP: setup-x86_64.exe + BASH: C:\cygwin64\bin\bash + CC: gcc + - CYG_ROOT: C:\cygwin + CYG_CACHE: C:\cygwin\var\cache\setup + CYG_SETUP: setup-x86.exe + BASH: C:\cygwin\bin\bash + CC: gcc + - MSYSTEM: MINGW64 + BASH: C:\msys64\usr\bin\bash + MSYS_CACHE: C:\msys64\var\cache\pacman\pkg + CC: clang + - MSYSTEM: MINGW32 + BASH: C:\msys64\usr\bin\bash + MSYS_CACHE: C:\msys64\var\cache\pacman\pkg + CC: clang + - CYG_ROOT: C:\cygwin64 + CYG_CACHE: C:\cygwin64\var\cache\setup + CYG_SETUP: setup-x86_64.exe + BASH: C:\cygwin64\bin\bash + CC: clang + - CYG_ROOT: C:\cygwin + CYG_CACHE: C:\cygwin\var\cache\setup + CYG_SETUP: setup-x86.exe + BASH: C:\cygwin\bin\bash + CC: clang + +clone_depth: 1 + +# Attempt to ensure we don't try to convert line endings to Win32 CRLF as this will cause build to fail +init: + - git config --global core.autocrlf input +# Allows RDP +# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) + +# Install needed build dependencies +install: + - ps: if (Test-Path Env:\CYG_ROOT) { Start-FileDownload "http://cygwin.com/$env:CYG_SETUP" -FileName "$env:CYG_SETUP" } + - if defined CYG_ROOT (%CYG_SETUP% --quiet-mode --no-shortcuts --only-site --root "%CYG_ROOT%" --site "%CYG_MIRROR%" --local-package-dir "%CYG_CACHE%" --packages "%CYG_PACKAGES%" --upgrade-also) + - if defined MSYSTEM (%BASH% -lc "pacman -Suuy --noconfirm") + - if defined MSYSTEM (%BASH% -lc "pacman -Suuy --noconfirm") +build_script: + - if defined BASH (%BASH% -lc "cd $(cygpath ${APPVEYOR_BUILD_FOLDER}) && git submodule init && git submodule update && make") +# Allows RDP +#on_finish: +# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) diff --git a/src/Makefile b/src/Makefile index 263c89eed..e6e8d12d9 100644 --- a/src/Makefile +++ b/src/Makefile @@ -277,13 +277,13 @@ OBJS_ALL := affinity autotune benchmark bitmap bitops combinator NATIVE_STATIC_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.STATIC.o) NATIVE_SHARED_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.SHARED.o) -ifeq ($(UNAME),CYGWIN) -NATIVE_STATIC_OBJS += $(CRT_GLOB) -endif # CYGWIN +## ifeq ($(UNAME),CYGWIN) +## NATIVE_STATIC_OBJS += $(CRT_GLOB) +## endif # CYGWIN -ifeq ($(UNAME),MSYS2) -NATIVE_STATIC_OBJS += $(CRT_GLOB) -endif # MSYS2 +## ifeq ($(UNAME),MSYS2) +## NATIVE_STATIC_OBJS += $(CRT_GLOB) +## endif # MSYS2 LINUX_32_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).LINUX.32.o) LINUX_64_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).LINUX.64.o) @@ -397,7 +397,7 @@ $(HASHCAT_FRONTEND): src/main.c $(HASHCAT_LIBRARY) $(CC) $(CFLAGS_NATIVE) $^ -L. -lhashcat $(LFLAGS_NATIVE) -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" -o $@ else $(HASHCAT_FRONTEND): src/main.c $(NATIVE_STATIC_OBJS) - $(CC) $(CFLAGS_NATIVE) $^ $(LFLAGS_NATIVE) -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" -o $@ + $(CC) $(CFLAGS_NATIVE) $^ $(LFLAGS_NATIVE) -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" -o $@ endif ## diff --git a/src/main.c b/src/main.c index 69b38315c..0fd9a2170 100644 --- a/src/main.c +++ b/src/main.c @@ -20,6 +20,10 @@ #include "interface.h" #include "event.h" +#if defined(__MINGW64__) || defined(__MINGW32__) +int _dowildcard = -1; +#endif + static void main_log_clear_line (MAYBE_UNUSED const int prev_len, MAYBE_UNUSED FILE *fp) { #if defined (_WIN) diff --git a/src/win_file_globbing.mk b/src/win_file_globbing.mk index b74d5f873..719dfac05 100644 --- a/src/win_file_globbing.mk +++ b/src/win_file_globbing.mk @@ -104,7 +104,7 @@ 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) +CRT_GLOB := $(CRT_GLOB_FILE_NAME) ifeq (,$(CRT_GLOB)) define WARNING_MESSAGE=