|  | @@ -0,0 +1,30 @@
 | 
	
		
			
				|  |  | +#!/bin/bash
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +set -x
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Change to repo root.
 | 
	
		
			
				|  |  | +cd $(dirname $0)/../../../..
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Use docker image to build linux artifacts.
 | 
	
		
			
				|  |  | +DOCKER_IMAGE_NAME=protobuf/protoc_$(sha1sum protoc-artifacts/Dockerfile | cut -f1 -d " ")
 | 
	
		
			
				|  |  | +docker pull $DOCKER_IMAGE_NAME
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +docker run -v $(pwd):/var/local/protobuf --rm $DOCKER_IMAGE_NAME \
 | 
	
		
			
				|  |  | +    bash -l /var/local/protobuf/protoc-artifacts/build-protoc.sh \
 | 
	
		
			
				|  |  | +    linux x86_64 protoc || {
 | 
	
		
			
				|  |  | +  echo "Failed to build protoc for linux + x86_64."
 | 
	
		
			
				|  |  | +  exit 1
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +docker run -v $(pwd):/var/local/protobuf --rm $DOCKER_IMAGE_NAME \
 | 
	
		
			
				|  |  | +    bash -l /var/local/protobuf/protoc-artifacts/build-protoc.sh \
 | 
	
		
			
				|  |  | +    linux x86_32 protoc || {
 | 
	
		
			
				|  |  | +  echo "Failed to build protoc for linux + x86_32."
 | 
	
		
			
				|  |  | +  exit 1
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Cross-build for some architectures.
 | 
	
		
			
				|  |  | +sudo apt install g++-aarch64-linux-gnu
 | 
	
		
			
				|  |  | +# TODO(xiaofeng): It currently fails with "machine `aarch64' not recognized"
 | 
	
		
			
				|  |  | +# error.
 | 
	
		
			
				|  |  | +# protoc-artifacts/build-protoc.sh linux aarch_64 protoc
 |