From abcb0f62d70430beadc36ee5e96631834268815d Mon Sep 17 00:00:00 2001 From: Stefan Kalkowski Date: Tue, 20 May 2014 15:59:42 +0200 Subject: [PATCH] ports-foc: migrate to new ports mechanism Issue #1082 --- repos/ports-foc/Makefile | 102 +-------------------------- repos/ports-foc/mk/l4lx.mk | 12 ++-- repos/ports-foc/ports/l4android.hash | 1 + repos/ports-foc/ports/l4android.port | 15 ++++ repos/ports-foc/ports/l4linux.hash | 1 + repos/ports-foc/ports/l4linux.port | 13 ++++ 6 files changed, 37 insertions(+), 107 deletions(-) create mode 100644 repos/ports-foc/ports/l4android.hash create mode 100644 repos/ports-foc/ports/l4android.port create mode 100644 repos/ports-foc/ports/l4linux.hash create mode 100644 repos/ports-foc/ports/l4linux.port diff --git a/repos/ports-foc/Makefile b/repos/ports-foc/Makefile index 98ca5b375c..ba10c4fabf 100644 --- a/repos/ports-foc/Makefile +++ b/repos/ports-foc/Makefile @@ -1,101 +1 @@ -# -# \brief Checkout and patch L4Linux/L4android source code -# \author Stefan Kalkowski -# \date 2011-03-10 - -CONTRIB_DIR = contrib -VERBOSE ?= @ -ECHO = @echo -TARGET ?= l4linux - -PATCH-l4linux = -REV-l4linux = r37-3.9.0 -REPO-l4linux = https://github.com/ssumpf/l4linux.git - -PATCH-l4android = $(addprefix patches/,l4lx_genode.patch icmp_align.patch tcp_mem.patch android_binder.patch) -REV-l4android = bf83cc85e672bfafddc0fb85398129e427d6780f -REPO-l4android = git://git.l4android.org/kernel.git - -UPDATE_PATCH = $(word 1, $(PATCH-$(TARGET))) - -# -# Utility to check if a tool is installed -# -check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.)) - -$(call check_tool,patch) -$(call check_tool,bc) - -ifeq ($(TARGET), l4android) -$(call check_tool,git) -DIFF = git diff -UPDATE = cd $(REAL_CONTRIB_DIR)/l4android; git fetch; git reset --hard $(REV-l4android) -PATCH = patch -p0 -else -$(call check_tool,svn) -DIFF = git diff -UPDATE = cd $(REAL_CONTRIB_DIR)/l4linux; git fetch origin; git checkout $(REV-l4linux); \ - git rebase origin/$(REV-l4linux) -PATCH = patch -p0 -endif - - -# realpath is there to follow symlink; if contrib dir does not exists yet, -# create new directory -REAL_CONTRIB_DIR := $(realpath $(CONTRIB_DIR)) -ifeq ($(REAL_CONTRIB_DIR),) -REAL_CONTRIB_DIR := $(CONTRIB_DIR) -endif - -# -# Print help information by default -# -help: - $(ECHO) - $(ECHO) "Prepare the L4Linux/L4Android repository" - $(ECHO) - $(ECHO) "--- available commands ---" - $(ECHO) "prepare - checkout and patch the L4Linux/L4Android source code" - $(ECHO) "update-patch - updates patch to the original code" - $(ECHO) "clean - revert patch from fetched code" - $(ECHO) "cleanall - delete all fetched code" - $(ECHO) - $(ECHO) "Set the variable TARGET=l4android if you want to checkout," - $(ECHO) "update, or clean L4Android in contrast to L4Linux code." - $(ECHO) - -prepare: clean - $(VERBOSE)$(UPDATE) - $(ECHO) "applying patches to '$(REAL_CONTRIB_DIR)/$(TARGET)'" - $(VERBOSE)for i in $(PATCH-$(TARGET)); do $(PATCH) -d $(REAL_CONTRIB_DIR)/$(TARGET) < $$i; done - $(VERBOSE)ln -s $(shell pwd)/src/drivers $(REAL_CONTRIB_DIR)/$(TARGET)/arch/l4/drivers - $(ECHO) - $(ECHO) "Preparation completed!" - $(ECHO) "Now, go to your Genode build directory and type 'make $(TARGET)'." - $(ECHO) "Hint: don't forget to put '$(shell pwd)' " - $(ECHO) " as a repository into your build.conf" - $(ECHO) - -$(CONTRIB_DIR): - $(VERBOSE)mkdir -p $@ - -$(REAL_CONTRIB_DIR)/l4linux: - $(VERBOSE)git clone $(REPO-l4linux) $@ - -$(REAL_CONTRIB_DIR)/l4android: - $(VERBOSE)git clone $(REPO-l4android) $@ - -update-patch: - $(ECHO) "Save changes to original code in $(UPDATE_PATCH)" - $(VERBOSE)(cd $(REAL_CONTRIB_DIR)/$(TARGET); LC_COLLATE=C $(DIFF)) > $(UPDATE_PATCH) || true - -clean: clean-$(TARGET) - $(VERBOSE)rm -f $(CONTRIB_DIR)/$(TARGET)/arch/l4/drivers - -clean-l4linux: $(REAL_CONTRIB_DIR)/$(TARGET) - -clean-l4android: $(REAL_CONTRIB_DIR)/$(TARGET) - $(VERBOSE)cd $(REAL_CONTRIB_DIR)/l4android; git checkout -f - -cleanall: - $(VERBOSE)rm -rf $(CONTRIB_DIR) +include ../../tool/prepare.mk diff --git a/repos/ports-foc/mk/l4lx.mk b/repos/ports-foc/mk/l4lx.mk index b5afefccff..041db29045 100644 --- a/repos/ports-foc/mk/l4lx.mk +++ b/repos/ports-foc/mk/l4lx.mk @@ -9,16 +9,17 @@ GENODE_LIBS := $(foreach l,$(GENODE_LIBS),$(BUILD_BASE_DIR)/var/libcache/ GENODE_LIBS_SORTED = $(sort $(wildcard $(GENODE_LIBS))) GENODE_LIBS_SORTED += $(shell $(CC) $(CC_MARCH) -print-libgcc-file-name) -L4LX_BUILD = $(BUILD_BASE_DIR)/$(LX_TARGET) -L4LX_BINARY = $(L4LX_BUILD)/$(TARGET) -L4LX_SYMLINK = $(BUILD_BASE_DIR)/bin/$(LX_TARGET) -L4LX_CONFIG = $(L4LX_BUILD)/.config +L4LX_CONTRIB_DIR := $(call select_from_ports,$(LX_TARGET))/src +L4LX_BUILD = $(BUILD_BASE_DIR)/$(LX_TARGET) +L4LX_BINARY = $(L4LX_BUILD)/$(TARGET) +L4LX_SYMLINK = $(BUILD_BASE_DIR)/bin/$(LX_TARGET) +L4LX_CONFIG = $(L4LX_BUILD)/.config $(TARGET): $(L4LX_BINARY) $(L4LX_BINARY): $(L4LX_CONFIG) $(VERBOSE_MK)$(MAKE) $(VERBOSE_DIR) \ - -C $(REP_DIR)/contrib/$(LX_TARGET) \ + -C $(L4LX_CONTRIB_DIR)/$(LX_TARGET) \ O=$(L4LX_BUILD) \ CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \ CC="$(CC)" \ @@ -36,4 +37,3 @@ clean: $(VERBOSE)rm -rf $(L4LX_BUILD) .PHONY: $(L4LX_BINARY) - diff --git a/repos/ports-foc/ports/l4android.hash b/repos/ports-foc/ports/l4android.hash new file mode 100644 index 0000000000..2995a4d0e7 --- /dev/null +++ b/repos/ports-foc/ports/l4android.hash @@ -0,0 +1 @@ +dummy \ No newline at end of file diff --git a/repos/ports-foc/ports/l4android.port b/repos/ports-foc/ports/l4android.port new file mode 100644 index 0000000000..3fa3c3294f --- /dev/null +++ b/repos/ports-foc/ports/l4android.port @@ -0,0 +1,15 @@ +LICENSE := GPLv2 +VERSION := git +DOWNLOADS := l4android.git +URL(l4android) := http://git.l4android.org/kernel +REV(l4android) := bf83cc85e672bfafddc0fb85398129e427d6780f +DIR(l4android) := src/l4android +PATCH_OPT := -p0 -d src/l4android +PATCHES = $(addprefix $(REP_DIR)/patches/,l4lx_genode.patch icmp_align.patch tcp_mem.patch android_binder.patch) +sym_link := src/l4android/arch/l4/drivers + +default: $(sym_link) + +# make sure to have downloaded the files before symlinking into it +$(sym_link) : $(DOWNLOADS) + $(VERBOSE)ln -sfT $(REP_DIR)/src/drivers $@ diff --git a/repos/ports-foc/ports/l4linux.hash b/repos/ports-foc/ports/l4linux.hash new file mode 100644 index 0000000000..2995a4d0e7 --- /dev/null +++ b/repos/ports-foc/ports/l4linux.hash @@ -0,0 +1 @@ +dummy \ No newline at end of file diff --git a/repos/ports-foc/ports/l4linux.port b/repos/ports-foc/ports/l4linux.port new file mode 100644 index 0000000000..d857590a28 --- /dev/null +++ b/repos/ports-foc/ports/l4linux.port @@ -0,0 +1,13 @@ +LICENSE := GPLv2 +VERSION := git +DOWNLOADS := l4linux.git +URL(l4linux) := https://github.com/ssumpf/l4linux.git +REV(l4linux) := 75354b3f0f6ed7b9ebec118670213062c5a4c78e +DIR(l4linux) := src/l4linux +sym_link := src/l4linux/arch/l4/drivers + +default: $(sym_link) + +# make sure to have downloaded the files before symlinking into it +$(sym_link) : $(DOWNLOADS) + $(VERBOSE)ln -sfT $(REP_DIR)/src/drivers $@