Browse Source

Add cross-compilation support.

I.e. add HOSTCXX etc make variables, and use the host compiler when
compiling mconfig-gen.
Davin McCall 4 years ago
parent
commit
42af08ecd2
2 changed files with 6 additions and 2 deletions
  1. 1 1
      configs/mconfig.Linux
  2. 5 1
      src/Makefile

+ 1 - 1
configs/mconfig.Linux

@@ -11,6 +11,6 @@ SYSCONTROLSOCKET=/dev/dinitctl
 # the new ABI. See BUILD file for more information.
 CXX=g++
 CXXOPTS=-D_GLIBCXX_USE_CXX11_ABI=1 -std=c++11 -Os -Wall -fno-rtti -fno-plt -flto
-LDFLAGS=-flto
+LDFLAGS=-flto -Os
 BUILD_SHUTDOWN=yes
 SANITIZEOPTS=-fsanitize=address,undefined

+ 5 - 1
src/Makefile

@@ -1,5 +1,9 @@
 include ../mconfig
 
+HOSTCXX ?= $(CXX)
+HOSTCXXFLAGS ?= $(CXXFLAGS)
+HOSTLDFLAGS ?= $(LDFLAGS)
+
 ifeq ($(BUILD_SHUTDOWN),yes)
   SHUTDOWN=shutdown
 endif
@@ -26,7 +30,7 @@ includes/mconfig.h: mconfig-gen
 		$(if $(USE_UTMPX),USE_UTMPX=$(USE_UTMPX),) > includes/mconfig.h
 
 mconfig-gen: mconfig-gen.cc ../mconfig
-	$(CXX) $(CXXOPTS) -o mconfig-gen mconfig-gen.cc $(LDFLAGS)
+	$(HOSTCXX) $(HOSTCXXOPTS) -o mconfig-gen mconfig-gen.cc $(HOSTLDFLAGS)
 
 $(dinit_objects): includes/mconfig.h