mirror of
				https://github.com/NotAShelf/tinierfetch.git
				synced 2025-10-31 11:12:39 +00:00 
			
		
		
		
	separate programs by language
This commit is contained in:
		
					parent
					
						
							
								45f6cbb46a
							
						
					
				
			
			
				commit
				
					
						6295a0b7e6
					
				
			
		
					 8 changed files with 106 additions and 4 deletions
				
			
		
							
								
								
									
										46
									
								
								cpp/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								cpp/Makefile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,46 @@ | ||||||
|  | # Compiler
 | ||||||
|  | CXX = g++ | ||||||
|  | 
 | ||||||
|  | # Source files
 | ||||||
|  | SOURCES = tinierfetch.cpp | ||||||
|  | 
 | ||||||
|  | # Output binaries
 | ||||||
|  | OUTPUT_SIZE = tinierfetch-cpp-size | ||||||
|  | OUTPUT_SPEED = tinierfetch-cpp-speed | ||||||
|  | 
 | ||||||
|  | # Compiler flags for size optimization
 | ||||||
|  | CXXFLAGS_SIZE = -Os -ffunction-sections -fdata-sections \
 | ||||||
|  |                 -fno-exceptions -fno-stack-protector -fno-rtti \
 | ||||||
|  |                 -ffunction-sections -fdata-sections -fno-math-errno \
 | ||||||
|  |                 -fno-unroll-loops -fmerge-all-constants -fno-ident \
 | ||||||
|  |                 -mfpmath=387 -mfancy-math-387 -s -flto \
 | ||||||
|  |                 -fno-asynchronous-unwind-tables -fsingle-precision-constant | ||||||
|  | 
 | ||||||
|  | # Compiler flags for speed optimization
 | ||||||
|  | CXXFLAGS_SPEED = -O3 -march=native -funroll-loops -finline-functions \
 | ||||||
|  |                 -ffast-math -fno-exceptions -fno-stack-protector -fno-rtti \
 | ||||||
|  |                 -ffunction-sections -fdata-sections -fno-math-errno \
 | ||||||
|  |                 -fmerge-all-constants -fno-ident -mfpmath=387 \
 | ||||||
|  |                 -mfancy-math-387 -s -flto -fno-asynchronous-unwind-tables \
 | ||||||
|  |                 -fsingle-precision-constant | ||||||
|  | 
 | ||||||
|  | # Linker flags (common for both targets)
 | ||||||
|  | LDFLAGS = -Wl,-z,norelro -Wl,--hash-style=gnu -Wl,--build-id=none -Wl,--strip-all | ||||||
|  | 
 | ||||||
|  | # Makefile targets
 | ||||||
|  | all: optimize-size optimize-speed | ||||||
|  | 
 | ||||||
|  | optimize-size: $(OUTPUT_SIZE) | ||||||
|  | 
 | ||||||
|  | optimize-speed: $(OUTPUT_SPEED) | ||||||
|  | 
 | ||||||
|  | $(OUTPUT_SIZE): $(SOURCES) | ||||||
|  | 	$(CXX) $(CXXFLAGS_SIZE) $(LDFLAGS) $(SOURCES) -o ../bin/$(OUTPUT_SIZE) | ||||||
|  | 
 | ||||||
|  | $(OUTPUT_SPEED): $(SOURCES) | ||||||
|  | 	$(CXX) $(CXXFLAGS_SPEED) $(LDFLAGS) $(SOURCES) -o ../bin/$(OUTPUT_SPEED) | ||||||
|  | 
 | ||||||
|  | clean: | ||||||
|  | 	rm -f $(OUTPUT_SIZE) $(OUTPUT_SPEED) | ||||||
|  | 
 | ||||||
|  | .PHONY: all optimize-size optimize-speed clean | ||||||
							
								
								
									
										10
									
								
								cpp/tinierfetch.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								cpp/tinierfetch.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | #include <iostream> | ||||||
|  | #define l getenv | ||||||
|  | #define i << | ||||||
|  | int main() { | ||||||
|  |   std::cout i "\e[31muser:\e[0m " i l("USER") i "\n\e[32msh:\e[0m " i l("SHELL") | ||||||
|  |       i "\n\e[33mterm:\e[0m " i l("TERM") i "\n\e[34mlocale:\e[0m " i l("LANG") | ||||||
|  |           i "\n\x1b[35mcolors: \x1b[0m\x1b[41m \x1b[42m \x1b[43m \x1b[44m " | ||||||
|  |             "\x1b[45m \x1b[0m\n"; | ||||||
|  |   return 0; | ||||||
|  | } | ||||||
							
								
								
									
										3
									
								
								go/go.mod
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								go/go.mod
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | module tinierfetch-go | ||||||
|  | 
 | ||||||
|  | go 1.20 | ||||||
							
								
								
									
										15
									
								
								go/main.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								go/main.go
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | package main | ||||||
|  | 
 | ||||||
|  | import "os" | ||||||
|  | 
 | ||||||
|  | func main() { | ||||||
|  | 	e := []string{"USER", "SHELL", "TERM", "LANG"} | ||||||
|  | 	c := []string{"31", "32", "33", "34"} | ||||||
|  | 	r := "\033[0m" | ||||||
|  | 
 | ||||||
|  | 	for i, v := range e { | ||||||
|  | 		os.Stdout.WriteString("\033[0;" + c[i] + "m" + v + ":\033[0m " + os.Getenv(v) + "\n") | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	os.Stdout.WriteString("\033[35mcolors: \033[0m\033[41m \033[42m \033[43m \033[44m \033[45m " + r + "\n") | ||||||
|  | } | ||||||
							
								
								
									
										7
									
								
								rs/Cargo.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								rs/Cargo.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | # This file is automatically @generated by Cargo. | ||||||
|  | # It is not intended for manual editing. | ||||||
|  | version = 3 | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "tinierfetch-rs" | ||||||
|  | version = "0.1.0" | ||||||
							
								
								
									
										16
									
								
								rs/Cargo.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								rs/Cargo.toml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | ||||||
|  | [package] | ||||||
|  | name = "tinierfetch-rs" | ||||||
|  | version = "0.1.0" | ||||||
|  | edition = "2021" | ||||||
|  | 
 | ||||||
|  | [[bin]] | ||||||
|  | name = "tinierfetch-rs" | ||||||
|  | path = "main.rs" | ||||||
|  | 
 | ||||||
|  | [profile.release] | ||||||
|  | strip = true | ||||||
|  | opt-level = "z" | ||||||
|  | lto = true | ||||||
|  | codegen-units = 1 | ||||||
|  | panic = "abort" | ||||||
|  | 
 | ||||||
							
								
								
									
										9
									
								
								rs/main.rs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								rs/main.rs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | ||||||
|  | use std::env; | ||||||
|  | 
 | ||||||
|  | fn main() { | ||||||
|  |     ["USER", "SHELL", "TERM", "LANG"] | ||||||
|  |         .iter() | ||||||
|  |         .for_each(|var| println!("{}: {}", var, env::var(var).unwrap_or_default())); | ||||||
|  | 
 | ||||||
|  |     println!("\x1B[35mcolors: \x1B[0m\x1B[41m \x1B[42m \x1B[43m \x1B[44m \x1B[45m \x1B[0m"); | ||||||
|  | } | ||||||
|  | @ -1,4 +0,0 @@ | ||||||
| #include <iostream> |  | ||||||
| #define e getenv |  | ||||||
| #define i << |  | ||||||
| int main() { std::cout i "\e[31muser:\e[0m " i e("USER") i "\n\e[32msh:\e[0m " i e("SHELL") i "\n\e[33mterm:\e[0m " i e("TERM") i "\n\e[34mlocale:\e[0m " i e("LANG") i "\n\x1b[35mcolors: \x1b[0m\x1b[41m \x1b[42m \x1b[43m \x1b[44m " "\x1b[45m \x1b[0m\n"; return 0;} |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue