Support custom pkg-config executable names
When cross-compiling, it's common to have executables prefixed with the name of the architecture you're building for, e.g. aarch64-unknown-linux-musl-cc or x86_64-unknown-freebsd-pkg-config. Lots of build tools support a PKG_CONFIG environment variable to enable this use case. With this change, I was able to successfully cross-compile and run catgirl.
This commit is contained in:
		
							parent
							
								
									9c1b241c17
								
							
						
					
					
						commit
						431230e0ea
					
				
							
								
								
									
										10
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								configure
									
									
									
									
										vendored
									
									
								
							@ -1,6 +1,8 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
set -eu
 | 
					set -eu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					: ${PKG_CONFIG:=pkg-config}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cflags() {
 | 
					cflags() {
 | 
				
			||||||
	echo "CFLAGS += $*"
 | 
						echo "CFLAGS += $*"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -8,16 +10,16 @@ defstr() {
 | 
				
			|||||||
	cflags "-D'$1=\"$2\"'"
 | 
						cflags "-D'$1=\"$2\"'"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
defvar() {
 | 
					defvar() {
 | 
				
			||||||
	defstr "$1" "$(pkg-config --variable=$3 $2)${4:-}"
 | 
						defstr "$1" "$(${PKG_CONFIG} --variable=$3 $2)${4:-}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
ldadd() {
 | 
					ldadd() {
 | 
				
			||||||
	lib=$1; shift
 | 
						lib=$1; shift
 | 
				
			||||||
	echo "LDADD.${lib} = $*"
 | 
						echo "LDADD.${lib} = $*"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
config() {
 | 
					config() {
 | 
				
			||||||
	pkg-config --print-errors "$@"
 | 
						${PKG_CONFIG} --print-errors "$@"
 | 
				
			||||||
	cflags $(pkg-config --cflags "$@")
 | 
						cflags $(${PKG_CONFIG} --cflags "$@")
 | 
				
			||||||
	for lib; do ldadd $lib $(pkg-config --libs $lib); done
 | 
						for lib; do ldadd $lib $(${PKG_CONFIG} --libs $lib); done
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
exec >config.mk
 | 
					exec >config.mk
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user