******************* ** Install MinGW ** ******************* 1. Go to https://sourceforge.net/downloads/mingw 2. Download and execute mingw-get-setup.exe 3. Complete the installation wizard leaving default values ********************* ** Configure MinGW ** ********************* 1. Launch the MinGW Installation Manager 2. Select Basic Setup on the left 3. Mark the following packages for installation: mingw-developer-toolkit, mingw32-base, mingw-gcc-g++, and msys-base 4. Select All Packages on the left 5. Mark the following packages for installation: mingw32-pthreads-w32 (dev), mingw32-libpdcurses (dev), mingw32-pdcurses (bin), msys-libopenssl (dev) 6. Click Installation > Apply Changes 7. Click Apply 8. Wait... 9. Click Close 10. Close MinGW Installation Manager ************************ ** MinGW Post-Install ** ************************ 1. Check your Start menu for “MinGW Shell” 2. If the shortcut exists, continue to the next section, otherwise: 3. Navigate to C:\MinGW\msys\1.0\postinstall 4. Run pi.bat & answer the questions 5. Navigate to C:\MinGW\msys\1.0 6. Right-click msys.bat and click Copy 7. Click the Start button 8. Right-click All Programs and click Open 9. Right-click on the opened folder and click “Paste shortcut” 10. Right-click the new shortcut and click Properties 11. On the General tab, rename the shortcut to “MinGW Shell” 12. On the Shortcut tab, change Start in to C:\MinGW\msys\1.0\bin 13. Click OK ****************************************** ** Install YASM (optional - CPU mining) ** ****************************************** 1. Visit http://yasm.tortall.net/Download.html 2. Download the Win32 or Win64 .exe, depending on your version of Windows 3. Rename the downloaded executable to yasm.exe 4. Copy the executable to C:\MinGW\bin ******************** ** Install uthash ** ******************** 1. Visit http://troydhanson.github.io/uthash/ 2. Download the uthash-master.zip file 3. Extract the contents of the uthash-master/src folder into C:\MinGW\include ****************************** ** Install GTK+ for Windows ** ****************************** 1. Visit http://sourceforge.net/projects/gtk-win/ 2. Download and execute the gtk2-runtime installer 3. Complete the installation wizard leaving default values 4. Copy libglib-2.0-0.dll from C:\Program Files\GTK2-Runtime\bin to C:\MinGW\bin ************************ ** Install pkg-config ** ************************ 1. Visit http://www.gtk.org/download/win32.php 2. Search for a version of pkg-config that includes both the Tool and Dev downloads 3. Click and download both the Tool link and the Dev link 4. Open the pkg-config zip file and extract the bin folder to C:\MinGW 5. Open the pkg-config-dev zip file and extract the share folder to C:\MinGW ********************* ** Install libcurl ** ********************* 1. Visit http://curl.haxx.se/download.html#Win32 2. Look for the Win32 - Generic heading 3. Download the link that indicates both *libcurl* (not just binary) and *SSL* 4. Open the zip file and extract the lib, include, and bin folders to C:\MinGW 5. Edit C:\MinGW\lib\pkgconfig\libcurl.pc 6. Change "-lcurl" to "-lcurl -lcurldll" ************************ ** Install libjansson ** ************************ 1. Visit http://www.digip.org/jansson/releases/ 2. Download the latest .tar.gz file (not doc.tar.gz) 3. Open the .tar.gz file and extract the jansson folder to C:\MinGW\msys\1.0\home\USER (where USER is your user name) 4. Click Start and launch MinGW Shell 5. Type the following (replace X.X with actual version): cd ~/jansson-X.X ./configure --prefix=/MinGW make make check make install ******************** ** Install libusb ** ******************** 1. Visit http://git.libusb.org/?p=libusb.git;a=snapshot;h=master;sf=zip 2. Download and open the resulting zip file 3. Extract the libusb-master folder to C:\MinGW\msys\1.0\home\USER 4. Return to the MinGW Shell 5. Type the following (replace XYZ with actual identifier): cd ~/libusb-master-XYZ ./autogen.sh --disable-debug-log --prefix=/MinGW make make install ****************************************************** ** Install libmicrohttpd (optional - Stratum Proxy) ** ****************************************************** 1. Visit http://ftp.gnu.org/gnu/libmicrohttpd/ 2. Download the latest w32.zip file 3. Open the zip file and extract the share, lib, include, and bin folders to C:\MinGW ************************************************* ** Install libevent (optional - Stratum Proxy) ** ************************************************* 1. Visit http://libevent.org/ 2. Download the latest stable.tar.gz file 3. Open the .tar.gz file and extract the libevent-X.Y.Z-stable folder to C:\MinGW\msys\1.0\home\USER 4. Return to the MinGW Shell 5. Type the following (replace X.Y.Z with actual version): cd ~/libevent-X.Y.Z-stable ./configure --disable-openssl --prefix=/MinGW make make install ******************************************************* ** Install HIDAPI (optional - Hashbuster & Nanofury) ** ******************************************************* 1. Visit https://github.com/signal11/hidapi 2. Click Releases and download the latest zip file 3. Open the zip file and extract the hidapi-hidapi folder to C:\MinGW\msys\1.0\home\USER 4. Return to the MinGW Shell 5. Type the following (replace X.Y.Z with actual version): cd ~/hidapi-hidapi-X.Y.Z ./bootstrap ./configure --prefix=/MinGW make make install ***************** ** Install Git ** ***************** 1. Visit http://git-scm.com/downloads 2. Click the Download for Windows 3. Run the resulting installer once downloaded 4. Complete the installation wizard leaving default values **************************** ** Configure Git in MinGW ** **************************** 1. Navigate to C:\MinGW\msys\1.0\home\USER 2. Create a new text file with Notepad called profile.txt with the contents: PATH=$PATH:/c/Program\ Files/Git/bin 3. Return to the MinGW Shell 4. Type the following: mv ~/profile.txt ~/.profile 5. Restart the MinGW Shell ****************** ** OS Header(s) ** ****************** 1. Navigate to C:\MinGW\include 2. Use Notepad to create a new file called mstcpip.h (not .txt) with the contents: struct tcp_keepalive { u_long onoff; u_long keepalivetime; u_long keepaliveinterval; }; #ifndef USE_WS_PREFIX #define SIO_KEEPALIVE_VALS _WSAIOW(IOC_VENDOR, 4) #else #define WS_SIO_KEEPALIVE_VALS _WSAIOW(WS_IOC_VENDOR, 4) #endif ********************** ** Compile bfgminer ** ********************** 1. Return to the MinGW Shell 2. Type the following: cd ~/ git clone git://github.com/luke-jr/bfgminer.git cd bfgminer/ ./autogen.sh ./configure make * Note: see the README for bfgminer ./configure options ********************** ** Package Binaries ** ********************** Create a new folder anywhere and copy the following items there: C:\MinGW\msys\1.0\home\USER\bfgminer bfgminer.exe bfgminer-rpc.exe COPYING LICENSE README* C:\MinGW\msys\1.0\home\USER\bfgminer\opencl *.cl C:\MinGW\msys\1.0\home\USER\bfgminer\libbase58\.libs libbase58-0.dll C:\MinGW\msys\1.0\home\USER\bfgminer\libblkmaker\.libs libblkmaker-0.1-6.dll libblkmaker_jansson-0.1-6.dll C:\MinGW\bin libcurl.dll libjansson-4.dll libmicrohttpd-10.dll libpdcursesw.dll pthreadGC2.dll libusb-1.0.dll libidn-11.dll libeay32.dll ssleay32.dll libgcc_s_dw2-1.dll libgnutls-28.dll libgcrypt-11.dll libplibc-1.dll libgmp.dll libintl-8.dll libgpg-error-0.dll libiconv-2.dll libevent-2-0-5.dll zlib1.dll