From 82d18f04475d1984971e520c7c168cf4b7f11bd4 Mon Sep 17 00:00:00 2001 From: Robert Kuban Date: Fri, 19 Aug 2022 16:58:26 +0200 Subject: [PATCH] Include internal headers only for building musl. Before, musl has exposed internal headers to other code, now the include paths are added to the appropriate variable. Signed-off-by: Robert Kuban Reviewed-by: Sergiu Moga Reviewed-by: Razvan Deaconescu Approved-by: Razvan Deaconescu Tested-by: Unikraft CI GitHub-Closes: #13 --- Makefile.rules | 9 ++++++--- Makefile.uk | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile.rules b/Makefile.rules index 53e8477..d7f5fc7 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -18,13 +18,16 @@ $(LIBMUSL_BUILD)/include/$(1)/%.h: $(call verbose_cmd,HOSTLN,libmusl: $(1): $$(subst $(LIBMUSL_BUILD)/include/$(1)/,,$$@), \ ln -sf $$(subst $(LIBMUSL_BUILD)/include/$(1)/,$(LIBMUSL),$$@) $$@) -LIBMUSL_$(call uc,$(1))_INCLUDES-y += -I$(LIBMUSL_BUILD)/include/$(1)/include +# includes for building libmusl LIBMUSL_$(call uc,$(1))_INCLUDES-y += -I$(LIBMUSL_BUILD)/include/$(1)/src/internal LIBMUSL_$(call uc,$(1))_INCLUDES-y += -I$(LIBMUSL_BUILD)/include/$(1)/src/$(1) LIBMUSL_SRCS-y += $(3) +LIBMUSL_CINCLUDES-y += $$(LIBMUSL_$(call uc,$(1))_INCLUDES-y) +LIBMUSL_CXXINCLUDES-y += $$(LIBMUSL_$(call uc,$(1))_INCLUDES-y) -CINCLUDES-y += $$(LIBMUSL_$(call uc,$(1))_INCLUDES-y) -CXXINCLUDES-y += $$(LIBMUSL_$(call uc,$(1))_INCLUDES-y) +# includes for using libmusl +CINCLUDES-y += -I$(LIBMUSL_BUILD)/include/$(1)/include +CXXINCLUDES-y += -I$(LIBMUSL_BUILD)/include/$(1)/include # Append the sub library directory to the include path $(LIBMUSL_BUILD)/.prepared: $(subst $(LIBMUSL),$(LIBMUSL_BUILD)/include/$(1),$(2)) diff --git a/Makefile.uk b/Makefile.uk index 3cff232..e8f2813 100644 --- a/Makefile.uk +++ b/Makefile.uk @@ -94,7 +94,7 @@ $(LIBMUSL)/arch/$(MUSL_ARCH)/bits/alltypes.h: $(LIBMUSL_BUILD)/.patched # generate version.h $(LIBMUSL)/src/internal/version.h: $(call verbose_cmd,CONFIGURE,libmusl: $(notdir $@),\ - printf '#define VERSION "%s"\n' "$$(cd $(LIBMUSL); sh tools/version.sh)" > $@ \ + printf '#define VERSION "%s"\n' "$$(cd $(LIBMUSL); sh tools/version.sh)" > $@ && \ $(TOUCH) $@) UK_PREPARE += $(LIBMUSL)/arch/$(MUSL_ARCH)/bits/alltypes.h @@ -139,6 +139,7 @@ LIBMUSLGLUE_SRCS-y += $(LIBMUSL_BASE)/mem.c LIBMUSLGLUE_SRCS-y += $(LIBMUSL_BASE)/__uk_init_tls.c LIBMUSLGLUE_SRCS-y += $(LIBMUSL_BASE)/__uk_unmapself.c LIBMUSLGLUE_SRCS-y += $(LIBMUSL_BASE)/__set_thread_area.c +LIBMUSLGLUE_CINCLUDES += -I$(LIBMUSL)/src/internal ################################################################################ # Core Standard Library -- 2.39.5