[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[MULTIBOOT2 SPEC PATCH v4 19/27] multiboot2: Set -nostdlib before AC_PRO
From: |
Hans Ulrich Niedermann |
Subject: |
[MULTIBOOT2 SPEC PATCH v4 19/27] multiboot2: Set -nostdlib before AC_PROG_CC for x-compile |
Date: |
Fri, 15 May 2020 05:43:42 +0200 |
Set -nostdlib in CFLAGS and LDFLAGS before AC_PROG_CC if we
appear to be cross-compiling.
This makes the example kernel build work on my x86_64 system
with both
* native compile to generate i386 example kernel
./configure --enable-example-kernel
* cross-compile to generate mips example kernel
./configure --host=mips64-linux-gnu --enable-example-kernel
It remains to be verified how this works on other systems,
namely native mips systems, and non-x86 systems like arm.
Signed-off-by: Hans Ulrich Niedermann <address@hidden>
diff --git a/configure.ac b/configure.ac
index 830b1f57e..6b0718451 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,11 +22,18 @@ AM_INIT_AUTOMAKE([1.10.1])
# Programs
#
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+
+AS_IF([test "x$host" != "x$build"], [dnl
+ CFLAGS="-nostdlib $CFLAGS"
+ LDFLAGS="-nostdlib $LDFLAGS"
+])
+
AC_PROG_CC
AM_PROG_AS
dnl Build the example Multiboot2 kernel (if possible on this host)
-AC_CANONICAL_HOST
kernel_boot_arch=unsupported
kernel_ccasflags=
kernel_cflags=
@@ -57,8 +64,6 @@ AM_CONDITIONAL([BUILD_EXAMPLE_KERNEL],
[test "x$enable_example_kernel" = xyes &&
test "x$kernel_boot_arch" != "xunsupported"])
-CFLAGS="-nostdlib $CFLAGS"
-
dnl Output.
AC_CONFIG_FILES([Makefile doc/Makefile])
AC_OUTPUT
--
2.26.2
- [MULTIBOOT2 SPEC PATCH v4 09/27] multiboot2: Use the constants by their proper names, (continued)
- [MULTIBOOT2 SPEC PATCH v4 09/27] multiboot2: Use the constants by their proper names, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 10/27] multiboot2: Rename boot.S to boot_i386.S, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 11/27] multiboot2: Add boot_i386.S to shipped files, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 12/27] multiboot2: Add boot_mips.S example code to docs, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 13/27] multiboot2: Build arch specific boot code, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 14/27] multiboot2: Fix example kernel header tag alignment, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 15/27] multiboot2: Remove unreferenced AOUT_KLUDGE, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 16/27] multiboot2: Change "Multiboot" in comments to "Multiboot2", Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 17/27] multiboot2: Clean up stack (cdecl calling conventions), Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 18/27] multiboot2: Use predefined #ifdef __ASSEMBLER__, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 19/27] multiboot2: Set -nostdlib before AC_PROG_CC for x-compile,
Hans Ulrich Niedermann <=
- [MULTIBOOT2 SPEC PATCH v4 20/27] multiboot2: mips build wants __start symbol, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 21/27] multiboot2: "make distcheck" with example kernel enabled, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 22/27] multiboot2: Always define the kernel_* vars, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 23/27] multiboot2: Generate per object file listings, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 24/27] multiboot2: Generate a kernel.map map file, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 25/27] multiboot2: Generate gcc temp files (*.i and *.s), Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 26/27] multiboot2: Generate symbol lists and disassembly file, Hans Ulrich Niedermann, 2020/05/14
- [MULTIBOOT2 SPEC PATCH v4 27/27] multiboot2: Add labels around the termination tag, Hans Ulrich Niedermann, 2020/05/14