Browse Source

Merge pull request #10503 from LoEE/jpc/master/git-macos-cross

git: fix cross compilation on macOS
lilik-openwrt-22.03
Rosen Penev 4 years ago
committed by GitHub
parent
commit
1eafc22afa
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 46 additions and 1 deletions
  1. +2
    -1
      net/git/Makefile
  2. +44
    -0
      net/git/patches/310-fix-uname-detection-for-crosscompiling

+ 2
- 1
net/git/Makefile View File

@ -98,7 +98,8 @@ MAKE_FLAGS := \
GITWEB_JS="/gitweb/gitweb.js" \
GITWEB_CSS="/gitweb/gitweb.css" \
GITWEB_LOGO="/gitweb/gitweb-logo.png" \
GITWEB_FAVICON="/gitweb/gitweb-favicon.png"
GITWEB_FAVICON="/gitweb/gitweb-favicon.png" \
uname_S="Linux" \
CONFIGURE_ARGS += \
--without-iconv \


+ 44
- 0
net/git/patches/310-fix-uname-detection-for-crosscompiling View File

@ -0,0 +1,44 @@
From 9dcf7e679c441b877b63ff8e6dfc3865af6c6720 Mon Sep 17 00:00:00 2001
From: Mauro Condarelli <mc5686 at mclink.it>
Date: Sun, 22 May 2016 20:44:26 +0200
Subject: [PATCH 1/1] Fix config.mak.uname to allow cross-compilation
Current implementation imperatively sets variables from "uname" output.
This breaks cross-compilation because uname is run on host while target
configuration may be different.
Make current behavior a non-imperative default, so it's possible to
force different values setting make variables.
To cross-compile it will be necessary to explicitly set the various
uname_X variables to values compatible with target.
No change is needed with normal host compilation.
Patch is trivial.
Signed-off-by: Mauro Condarelli <mc5686 at mclink.it>
---
config.mak.uname | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/config.mak.uname b/config.mak.uname
index 40d6b29..d933b23 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -1,11 +1,11 @@
# Platform specific Makefile tweaks based on uname detection
-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
-uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
-uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
-uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
-uname_P := $(shell sh -c 'uname -p 2>/dev/null || echo not')
-uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')
+uname_S ?= $(shell sh -c 'uname -s 2>/dev/null || echo not')
+uname_M ?= $(shell sh -c 'uname -m 2>/dev/null || echo not')
+uname_O ?= $(shell sh -c 'uname -o 2>/dev/null || echo not')
+uname_R ?= $(shell sh -c 'uname -r 2>/dev/null || echo not')
+uname_P ?= $(shell sh -c 'uname -p 2>/dev/null || echo not')
+uname_V ?= $(shell sh -c 'uname -v 2>/dev/null || echo not')
ifdef MSVC
# avoid the MingW and Cygwin configuration sections

Loading…
Cancel
Save