build fixes
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
name = "rlogg"
|
name = "rlogg"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
authors = ["Your Name <your.email@example.com>"]
|
authors = ["Stanislav Pastushenko <staspast1@gmail.com>"]
|
||||||
description = "A fast log file viewer with search, filtering, and highlighting capabilities"
|
description = "A fast log file viewer with search, filtering, and highlighting capabilities"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
repository = "https://github.com/yourusername/rlogg"
|
repository = "https://github.com/yourusername/rlogg"
|
||||||
|
|||||||
11
Cross.toml
11
Cross.toml
@@ -1,5 +1,10 @@
|
|||||||
# Cross-compilation configuration for the 'cross' tool
|
# Cross-compilation configuration for the 'cross' tool
|
||||||
|
|
||||||
|
# Build configuration - ensure build scripts run in container
|
||||||
|
[build]
|
||||||
|
# Run build scripts in the cross container to avoid GLIBC mismatches
|
||||||
|
default-target = "x86_64-pc-windows-gnu"
|
||||||
|
|
||||||
# Windows GNU target (MinGW) - fully supported
|
# Windows GNU target (MinGW) - fully supported
|
||||||
[target.x86_64-pc-windows-gnu]
|
[target.x86_64-pc-windows-gnu]
|
||||||
# Use edge image with newer GLIBC to avoid build script issues
|
# Use edge image with newer GLIBC to avoid build script issues
|
||||||
@@ -10,6 +15,12 @@ pre-build = [
|
|||||||
"dpkg --add-architecture i386",
|
"dpkg --add-architecture i386",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Build environment configuration
|
||||||
|
[build.env]
|
||||||
|
passthrough = [
|
||||||
|
"CARGO_BUILD_TARGET",
|
||||||
|
]
|
||||||
|
|
||||||
# Note: MSVC target is not supported by cross from Linux
|
# Note: MSVC target is not supported by cross from Linux
|
||||||
# MSVC requires proprietary Microsoft tools that only run on Windows
|
# MSVC requires proprietary Microsoft tools that only run on Windows
|
||||||
# Use the GNU target for Windows cross-compilation from Linux
|
# Use the GNU target for Windows cross-compilation from Linux
|
||||||
|
|||||||
@@ -13,6 +13,11 @@ GREEN='\033[0;32m'
|
|||||||
YELLOW='\033[1;33m'
|
YELLOW='\033[1;33m'
|
||||||
NC='\033[0m' # No Color
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
|
# Extract version from Cargo.toml
|
||||||
|
VERSION=$(grep -m1 '^version = ' Cargo.toml | sed 's/version = "\(.*\)"/\1/')
|
||||||
|
echo "Version: $VERSION"
|
||||||
|
echo ""
|
||||||
|
|
||||||
# Create dist directory
|
# Create dist directory
|
||||||
DIST_DIR="dist"
|
DIST_DIR="dist"
|
||||||
mkdir -p "$DIST_DIR"
|
mkdir -p "$DIST_DIR"
|
||||||
@@ -27,15 +32,15 @@ build_target() {
|
|||||||
if cargo build --release --target "$target"; then
|
if cargo build --release --target "$target"; then
|
||||||
echo -e "${GREEN}✓ Build successful for $name${NC}"
|
echo -e "${GREEN}✓ Build successful for $name${NC}"
|
||||||
|
|
||||||
# Copy binary to dist directory
|
# Copy binary to dist directory with version
|
||||||
if [[ "$target" == *"windows"* ]]; then
|
if [[ "$target" == *"windows"* ]]; then
|
||||||
cp "target/$target/release/rlogg.exe" "$DIST_DIR/rlogg-$name.exe"
|
cp "target/$target/release/rlogg.exe" "$DIST_DIR/rlogg-$VERSION-$name.exe"
|
||||||
echo -e "${GREEN}✓ Binary copied to $DIST_DIR/rlogg-$name.exe${NC}"
|
echo -e "${GREEN}✓ Binary copied to $DIST_DIR/rlogg-$VERSION-$name.exe${NC}"
|
||||||
else
|
else
|
||||||
cp "target/$target/release/rlogg" "$DIST_DIR/rlogg-$name"
|
cp "target/$target/release/rlogg" "$DIST_DIR/rlogg-$VERSION-$name"
|
||||||
# Strip binary on Unix-like systems
|
# Strip binary on Unix-like systems
|
||||||
strip "$DIST_DIR/rlogg-$name" 2>/dev/null || true
|
strip "$DIST_DIR/rlogg-$VERSION-$name" 2>/dev/null || true
|
||||||
echo -e "${GREEN}✓ Binary copied to $DIST_DIR/rlogg-$name${NC}"
|
echo -e "${GREEN}✓ Binary copied to $DIST_DIR/rlogg-$VERSION-$name${NC}"
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -14,6 +14,11 @@ YELLOW='\033[1;33m'
|
|||||||
BLUE='\033[0;34m'
|
BLUE='\033[0;34m'
|
||||||
NC='\033[0m' # No Color
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
|
# Extract version from Cargo.toml
|
||||||
|
VERSION=$(grep -m1 '^version = ' Cargo.toml | sed 's/version = "\(.*\)"/\1/')
|
||||||
|
echo "Version: $VERSION"
|
||||||
|
echo ""
|
||||||
|
|
||||||
# Create dist directory
|
# Create dist directory
|
||||||
DIST_DIR="dist"
|
DIST_DIR="dist"
|
||||||
mkdir -p "$DIST_DIR"
|
mkdir -p "$DIST_DIR"
|
||||||
@@ -37,17 +42,21 @@ build_with_cross() {
|
|||||||
echo -e "${BLUE}=== Building for $name ===${NC}"
|
echo -e "${BLUE}=== Building for $name ===${NC}"
|
||||||
echo -e "${YELLOW}Target: $target${NC}"
|
echo -e "${YELLOW}Target: $target${NC}"
|
||||||
|
|
||||||
|
# Clean build artifacts to avoid GLIBC mismatch with build scripts
|
||||||
|
echo -e "${YELLOW}Cleaning build artifacts...${NC}"
|
||||||
|
cargo clean --release --target "$target"
|
||||||
|
|
||||||
if cross build --release --target "$target"; then
|
if cross build --release --target "$target"; then
|
||||||
echo -e "${GREEN}✓ Build successful for $name${NC}"
|
echo -e "${GREEN}✓ Build successful for $name${NC}"
|
||||||
|
|
||||||
# Copy binary to dist directory
|
# Copy binary to dist directory with version
|
||||||
if [[ "$target" == *"windows"* ]]; then
|
if [[ "$target" == *"windows"* ]]; then
|
||||||
cp "target/$target/release/rlogg.exe" "$DIST_DIR/rlogg-$name.exe"
|
cp "target/$target/release/rlogg.exe" "$DIST_DIR/rlogg-$VERSION-$name.exe"
|
||||||
echo -e "${GREEN}✓ Binary: $DIST_DIR/rlogg-$name.exe${NC}"
|
echo -e "${GREEN}✓ Binary: $DIST_DIR/rlogg-$VERSION-$name.exe${NC}"
|
||||||
else
|
else
|
||||||
cp "target/$target/release/rlogg" "$DIST_DIR/rlogg-$name"
|
cp "target/$target/release/rlogg" "$DIST_DIR/rlogg-$VERSION-$name"
|
||||||
strip "$DIST_DIR/rlogg-$name" 2>/dev/null || true
|
strip "$DIST_DIR/rlogg-$VERSION-$name" 2>/dev/null || true
|
||||||
echo -e "${GREEN}✓ Binary: $DIST_DIR/rlogg-$name${NC}"
|
echo -e "${GREEN}✓ Binary: $DIST_DIR/rlogg-$VERSION-$name${NC}"
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
@@ -63,9 +72,9 @@ build_native() {
|
|||||||
|
|
||||||
if cargo build --release; then
|
if cargo build --release; then
|
||||||
echo -e "${GREEN}✓ Build successful for Linux${NC}"
|
echo -e "${GREEN}✓ Build successful for Linux${NC}"
|
||||||
cp "target/release/rlogg" "$DIST_DIR/rlogg-linux-x86_64"
|
cp "target/release/rlogg" "$DIST_DIR/rlogg-$VERSION-linux-x86_64"
|
||||||
strip "$DIST_DIR/rlogg-linux-x86_64" 2>/dev/null || true
|
strip "$DIST_DIR/rlogg-$VERSION-linux-x86_64" 2>/dev/null || true
|
||||||
echo -e "${GREEN}✓ Binary: $DIST_DIR/rlogg-linux-x86_64${NC}"
|
echo -e "${GREEN}✓ Binary: $DIST_DIR/rlogg-$VERSION-linux-x86_64${NC}"
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
echo -e "${RED}✗ Build failed for Linux${NC}"
|
echo -e "${RED}✗ Build failed for Linux${NC}"
|
||||||
|
|||||||
Reference in New Issue
Block a user