Merged to master at 8dff9e88bf22..ea4a8d9099a9 (from, to]

You can see the entire diff with 'git diff' or at
https://github.com/brho/akaros/compare/8dff9e88bf22...ea4a8d9099a9



On 2017-04-25 at 11:04 Barret Rhoden <[email protected]> wrote:
> In commit 3035c3db676f ("user/vmm: add and use a load_elf function")
> we established a dependency from VMM to elfutils.  However, vmm was
> getting installed during the toolchain installation (through make
> install-libs).  This was before elfutils was installed.
> 
> Breaking user-dirs into the base libraries that are expected to go with
> the toolchain and 'extra' libraries that other code (e.g. vmrunkernel
> and dune) needs does the trick.  Mostly - perfmon should also be an
> 'extra' library, but due to the way our apps-install works, it won't
> work out.  The longer range solution is to make actual packages for
> perfmon and vmm and have them get built and installed via a package
> management system.
> 
> Rebuild your toolchain, if you want to make sure this works.
> 
> Signed-off-by: Barret Rhoden <[email protected]>
> ---
>  Makefile                           | 22 +++++++++++++++-------
>  tools/compilers/gcc-glibc/Makefile |  2 +-
>  2 files changed, 16 insertions(+), 8 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 0bbc408ead02..6d126995ed9d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -591,15 +591,23 @@ endif #ifeq ($(mixed-targets),1)
>  # List all userspace directories here, and state any dependencies between 
> them,
>  # such as how pthread depends on parlib.
>  
> -user-dirs = parlib pthread benchutil iplib ndblib vmm perfmon
> +# Critical libraries, also built during the toolchain install
> +user-base-dirs = parlib pthread benchutil iplib ndblib perfmon
>  benchutil: parlib
>  pthread: parlib benchutil
>  iplib: parlib
>  ndblib: iplib
> -vmm: parlib benchutil iplib ndblib
>  
> -PHONY += install-libs $(user-dirs)
> -install-libs: $(user-dirs) symlinks cc-exists
> +# Higher-level libraries.  Built before tests/, but after apps-install.
> +# TODO: would like to move perfmon here, since it's not meant to be 
> low-level.
> +# But the apps-install has perf, which depends on user/perfmon.
> +user-extra-dirs = vmm
> +$(user-extra-dirs): $(user-base-dirs)
> +
> +user-dirs = $(user-base-dirs) $(user-extra-dirs)
> +
> +PHONY += install-base-libs $(user-dirs)
> +install-base-libs: $(user-base-dirs) symlinks cc-exists
>  
>  $(user-dirs):
>       @$(MAKE) -C user/$@ DEPLIBS="$^" && $(MAKE) -C user/$@ install
> @@ -614,7 +622,7 @@ $(clean-user-dirs):
>       @$(MAKE) -C user/$(patsubst _clean_user_%,%,$@) clean
>  
>  tests/: tests
> -tests: install-libs
> +tests: user
>       @$(MAKE) -f tests/Makefile
>  
>  PHONY += utest
> @@ -642,7 +650,7 @@ $(OBJDIR)/.dont-force-fill-kfs:
>       @echo "User space tests removed from KFS"
>       @touch $(OBJDIR)/.dont-force-fill-kfs
>  
> -fill-kfs: $(OBJDIR)/.dont-force-fill-kfs install-libs tests
> +fill-kfs: $(OBJDIR)/.dont-force-fill-kfs user tests
>       @mkdir -p $(FIRST_KFS_PATH)/lib
>       $(Q)cp -uP $(xcc-so-files) $(FIRST_KFS_PATH)/lib
>       @echo "Cross Compiler 'so' files installed to KFS"
> @@ -737,7 +745,7 @@ $(xcc_subcmd_goals):
>  PHONY += xcc-upgrade
>  xcc-upgrade: xcc
>       @$(MAKE) userclean
> -     @$(MAKE) install-libs
> +     @$(MAKE) install-base-libs
>       @$(MAKE) testclean utestclean
>       @$(call make_as_parent, apps-clean)
>       @$(call make_as_parent, apps-install)
> diff --git a/tools/compilers/gcc-glibc/Makefile 
> b/tools/compilers/gcc-glibc/Makefile
> index 5d8ef20868b7..d4a92a10de00 100644
> --- a/tools/compilers/gcc-glibc/Makefile
> +++ b/tools/compilers/gcc-glibc/Makefile
> @@ -613,7 +613,7 @@ $(BINARY_PREFIX)glibc-stage2-builddir: 
> glibc-$(GLIBC_VERSION)
>  .$(BINARY_PREFIX)akaros-libs-install:
>       cd $(AKAROSDIR); \
>       make ARCH=$(AKAROS_ARCH_DIR) userclean; \
> -     make ARCH=$(AKAROS_ARCH_DIR) -j $(MAKE_JOBS) install-libs
> +     make ARCH=$(AKAROS_ARCH_DIR) -j $(MAKE_JOBS) install-base-libs
>  
>  ##################################
>  ########### Gcc Stage 3 ##########

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to