Compare commits
	
		
			2 commits
		
	
	
		
			e659b84025
			...
			5ee324d8c1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 5ee324d8c1 | ||
|   | c8674dc338 | 
					 2 changed files with 30 additions and 19 deletions
				
			
		
							
								
								
									
										36
									
								
								.github/workflows/rust.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								.github/workflows/rust.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -13,32 +13,44 @@ env: | ||||||
|   RUSTFLAGS: "-Dwarnings" |   RUSTFLAGS: "-Dwarnings" | ||||||
| 
 | 
 | ||||||
| jobs: | jobs: | ||||||
|   build: |  | ||||||
| 
 | 
 | ||||||
|  |   build-gnu-apt: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
| 
 |  | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v4 |       - uses: actions/checkout@v4 | ||||||
| 
 | 
 | ||||||
|       - name: Update repos |       - name: Update repos | ||||||
|         run: sudo apt-get update -qq |         run: sudo apt-get update -qq | ||||||
|       - name: Install rust toolchain |       - name: Install toolchain | ||||||
|         run: sudo apt-get install -qy cargo rust-clippy |         run: sudo apt-get install -qy cargo rust-clippy liblzma-dev gcc make pkgconf | ||||||
|       - name: install lzma |  | ||||||
|         run: sudo apt-get install -qy liblzma-dev |  | ||||||
|       - name: install gcc |  | ||||||
|         run: sudo apt-get install -qy gcc make |  | ||||||
| 
 | 
 | ||||||
|       - name: Run Clippy |       - name: Run Clippy | ||||||
|         run: cargo clippy |         run: cargo clippy | ||||||
| 
 | 
 | ||||||
|  |       - name: build | ||||||
|  |         run: cargo build | ||||||
|  | 
 | ||||||
|       - name: generate bindings |       - name: generate bindings | ||||||
|         run: ./generate-binding.sh |         run: ./generate-binding.sh | ||||||
|       - name: check that generated files did not change |       - name: check that generated files did not change | ||||||
|         run: output=$(git status --porcelain) && [ -z "$output" ] |         run: output=$(git status --porcelain) && [ -z "$output" ] | ||||||
| 
 | 
 | ||||||
|       - name: build |       - name: build example -- glibc release | ||||||
|         run: cargo build |         run: cd example && make clean && make TARGET=aarch64-unknown-linux-gnu PROFILE=release | ||||||
|  |       - name: build example -- glibc debug | ||||||
|  |         run: cd example && make clean && make TARGET=aarch64-unknown-linux-gnu PROFILE=debug | ||||||
| 
 | 
 | ||||||
|       - name: build example |   build-size-gnu-unstable: | ||||||
|         run: cd example && make |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v4 | ||||||
|  | 
 | ||||||
|  |       - name: Update repos | ||||||
|  |         run: sudo apt-get update -qq | ||||||
|  |       - name: Install toolchain | ||||||
|  |         run: sudo apt-get install -qy liblzma-dev gcc make pkgconf rustup | ||||||
|  |       - name: install rust targets | ||||||
|  |         run: rustup toolchain install nightly -t aarch64-unknown-linux-gnu -c rust-src --no-self-update | ||||||
|  | 
 | ||||||
|  |       - name: build example -- glibc size-optimized | ||||||
|  |         run: cd example && make clean && make TARGET=aarch64-unknown-linux-gnu PROFILE=size-optimized CARGO="rustup run nightly cargo" | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| CARGO ?= cargo | CARGO ?= cargo | ||||||
| STRIP ?= strip | STRIP ?= strip | ||||||
| 
 | 
 | ||||||
| FEATURES := | FEATURES := "" | ||||||
| 
 | 
 | ||||||
| THIS_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) | THIS_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) | ||||||
| REPO_ROOT := $(realpath $(THIS_DIR)/..) | REPO_ROOT := $(realpath $(THIS_DIR)/..) | ||||||
|  | @ -10,7 +10,7 @@ export SERVICEPOINT_HEADER_OUT := $(REPO_ROOT)/include | ||||||
| override CFG_MUSL := $(if $(CFG_MUSL),$(CFG_MUSL),$(if $(MUSL),$(MUSL),0)) | override CFG_MUSL := $(if $(CFG_MUSL),$(CFG_MUSL),$(if $(MUSL),$(MUSL),0)) | ||||||
| override CFG_PROFILE := $(if $(CFG_PROFILE),$(CFG_PROFILE),$(if $(PROFILE),$(PROFILE),release)) | override CFG_PROFILE := $(if $(CFG_PROFILE),$(CFG_PROFILE),$(if $(PROFILE),$(PROFILE),release)) | ||||||
| 
 | 
 | ||||||
| CCFLAGS += -Wall -fwhole-program | CCFLAGS += -Wall -fwhole-program -fPIE -pie | ||||||
| 
 | 
 | ||||||
| STRIPFLAGS := -s --strip-unneeded -R .comment -R .gnu.version -R .note -R .note.gnu.build-id -R .note.ABI-tag | STRIPFLAGS := -s --strip-unneeded -R .comment -R .gnu.version -R .note -R .note.gnu.build-id -R .note.ABI-tag | ||||||
| 
 | 
 | ||||||
|  | @ -18,7 +18,7 @@ ifeq ($(CFG_MUSL), 1) | ||||||
| 	TARGET ?= x86_64-unknown-linux-musl | 	TARGET ?= x86_64-unknown-linux-musl | ||||||
| 	CC ?= musl-gcc | 	CC ?= musl-gcc | ||||||
| 	CCFLAGS += -static -lservicepoint_binding_c | 	CCFLAGS += -static -lservicepoint_binding_c | ||||||
| 	RUSTFLAGS += --crate-type=staticlib | 	RUSTFLAGS += --crate-type=staticlib -Ctarget-feature=-crt-static | ||||||
| else | else | ||||||
| 	TARGET ?= x86_64-unknown-linux-gnu | 	TARGET ?= x86_64-unknown-linux-gnu | ||||||
| 	CC ?= gcc | 	CC ?= gcc | ||||||
|  | @ -31,7 +31,6 @@ endif | ||||||
| #endif
 | #endif
 | ||||||
| 
 | 
 | ||||||
| RUST_TARGET_DIR := $(REPO_ROOT)/target/$(TARGET)/$(CFG_PROFILE) | RUST_TARGET_DIR := $(REPO_ROOT)/target/$(TARGET)/$(CFG_PROFILE) | ||||||
| OUT_DIR := $(realpath $(THIS_DIR)/out/) |  | ||||||
| 
 | 
 | ||||||
| ifeq ($(CFG_PROFILE), size-optimized) | ifeq ($(CFG_PROFILE), size-optimized) | ||||||
| 	CARGO_PROFILE := size-optimized | 	CARGO_PROFILE := size-optimized | ||||||
|  | @ -92,7 +91,7 @@ all: $(_bins) | ||||||
| clean: clean-c clean-rust | clean: clean-c clean-rust | ||||||
| 
 | 
 | ||||||
| clean-c: | clean-c: | ||||||
| 	rm -r $(OUT_DIR) || true | 	rm -r out || true | ||||||
| 
 | 
 | ||||||
| clean-rust: | clean-rust: | ||||||
| 	rm $(SERVICEPOINT_HEADER_OUT)/servicepoint.h || true | 	rm $(SERVICEPOINT_HEADER_OUT)/servicepoint.h || true | ||||||
|  | @ -123,7 +122,7 @@ sizes: $(_bins) | ||||||
| 	ls -lB out | 	ls -lB out | ||||||
| 
 | 
 | ||||||
| analyze-size: out/$(BIN)_unstripped | analyze-size: out/$(BIN)_unstripped | ||||||
| 	nm --print-size --size-sort --reverse-sort --radix=d --demangle $(OUT_DIR)/$(BIN)_unstripped \
 | 	nm --print-size --size-sort --reverse-sort --radix=d --demangle out/$(BIN)_unstripped \
 | ||||||
| 		| awk '{size=$$2+0; print size "\t" $$4}' \
 | 		| awk '{size=$$2+0; print size "\t" $$4}' \
 | ||||||
| 		| less | 		| less | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue