mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-30 19:22:31 +00:00 
			
		
		
		
	- cibw now builds and uses bison 3.8.2 explicitly on platforms with no or out-of-date bison — AlmaLinux 8 only goes up to Bison 3.0 - cibw environment now includes `OPTFLAGS=-O3` to avoid generating debug info for abc, saving space in memory during linking - setup.py attempts to build `yosys-abc` independently first to avoid memory pressure from gigantic abc link step running in parallel with something else
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| set -e -x
 | |
| 
 | |
| # Build-time dependencies
 | |
| ## Linux Docker Images
 | |
| if command -v yum &> /dev/null; then
 | |
|     yum install -y flex # manylinux's bison versions are hopelessly out of date
 | |
| fi
 | |
| 
 | |
| if command -v apk &> /dev/null; then
 | |
|     apk add flex bison
 | |
| fi
 | |
| 
 | |
| if ! printf '%s\n' '%require "3.8"' '%%' 'start: ;' | bison -o /dev/null /dev/stdin ; then
 | |
| 	(
 | |
| 		set -e -x
 | |
| 		cd bison
 | |
| 		./configure
 | |
| 		make clean
 | |
| 		make install -j$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu)
 | |
| 	)
 | |
| fi
 | |
| 
 | |
| ## macOS/Windows -- installed in GitHub Action itself, not container
 | |
| 
 | |
| # Runtime Dependencies
 | |
| ## Build Static FFI (platform-dependent but not Python version dependent)
 | |
| (
 | |
| 	set -e -x
 | |
| 	cd ffi
 | |
| 	## Ultimate libyosys.so will be shared, so we need fPIC for the static libraries
 | |
| 	CFLAGS=-fPIC CXXFLAGS=-fPIC ./configure --prefix=$PWD/pfx
 | |
| 	make clean
 | |
| 	make install -j$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu)
 | |
| 	## Forces static library to be used in all situations
 | |
| 	sed -i.bak 's@-L${toolexeclibdir} -lffi@${toolexeclibdir}/libffi.a@' ./pfx/lib/pkgconfig/libffi.pc
 | |
| )
 |