Script Functionality
This Windows-only Python script is a comprehensive build system for the Obsidian 
chess engine that:
 • Automatically downloads and installs Git and WinLibs MinGW-w64 if needed
 • Clones the Obsidian chess engine repository 
 • Applies SIMD-everywhere modifications for cross-platform compatibility 
 • Modifies various source files to use conditional includes 
 • Compiles the engine with specified build configurations 
 • Handles administrator privileges for file operations 
 • Supports multiple build types: native, sse2, ssse3, avx2, avx2-pext, avx512
 
 
 Usage: 
 
 Make sure you have python installed on your system first (when not using executable version)
 
https://www.python.org/downloads/windows/
 
 Make sure you have Git For Windows installed
 
https://git-scm.com/downloads/win
 
 WinLibs MinGW-w64 will be auto-downloaded and installed the first time
 then on subsequent builds the download will be skipped if already installed.
 
 
 Run the executable or script from a Git Bash terminal (available from the right-click menu once
 Git For Windows is installed).
 
 Do not run the script from the Windows terminal.
 
 Script will check to see if there is a new version of Obsidian available to download 
 when it starts.
 
 
 Choose one of these:  (without options = native) 
 
 using executable:
 
 ./obsidian_builder     
 ./obsidian_builder build=native     
 ./obsidian_builder build=sse2         
 ./obsidian_builder build=ssse3        
 ./obsidian_builder build=avx2        
 ./obsidian_builder build=avx2-pext    
 ./obsidian_builder build=avx512
 Add pgo on the end for profile guided optimized build. (takes longer to build)
 e.g    ./obsidian_builder build=avx512 pgo
 
 pgo produces slightly faster builds for avx2/avx2-pext/avx512
 pgo produces slower builds for sse2/ssse3
 
 
 using python:
 
 python obsidian_builder.py             
 python obsidian_builder.py build=native     
 python obsidian_builder.py build=sse2         
 python obsidian_builder.py build=ssse3        
 python obsidian_builder.py build=avx2        
 python obsidian_builder.py build=avx2-pext    
 python obsidian_builder.py build=avx512  
 Add pgo on the end for profile guided optimized build. (takes longer to build)
 e.g    python obsidian_builder.py build=avx512 pgo