Browse Source

tool: remove deprecated 'make prepare' mechanism

Fix #1897
devel
Stefan Kalkowski 6 years ago committed by Christian Helmuth
parent
commit
5085ad36c3
  1. 17
      doc/getting_started.txt
  2. 1
      repos/base-fiasco/Makefile
  3. 9
      repos/base-fiasco/doc/fiasco.txt
  4. 2
      repos/base-fiasco/lib/mk/platform.inc
  5. 1
      repos/base-foc/Makefile
  6. 18
      repos/base-foc/doc/foc.txt
  7. 4
      repos/base-hw/doc/x86_64_muen.txt
  8. 27
      repos/base-nova/Makefile
  9. 6
      repos/base-nova/doc/nova.txt
  10. 23
      repos/base-okl4/Makefile
  11. 2
      repos/base-okl4/lib/mk/platform.inc
  12. 1
      repos/base-pistachio/Makefile
  13. 11
      repos/base-pistachio/doc/pistachio.txt
  14. 24
      repos/dde_bsd/Makefile
  15. 2
      repos/dde_bsd/README
  16. 25
      repos/dde_ipxe/Makefile
  17. 5
      repos/dde_ipxe/README
  18. 25
      repos/dde_linux/Makefile
  19. 25
      repos/dde_rump/Makefile
  20. 4
      repos/dde_rump/README
  21. 1
      repos/libports/Makefile
  22. 27
      repos/libports/README
  23. 9
      repos/libports/doc/libc.txt
  24. 2
      repos/libports/lib/mk/ncurses.mk
  25. 11
      repos/libports/src/test/python/README
  26. 1
      repos/ports-foc/Makefile
  27. 21
      repos/ports-foc/README
  28. 1
      repos/ports/Makefile
  29. 16
      repos/ports/doc/gdb.txt

17
doc/getting_started.txt

@ -64,12 +64,11 @@ different kernels such as L4/Fiasco, L4ka::Pistachio, OKL4, and NOVA. Those
kernels largely differ in terms of feature sets, build systems, tools, and boot
concepts. To relieve you from dealing with those peculiarities, Genode provides
you with an unified way of using them. For each kernel platform, there exists
a dedicated directory called 'base-<platform>'. Within this directory, you will
find a 'Makefile', which automates the task of downloading the source codes of
the kernel and interfacing the kernel with Genode. Just change to the
respective 'base-<platform>' directory and issue:
a dedicated description file that enables the 'prepare_port' tool to fetch and
prepare the designated 3rd-party sources. Just issue the following command
within the toplevel directory of the Genode source tree:
! make prepare
! ./tool/ports/prepare_port <platform>
Note that each 'base-<platform>' directory comes with a 'README' file, which
you should revisit first when exploring the base platform. Additionally, most
@ -77,10 +76,10 @@ you should revisit first when exploring the base platform. Additionally, most
respective 'doc/' subdirectories.
For the VESA driver on x86, the x86emu library is required and can be
downloaded and prepared by invoking the following command from within the
'libports' directory:
downloaded and prepared by again invoking the 3rd-party sources preparation
tool:
! make prepare PKG=x86emu
! ./tool/ports/prepare_port x86emu
Now that the base platform is prepared, the 'create_builddir' tool can be used
to create a build directory for your platform of choice by giving the platform
@ -92,7 +91,7 @@ steps are required:
# Download the kernel:
! cd <genode-dir>
! make -C repos/base-okl4 prepare
! ./tool/ports/prepare_port okl4
# Create a build directory
! ./tool/create_builddir okl4_x86 BUILD_DIR=build.okl4
# Uncomment the following line in 'build.okl4/etc/build.conf'

1
repos/base-fiasco/Makefile

@ -1 +0,0 @@
include ../../tool/prepare.mk

9
repos/base-fiasco/doc/fiasco.txt

@ -40,15 +40,14 @@ Information about Fiasco are provided at its official website:
! http://os.inf.tu-dresden.de/fiasco/prev/
To download the kernel and integrate it with Genode, issue the following
command from within the 'base-fiasco' directory:
command from within the toplevel directory:
! make prepare
! ./tool/ports/prepare_port fiasco
For the vesa driver on x86 the x86emu library is required and can be downloaded
and prepared by invoking the following command from within the 'libports'
directory:
and prepared by invoking the following command:
! make prepare PKG=x86emu
! ./tool/ports/prepare_port x86emu
This command will download a prepackaged version of the kernel tested
with Genode. The build process of the kernel is integrated with Genode's

2
repos/base-fiasco/lib/mk/platform.inc

@ -19,7 +19,7 @@ ifeq ($(L4_BUILD_DIR),$(BUILD_BASE_DIR)/l4)
all: $(L4_SRC_DIR)
$(L4_SRC_DIR):
$(VERBOSE)$(ECHO) "--> Please, execute 'make prepare' in $(REP_DIR)"
$(VERBOSE)$(ECHO) "--> Please, execute './tool/ports/prepare_port fiasco' in $(GENODE_DIR)"
$(VERBOSE)$(ECHO) "--> before compiling Genode apps for Fiasco."
$(VERBOSE)exit 1
endif

1
repos/base-foc/Makefile

@ -1 +0,0 @@
include ../../tool/prepare.mk

18
repos/base-foc/doc/foc.txt

@ -46,19 +46,16 @@ The current version of Genode is available at the public subversion repository:
After you've fetched the Genode source tree from the subversion repository, or
downloaded the latest release tar archive, you need the Fiasco.OC source code,
its kernel-bindings, additional bootstrap tools etc. To simplify that step,
you can use a Makefile in the 'base-foc' directory of the Genode source tree,
just do:
you can use the 'prepare_port' tool:
! cd base-foc
! make prepare
! ./tool/ports/prepare_port foc
This will install all necessary third-party source code in the 'contrib' folder.
For the vesa driver on x86 the x86emu library is required and can be downloaded
and prepared by invoking the following command from within the 'libports'
directory:
and prepared by invoking the following command:
! make prepare PKG=x86emu
! ./tool/ports/prepare_port x86emu
Now, go to a directory where you want the Genode/Fiasco.OC build directory to
remain. Use the helper script in the 'tool' directory of the Genode
@ -89,11 +86,10 @@ instead of building everything:
Running L4Linux on top of Genode
################################
To get the L4Linux running on top of Genode, you have to change to the
'ports-foc' repository within your Genode source tree and do a 'make prepare':
To get the L4Linux running on top of Genode, you have to change prepare its
sources:
! cd ports-foc
! make prepare
! ./tool/ports/prepare_port l4linux
This will fetch the currently supported version from the L4Linux subversion
repository, and apply a patch to it, that is needed to execute it on top of

4
repos/base-hw/doc/x86_64_muen.txt

@ -29,12 +29,12 @@ To automatically download the Muen kernel and integrate it with Genode, issue
the following commands:
! cd <genode_dir>
! tool/ports/prepare_port muen
! ./tool/ports/prepare_port muen
The next step is to create a build directory prepared for compiling Genode for
Muen. Use the create_builddir tool for this task:
! tool/create_builddir hw_x86_64_muen
! ./tool/create_builddir hw_x86_64_muen
You can customize Muen system by changing the --image-muen RUN_OPT parameters
in the 'build.conf' file in the build directory under build/etc.

27
repos/base-nova/Makefile

@ -1,27 +0,0 @@
#
# \brief Download, and unpack the NOVA hypervisor.
# \author Stefan Kalkowski
# \author Alexander Boettcher
# \date 2012-06-04
#
VERBOSE ?= @
ECHO := @echo
#
# Print help information by default
#
help::
prepare:
$(VERBOSE)../../tool/ports/prepare_port nova
help::
$(ECHO)
$(ECHO) "Prepare the NOVA base repository"
$(ECHO)
$(ECHO) "--- available commands ---"
$(ECHO) "prepare - checkout upstream source codes"
$(ECHO) "clean - remove upstream source codes"
$(ECHO)

6
repos/base-nova/doc/nova.txt

@ -59,15 +59,15 @@ How to explore Genode on NOVA?
##############################
To download the NOVA kernel and integrate it with Genode, issue the following
command from within the 'base-nova' directory:
command from within toplevel directory:
! make prepare
! ./tool/ports/prepare_port nova
For the vesa driver on x86 the x86emu library is required and can be downloaded
and prepared by invoking the following command from within the 'libports'
directory:
! make prepare PKG=x86emu
! ./tool/ports/prepare_port x86emu
For creating a preconfigured build directory prepared for compiling Genode for
NOVA, use the 'create_builddir' tool:

23
repos/base-okl4/Makefile

@ -1,23 +0,0 @@
#
# \brief Download, unpack and patch OKL4 source code
# \author Stefan Kalkowski
# \date 2011-05-02
#
VERBOSE ?= @
#
# Print help information by default
#
help:
$(ECHO)
$(ECHO) "Prepare the OKL4 base repository"
$(ECHO)
$(ECHO) "--- available commands ---"
$(ECHO) "prepare - download and extract the OKL4 source code"
$(ECHO)
prepare:
$(VERBOSE)../../tool/ports/prepare_port okl4
clean cleanall:

2
repos/base-okl4/lib/mk/platform.inc

@ -39,7 +39,7 @@ $(OKL4_INCLUDE_DIRS):
$(VERBOSE)mkdir -p $@
$(OKL4_DIR):
$(VERBOSE)$(ECHO) "--> Please, execute 'make prepare' in $(REP_DIR)"
$(VERBOSE)$(ECHO) "--> Please, execute './tool/ports/prepare_port okl4' in $(GENODE_DIR)"
$(VERBOSE)$(ECHO) "--> before compiling Genode apps for OKL4."
$(VERBOSE)exit 1

1
repos/base-pistachio/Makefile

@ -1 +0,0 @@
include ../../tool/prepare.mk

11
repos/base-pistachio/doc/pistachio.txt

@ -34,15 +34,14 @@ which will be used for both, the L4ka::Pistachio kernel and Genode.
:[http://genode.org/download/tool-chain]:
Preconfigured GNU tool chain for building Genode
To download the kernel source codes, issue 'make prepare' from within the
'base-pistachio' repository. This command will checkout the upstream Git
repository of the kernel. Please make sure to have Git installed.
To download the kernel source codes, issue './tool/ports/prepare_port pistachio'.
This command will checkout the upstream Git repository of the kernel. Please
make sure to have Git installed.
For the vesa driver on x86 the x86emu library is required and can be downloaded
and prepared by invoking the following command from within the 'libports'
directory:
and prepared by invoking the following command:
! make prepare PKG=x86emu
! ./tool/ports/prepare_port x86emu
After having successfully prepared the 'base-pistachio' repository and
'libports' you are ready to create a Genode build directory using the

24
repos/dde_bsd/Makefile

@ -1,24 +0,0 @@
#
# \brief Download, and unpack BSD kernel sources
# \author Josef Soentgen
# \date 2014-11-09
#
VERBOSE ?= @
ECHO := @echo
#
# Print help information by default
#
help::
prepare:
$(VERBOSE)../../tool/ports/prepare_port dde_bsd
help::
$(ECHO)
$(ECHO) "Prepare the dde_bsd repository"
$(ECHO)
$(ECHO) "--- available commands ---"
$(ECHO) "prepare - checkout upstream source codes"
$(ECHO)

2
repos/dde_bsd/README

@ -13,7 +13,7 @@ Usage
=====
You have to prepare the contrib sources for this repository by
executing _tool/ports/prepare_port dde_bsd_. Also you need to make
executing _./tool/ports/prepare_port dde_bsd_. Also you need to make
sure to add the 'dde_bsd' repository to the REPOSITORIES variable
in your 'etc/build.conf'.

25
repos/dde_ipxe/Makefile

@ -1,25 +0,0 @@
#
# \brief Download, and unpack iPXE
# \author Josef Soentgen
# \date 2014-05-20
#
VERBOSE ?= @
ECHO := @echo
#
# Print help information by default
#
help::
prepare:
$(VERBOSE)../../tool/ports/prepare_port dde_ipxe
help::
$(ECHO)
$(ECHO) "Prepare the dde_ipxe repository"
$(ECHO)
$(ECHO) "--- available commands ---"
$(ECHO) "prepare - checkout upstream source codes"
$(ECHO)

5
repos/dde_ipxe/README

@ -2,10 +2,9 @@ This repository contains the Device Driver Environment for the
"donator OS" iPXE available from http://ipxe.org/.
For building DDE iPXE, you first need to fetch and patch the original
sources. The top-level makefile of this repository automates this
task. Just issue:
sources. The 'prepare_port' tool automates this task. Just issue:
! make prepare
! ./tool/ports/prepare_port dde_ipxe
Now, you need to include the DDE iPXE repository into your Genode
build process. Just add the path to this directory to the

25
repos/dde_linux/Makefile

@ -1,25 +0,0 @@
#
# \brief Download, and unpack Linux
# \author Sebastian Sumpf
# \date 2014-05-20
#
VERBOSE ?= @
ECHO := @echo
#
# Print help information by default
#
help::
prepare:
$(VERBOSE)../../tool/ports/prepare_port dde_linux
help::
$(ECHO)
$(ECHO) "Prepare the dde_linux repository"
$(ECHO)
$(ECHO) "--- available commands ---"
$(ECHO) "prepare - checkout upstream source codes"
$(ECHO)

25
repos/dde_rump/Makefile

@ -1,25 +0,0 @@
#
# \brief Download, and unpack rumpkernel
# \author Josef Soentgen
# \date 2014-05-20
#
VERBOSE ?= @
ECHO := @echo
#
# Print help information by default
#
help::
prepare:
$(VERBOSE)../../tool/ports/prepare_port dde_rump
help::
$(ECHO)
$(ECHO) "Prepare the dde_rump repository"
$(ECHO)
$(ECHO) "--- available commands ---"
$(ECHO) "prepare - checkout upstream source codes"
$(ECHO)

4
repos/dde_rump/README

@ -13,9 +13,9 @@ Building instructions
In order to build the file-system server, issue
! make prepare
! ./tool/ports/prepare_port dde_rump
from the directory this file is contained in.
from Genode's toplevel directory.
Add

1
repos/libports/Makefile

@ -1 +0,0 @@
include ../../tool/prepare.mk

27
repos/libports/README

@ -4,23 +4,16 @@ This directory contains ports of popular 3rd-party software to Genode.
Usage
-----
At the root of the 'libports' repository, there is 'Makefile' automating the
task of downloading and preparing the library source codes. By just typing
'make', you get an overview of the available libraries and further
instructions.
In the common case, you might just want to prepare all packages by issuing:
! make prepare
Alternatively, you can select individual packages to prepare by specifying
their base names (without the version number) as command-line argument. For
example, the following command prepares both the C library and the Freetype
library:
! make prepare PKG="libc freetype"
After having prepared the 'libports' repository, you are ready to include the
repository into the build process by appending it to the 'REPOSITORIES'
declaration of your '<build-dir>/etc/build.conf' file.
The tool './tool/ports/prepare_port' in the toplevel directory automates the
task of downloading and preparing the library source codes. You can select
individual packages that have to be prepared by specifying their base names
(without the version number) as command-line argument. For example, the
following command prepares both the C library and the Freetype library:
! ./tool/ports/prepare_port PKG="libc freetype"
To compile and link against 3rd-party libraries of the 'libports' repository,
you have to include the repository into the build process by appending it to the
'REPOSITORIES' declaration of your '<build-dir>/etc/build.conf' file.
Under the hood

9
repos/libports/doc/libc.txt

@ -10,12 +10,11 @@ Usage
-----
Before the libc is ready to use, the original FreeBSD source codes must be
downloaded and integrated with the Genode build system. The Makefile found
at the top level of the 'libports' repository automates this task. Please make
sure to have Subversion installed. Then issue the following command from
within the 'libports/' directory:
downloaded and integrated with the Genode build system. The tool 'prepare_port'
automates this task. Please make sure to have Subversion installed. Then issue
the following command:
! make prepare PKG=libc
! ./tool/ports/prepare_port libc
To use the libc in your application, add 'libc' to the 'LIBS' declaration in
your build-description file. This declaration will make the libc headers

2
repos/libports/lib/mk/ncurses.mk

@ -20,7 +20,7 @@ vpath %.c $(NCURSES_SRC_DIR)/tty
SRC_C += $(notdir $(addprefix $(NCURSES_SRC_DIR)/trace/,lib_trace.c varargs.c visbuf.c))
vpath %.c $(NCURSES_SRC_DIR)/trace
# files generated by 'make prepare'
# files generated by 'prepare_port'
SRC_C += $(notdir $(wildcard $(NCURSES_PORT_DIR)/src/lib/ncurses/*.c))
vpath %.c $(NCURSES_PORT_DIR)/src/lib/ncurses

11
repos/libports/src/test/python/README

@ -8,11 +8,12 @@ from the Python website.
Usage
-----
Call 'make prepare' from within the 'libports' directory. Add 'libports' to
your build.conf file. A sample Genode configuration is provided with the
'python.run' script located at 'libports/run/'. It starts a Python script can
be found within this directory. If you are not using Linux as a Genode base
platform, do not forget to add 'python.lib.so' to your boot module list.
Call './tool/ports/prepare_port libc python' from within Genode's toplevel
directory. Add 'libports' to your build.conf file. A sample Genode configuration
is provided with the 'python.run' script located at 'libports/run/'. It starts a
Python script can be found within this directory. If you are not using Linux as
a Genode base platform, do not forget to add 'python.lib.so' to your boot module
list.
Limitations
-----------

1
repos/ports-foc/Makefile

@ -1 +0,0 @@
include ../../tool/prepare.mk

21
repos/ports-foc/README

@ -16,9 +16,9 @@ Quickstart
L4Linux on Genode/Fiasco.OC IA32
----------------------------------
Prepare this repository:
Prepare the L4Linux sources via:
! make prepare
! ./tool/ports/prepare_port l4linux
Create a new build-directory:
@ -44,9 +44,9 @@ Go to your newly created build directory, and execute the run-script for L4Andro
L4Android on Genode/Fiasco.OC IA32
----------------------------------
Prepare this repository:
Prepare the L4Android sources:
! make prepare TARGET=l4android
! ./tool/ports/prepare_port l4android
Create a new build-directory:
@ -58,8 +58,10 @@ lines:
! REPOSITORIES += $(GENODE_DIR)/repos/ports-foc
! REPOSITORIES += $(GENODE_DIR)/repos/dde_gpxe
Please do not forget to issue 'make prepare' in the 'dde_ipxe' and 'base-foc'
repositories.
Please do not forget to issue:
! ./tool/ports/prepare_port dde_ipxe base-foc
Optionally, add an appropriate '-j' option to the make command in the same file:
! MAKE += -j4
@ -98,14 +100,13 @@ Preparing the L4Linux/L4android kernel source code
--------------------------------------------------
For building L4Linux for Genode, you first need to checkout and patch the
original sources. The top-level makefile of this repository automates this
task. Just issue:
original sources. The 'prepare_port' tool automates this task. Just issue:
! make prepare
! ./tool/ports/prepare_port l4linux
If you like to build the L4Android kernel version as well, additionally type:
! make prepare TARGET=l4android
! ./tool/ports/prepare_port l4android
Afterwards you need to include the L4Linux repository into the Genode build
process. Just add the path to this directory to the 'REPOSITORIES' declaration

1
repos/ports/Makefile

@ -1 +0,0 @@
include ../../tool/prepare.mk

16
repos/ports/doc/gdb.txt

@ -153,19 +153,18 @@ Building
The source code of GDB monitor builds upon the original 'gdbserver' that
comes as part of the GDB package. This 3rd-party source code is not included
in Genode's source tree. To download the code and integrate it with Genode,
change to the 'ports' repository and issue the following command
! make prepare PKG=gdb
issue the following command
! ./tool/ports/prepare_port gdb
This way, the Makefile of the 'ports' repository will download, unpack, and
patch the 3rd-party source code.
This way, the 3rd-party source code will be downloaded, unpacked, and patched.
To build and use GDB monitor, you will need to enable the 'ports' source-code
repository on your '<build-dir>/etc/build.conf' file (in addition to the
default repositories):
If you intend to use the TCP terminal for connecting GDB, you will further
need to prepare the 'libports' repository with the 'lwip' package and enable
the following repositories in your 'build.conf':
need to prepare the 'lwip' package and enable the following repositories in your
'build.conf':
:libports: providing the lwIP stack needed by TCP terminal
:gems: hosting the source code of TCP terminal
@ -391,7 +390,7 @@ base platforms:
:Fiasco.OC on x86_32: This is the primary platform fully supported by GDB
monitor. To enable user-land debugging support for the Fiasco.OC kernel
a kernel patch ('base-foc/patches/foc_single_step_x86.patch') is
required, which is applied on 'make prepare' in 'base-foc'.
required, which is applied on './tool/ports/prepare_port foc'.
:Fiasco.OC on ARM: GDB Monitor works on this platform but it has not received
the same amount of testing as the x86_32 version. Please use it with caution
@ -406,8 +405,7 @@ base platforms:
the kernel patches in the 'base-okl4/patched' directory.
All required patches are applied to the respective kernel by default when
issuing 'make prepare' in the kernel's respective 'base-<platform>'
repository.
issuing './tool/ports/prepare_port <platform>'.
The other base platforms are not yet covered. We will address them according to
the demanded by the Genode developer community.

Loading…
Cancel
Save