kconfig: use pkg-config for ncurses detection
[akaros.git] / tools / compilers / gcc-glibc / Makefile
index dffba65..736499b 100644 (file)
@@ -1,15 +1,21 @@
 # Number of make jobs to spawn.  Define it in Makelocal
 MAKE_JOBS ?= $(shell expr `cat /proc/cpuinfo | grep processor | wc -l` - 1)
 
-BINUTILS_VERSION := 2.24
+BINUTILS_VERSION := 2.30
 GCC_VERSION := 4.9.2
 GLIBC_VERSION := 2.19
 GMP_VERSION := 5.1.3
 MPFR_VERSION := 3.1.2
 MPC_VERSION := 1.0.2
 
+ifndef AKAROS_TOOLCHAINS
+    $(error AKAROS_TOOLCHAINS is empty!  You must set it!)
+endif
+
 # Defines where to install the toolchain
--include Makelocal
+RISCV_INSTDIR         := $(AKAROS_TOOLCHAINS)/riscv-ucb-akaros-gcc/
+X86_64_INSTDIR        := $(AKAROS_TOOLCHAINS)/x86_64-ucb-akaros-gcc/
+X86_64_NATIVE_INSTDIR := $(AKAROS_TOOLCHAINS)/x86_64-ucb-akaros-gcc-native/
 
 define print-usage
        @echo "Usage: make <arch> [ <config> ] [ <subcmd> ] "
@@ -105,7 +111,7 @@ endif
 ifeq ($(ARCH),riscv)
     AKAROS_ARCH_DIR := riscv
     ARCH_CFLAGS :=
-    GLIBC_CONFIGURE_FLAGS := 
+    GLIBC_CONFIGURE_FLAGS :=
     GCC_BUILD_FLAGS :=
 endif
 ifeq ($(CONFIG),cross)
@@ -168,7 +174,7 @@ define BUILD_ERROR
     for this variable in there.
 endef
 BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
-endif 
+endif
 
 ifeq ($(CONFIG),native)
 ifeq ($(shell which $(ARCH)-ucb-akaros-gcc 2>/dev/null),)
@@ -234,25 +240,32 @@ unexport LD_LIBRARY_PATH
 check-env-real:
        @echo "    Your environment checks out. Build away!"
 
+define make_and_log
+       $(MAKE) $(1) > build_logs/$(2).log 2>&1
+       @echo "make $(2) succeeded"
+endef
+
 ifeq ($(CONFIG),cross)
 build-real:
-       $(MAKE) .$(BINARY_PREFIX)binutils-install
-       $(MAKE) .$(BINARY_PREFIX)gcc-stage1-install
-       $(MAKE) .$(BINARY_PREFIX)headers-clean
-       $(MAKE) .$(BINARY_PREFIX)akaros-headers-install
-       $(MAKE) .$(BINARY_PREFIX)dummy-libs-install
-       $(MAKE) .$(BINARY_PREFIX)glibc-stage1-install
-       $(MAKE) .$(BINARY_PREFIX)gcc-stage2-install
-       $(MAKE) .$(BINARY_PREFIX)glibc-stage2-install
-       $(MAKE) .$(BINARY_PREFIX)akaros-libs-install
-       $(MAKE) .$(BINARY_PREFIX)gcc-stage3-install
-       $(MAKE) .$(BINARY_PREFIX)gmp-install
-       $(MAKE) .$(BINARY_PREFIX)mpfr-install
-       $(MAKE) .$(BINARY_PREFIX)mpc-install
+       $(shell mkdir -p build_logs)
+       $(call make_and_log,.$(BINARY_PREFIX)binutils-install,$(BINARY_PREFIX)binutils-install)
+       $(call make_and_log,.$(BINARY_PREFIX)gcc-stage1-install,$(BINARY_PREFIX)gcc-stage1-install)
+       $(call make_and_log,.$(BINARY_PREFIX)headers-clean,$(BINARY_PREFIX)headers-clean)
+       $(call make_and_log,.$(BINARY_PREFIX)akaros-headers-install,$(BINARY_PREFIX)akaros-headers-install)
+       $(call make_and_log,.$(BINARY_PREFIX)dummy-libs-install,$(BINARY_PREFIX)dummy-libs-install)
+       $(call make_and_log,.$(BINARY_PREFIX)glibc-stage1-install,$(BINARY_PREFIX)glibc-stage1-install)
+       $(call make_and_log,.$(BINARY_PREFIX)gcc-stage2-install,$(BINARY_PREFIX)gcc-stage2-install)
+       $(call make_and_log,.$(BINARY_PREFIX)glibc-stage2-install,$(BINARY_PREFIX)glibc-stage2-install)
+       $(call make_and_log,.$(BINARY_PREFIX)akaros-libs-install,$(BINARY_PREFIX)akaros-libs-install)
+       $(call make_and_log,.$(BINARY_PREFIX)gcc-stage3-install,$(BINARY_PREFIX)gcc-stage3-install)
+       $(call make_and_log,.$(BINARY_PREFIX)gmp-install,$(BINARY_PREFIX)gmp-install)
+       $(call make_and_log,.$(BINARY_PREFIX)mpfr-install,$(BINARY_PREFIX)mpfr-install)
+       $(call make_and_log,.$(BINARY_PREFIX)mpc-install,$(BINARY_PREFIX)mpc-install)
 else
 build-real:
-       $(MAKE) .$(BINARY_PREFIX)binutils-install
-       $(MAKE) .$(BINARY_PREFIX)gcc-stage3-install
+       $(shell mkdir -p build_logs)
+       $(call make_and_log,.$(BINARY_PREFIX)binutils-install,$(BINARY_PREFIX)binutils-install)
+       $(call make_and_log,.$(BINARY_PREFIX)gcc-stage3-install,$(BINARY_PREFIX)gcc-stage3-install)
 endif
 
 uninstall-real:
@@ -277,7 +290,6 @@ binutils-$(BINUTILS_VERSION): binutils-$(BINUTILS_VERSION).tar.bz2
        rm -rf binutils-$(BINUTILS_VERSION);
        tar -jxf binutils-$(BINUTILS_VERSION).tar.bz2
        patch -p0 < binutils-$(BINUTILS_VERSION)-akaros.patch
-       patch --no-backup-if-mismatch -p0 < binutils-$(BINUTILS_VERSION)-riscv.patch
 
 $(BINARY_PREFIX)binutils-builddir: binutils-$(BINUTILS_VERSION)
        rm -rf $@
@@ -317,8 +329,8 @@ cross-binutils-configure:
                --disable-nls \
                --with-sysroot=$(SYSROOT)
 
-.$(BINARY_PREFIX)binutils-configure: 
-       $(MAKE) $(BINARY_PREFIX)binutils-builddir 
+.$(BINARY_PREFIX)binutils-configure:
+       $(MAKE) $(BINARY_PREFIX)binutils-builddir
        if [ "$(CONFIG)" = "native" ]; then \
                $(MAKE) native-binutils-configure; \
        else \
@@ -370,7 +382,7 @@ $(BINARY_PREFIX)gcc-stage1-builddir: gcc-$(GCC_VERSION)
        rm -rf $@
        mkdir -p $@
 
-.$(BINARY_PREFIX)gcc-stage1-configure: 
+.$(BINARY_PREFIX)gcc-stage1-configure:
        $(MAKE) $(BINARY_PREFIX)gcc-stage1-builddir
        cd $(BINARY_PREFIX)gcc-stage1-builddir; \
        CFLAGS="-O2 -g -pipe" \
@@ -418,7 +430,7 @@ $(BINARY_PREFIX)gcc-stage2-builddir: gcc-$(GCC_VERSION)
        rm -rf $@
        mkdir -p $@
 
-.$(BINARY_PREFIX)gcc-stage2-configure: 
+.$(BINARY_PREFIX)gcc-stage2-configure:
        $(MAKE) $(BINARY_PREFIX)gcc-stage2-builddir
        cd $(BINARY_PREFIX)gcc-stage2-builddir; \
        CFLAGS="-O2 -g -pipe" \
@@ -515,7 +527,7 @@ $(BINARY_PREFIX)glibc-stage1-builddir: glibc-$(GLIBC_VERSION)
        rm -rf $@
        mkdir -p $@
 
-.$(BINARY_PREFIX)glibc-stage1-configure: 
+.$(BINARY_PREFIX)glibc-stage1-configure:
        $(MAKE) $(BINARY_PREFIX)glibc-stage1-builddir;
        cd $(BINARY_PREFIX)glibc-stage1-builddir; \
        CFLAGS="$(ARCH_CFLAGS) -U_FORTIFY_SOURCE -g -O2 -pipe" \
@@ -567,7 +579,7 @@ $(BINARY_PREFIX)glibc-stage2-builddir: glibc-$(GLIBC_VERSION)
        rm -rf $@
        mkdir -p $@
 
-.$(BINARY_PREFIX)glibc-stage2-configure: 
+.$(BINARY_PREFIX)glibc-stage2-configure:
        $(MAKE) $(BINARY_PREFIX)glibc-stage2-builddir
        cd $(BINARY_PREFIX)glibc-stage2-builddir; \
        CFLAGS="$(ARCH_CFLAGS) -U_FORTIFY_SOURCE -g -O2 -pipe" \