diff --git a/repos/ports/run/noux_tool_chain.inc b/repos/ports/run/noux_tool_chain.inc
deleted file mode 100644
index 81d7d711b2..0000000000
--- a/repos/ports/run/noux_tool_chain.inc
+++ /dev/null
@@ -1,264 +0,0 @@
-#
-# Configuration variables for the platform-specific run scripts:
-#
-# $platform - name of the platform passed to the 'create_builddir' script
-# $platform_base_dir - name of the platform-specific Genode base directory
-# $platform_cmds - platform-specific shell commands to be executed at startup
-# $platform_pkgs - names of platform-specific tar archives without the '.tar' extension
-#
-
-#
-# The Linux version of Noux lacks the support for the fork system call. Hence,
-# the run script is expected to fail.
-#
-if {[have_spec linux]} {
- puts "Linux is unsupported."
- exit 0
-}
-
-set use_usb_input [expr ![have_spec ps2] && ![have_spec sdl] && [have_spec usb]]
-
-set build_components {
- core init drivers/timer noux/minimal lib/libc_noux
- drivers/framebuffer drivers/input
- server/terminal server/ram_fs
- test/libports/ncurses
-}
-
-source ${genode_dir}/repos/base/run/platform_drv.inc
-append_platform_drv_build_components
-
-lappend_if $use_usb_input build_components drivers/usb
-
-set cc_march ""
-
-if {[have_spec arm]} {
- set binutils "binutils_arm"
- set gcc "gcc_arm"
- set tool_prefix "genode-arm-"
-}
-
-if {[have_spec x86]} {
- set binutils "binutils_x86"
- set gcc "gcc_x86"
- set tool_prefix "genode-x86-"
- if {[have_spec x86_32]} {
- set cc_march "-m32"
- }
-}
-
-#
-# Build Noux packages only once
-#
-set noux_pkgs "bash coreutils vim grep sed findutils make which $binutils $gcc"
-
-foreach pkg $noux_pkgs {
- lappend_if [expr ![file exists bin/$pkg]] build_components noux-pkg/$pkg }
-
-build $build_components
-
-# write default vimrc file
-set vimrc_fd [open "bin/vimrc" w]
-puts $vimrc_fd {
-set noloadplugins
-set hls
-set nocompatible
-set laststatus=2
-set noswapfile
-set viminfo=}
-close $vimrc_fd
-
-# write default .bash_profile file
-set bash_profile_fd [open bin/bash_profile w]
-puts $bash_profile_fd "
-cp /bin/make /usr/bin/
-cp /bin/echo /usr/bin/
-cp /bin/mkdir /usr/bin/
-echo 'creating build directory...'
-/genode/tool/create_builddir $platform BUILD_DIR=/home/build
-cd /home/build
-echo 'CROSS_DEV_PREFIX=$tool_prefix\' > etc/tools.conf
-$platform_cmds
-echo 'now you can type, for example, \"make core\"'"
-close $bash_profile_fd
-
-exec tar cvf bin/genode.tar -C $genode_dir tool repos/base repos/$platform_base_dir repos/os repos/demo
-
-create_boot_directory
-
-append config {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
-
-append_if [have_spec sdl] config {
-
-
-
-
-
-
- }
-
-append_platform_drv_config
-
-append_if [have_spec framebuffer] config {
-
-
-
- }
-
-append_if [have_spec ps2] config {
-
-
-
- }
-
-append_if $use_usb_input config {
-
-
-
-
- }
-
-append config {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-append config {
-
-
-}
-
-if {![info exists verbose_mode]} {set verbose_mode "yes"}
-append config " "
-
-append config {
-
-}
-
-foreach pkg $noux_pkgs {
- append config " " }
-
-append config { }
-foreach pkg $platform_pkgs {
- append config "
-
- " }
-
-append config {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-install_config $config
-
-
-#
-# Boot modules
-#
-
-# generic modules
-set boot_modules {
- core init timer ld.lib.so noux terminal ram_fs
- libc.lib.so libm.lib.so libc_noux.lib.so ncurses.lib.so stdcxx.lib.so
- pcre.lib.so posix.lib.so vimrc bash_profile
-}
-
-append boot_modules { gmp.lib.so mpfr.lib.so mpc.lib.so }
-
-foreach pkg $noux_pkgs {
- lappend boot_modules "$pkg.tar" }
-
-append boot_modules { genode.tar }
-
-foreach pkg $platform_pkgs { append boot_modules "$pkg.tar" }
-
-# platform-specific modules
-lappend_if [have_spec linux] boot_modules fb_sdl
-lappend_if [have_spec framebuffer] boot_modules fb_drv
-lappend_if [have_spec ps2] boot_modules ps2_drv
-lappend_if $use_usb_input boot_modules usb_drv
-
-append_platform_drv_boot_modules
-
-build_boot_image $boot_modules
-
-# vi: set ft=tcl :
diff --git a/repos/ports/run/noux_tool_chain_auto.run b/repos/ports/run/noux_tool_chain_auto.run
index 31e237c12d..afe9008ade 100644
--- a/repos/ports/run/noux_tool_chain_auto.run
+++ b/repos/ports/run/noux_tool_chain_auto.run
@@ -1,11 +1,21 @@
#
-# \brief Noux environment for building the Genode/NOVA demo scenario on Genode
-# \author Christian Prochaska
-# \date 2012-11-26
+# Configuration variables for the platform-specific run scripts:
+# $platform - name of the platform passed to the 'create_builddir' script
#
-if {[have_include "power_on/qemu"]} {
- puts "\nAuto test running on Qemu is not recommended.\n"
+set verbose_mode "no"
+
+#
+# The Linux version of Noux lacks the support for the fork system call. Hence,
+# the run script is expected to fail.
+#
+if {[have_spec linux]} {
+ puts "Linux is unsupported."
+ exit 0
+}
+
+if {[get_cmd_switch --autopilot] && [have_include "power_on/qemu"]} {
+ puts "\nRunning tool-chain auto test in autopilot on Qemu is not recommended."
exit 0
}
@@ -15,26 +25,44 @@ if {[have_spec pistachio] || [have_spec sel4]} {
}
-set verbose_mode "no"
+set use_usb_input [expr ![have_spec ps2] && ![have_spec sdl] && [have_spec usb]]
-set platform_pkgs ""
-set platform_cmds {
- make core KERNEL=hw &&
- exit 234
+set build_components {
+ core init drivers/timer noux/minimal lib/libc_noux
+ drivers/framebuffer drivers/input
+ server/terminal server/ram_fs
+ test/libports/ncurses
}
-set platform_base_dir "base-hw"
+
+#
+# Disable syntax check for config file
+#
+# The syntax check fails because the content of the '.bash_profile' is
+# specified using an '' node but it is no valid XML. I.e., xmllint
+# complains about the sequence '&&'.
+#
+proc check_xml_with_schema {xml_file} { }
+
+source ${genode_dir}/repos/base/run/platform_drv.inc
+append_platform_drv_build_components
+
+lappend_if $use_usb_input build_components drivers/usb
+
+set cc_march ""
+set tool_chain_timeout 600
if {[have_spec arm]} {
+ set binutils "binutils_arm"
+ set gcc "gcc_arm"
+ set tool_prefix "genode-arm-"
+
set noux_boot_timeout 350
- set tool_chain_timeout 600
if {[have_spec panda]} {
set platform "panda"
- set tool_chain_timeout 1500
}
if {[have_spec arndale]} {
set platform "arndale"
- set tool_chain_timeout 1500
}
if {[have_spec pbxa9]} { set platform "pbxa9" }
@@ -42,19 +70,231 @@ if {[have_spec arm]} {
puts "\n Run script is not supported on this platform. \n"
exit 0
}
+
}
if {[have_spec x86]} {
- set noux_boot_timeout 100
- set tool_chain_timeout 450
- set platform "x86_64"
+ set binutils "binutils_x86"
+ set gcc "gcc_x86"
+ set tool_prefix "genode-x86-"
- if {[have_spec foc]} {
- set tool_chain_timeout 850
- }
+ set noux_boot_timeout 100
+ set platform "x86_64"
}
-source ${genode_dir}/repos/ports/run/noux_tool_chain.inc
+#
+# Build Noux packages only once
+#
+set noux_pkgs "bash coreutils vim grep sed findutils make which $binutils $gcc"
+
+foreach pkg $noux_pkgs {
+ lappend_if [expr ![file exists bin/$pkg]] build_components noux-pkg/$pkg }
+
+build $build_components
+
+# write default vimrc file
+set vimrc_fd [open "bin/vimrc" w]
+puts $vimrc_fd {
+set noloadplugins
+set hls
+set nocompatible
+set laststatus=2
+set noswapfile
+set viminfo=}
+close $vimrc_fd
+
+# write default .bash_profile file
+set bash_profile_fd [open bin/bash_profile w]
+puts $bash_profile_fd {
+cp /bin/make /usr/bin/
+cp /bin/echo /usr/bin/
+cp /bin/mkdir /usr/bin/
+echo 'creating build directory...'
+mkdir -p "/home/build"
+cp -r /genode/depot /home/build
+}
+puts $bash_profile_fd "./genode/tool/depot/create DEPOT_DIR=/home/build/depot \
+ test/bin/$platform/zlib CROSS_DEV_PREFIX=$tool_prefix && exit 234"
+close $bash_profile_fd
+
+
+
+exec mkdir -p $genode_dir/depot/test
+exec $genode_dir/tool/depot/create test/src/zlib
+exec tar cvf bin/genode.tar -C $genode_dir tool repos/base \
+ depot/test repos/libports/recipes/src/zlib \
+ repos/libports/recipes/api
+exec rm -rf $genode_dir/depot/test
+
+create_boot_directory
+
+append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+
+append_if [have_spec sdl] config {
+
+
+
+
+
+
+ }
+
+append_platform_drv_config
+
+append_if [have_spec framebuffer] config {
+
+
+
+ }
+
+append_if [have_spec ps2] config {
+
+
+
+ }
+
+append_if $use_usb_input config {
+
+
+
+
+ }
+
+append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+append config {
+
+
+}
+
+if {![info exists verbose_mode]} {set verbose_mode "yes"}
+append config " "
+
+append config {
+
+}
+
+foreach pkg $noux_pkgs {
+ append config " " }
+
+append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+install_config $config
+
+
+#
+# Boot modules
+#
+
+# generic modules
+set boot_modules {
+ core init timer ld.lib.so noux terminal ram_fs
+ libc.lib.so libm.lib.so libc_noux.lib.so ncurses.lib.so stdcxx.lib.so
+ pcre.lib.so posix.lib.so vimrc bash_profile
+}
+
+append boot_modules { gmp.lib.so mpfr.lib.so mpc.lib.so }
+
+foreach pkg $noux_pkgs {
+ lappend boot_modules "$pkg.tar" }
+
+append boot_modules { genode.tar }
+
+# platform-specific modules
+lappend_if [have_spec linux] boot_modules fb_sdl
+lappend_if [have_spec framebuffer] boot_modules fb_drv
+lappend_if [have_spec ps2] boot_modules ps2_drv
+lappend_if $use_usb_input boot_modules usb_drv
+
+append_platform_drv_boot_modules
+
+build_boot_image $boot_modules
+
append qemu_args " -m 768 "
@@ -80,3 +320,5 @@ puts "Testing \"all\" in printf.wv:"
puts "! PERF: runtime [expr $time_end - $time_start ] seconds ok"
puts "Test succeeded"
+
+# vi: set ft=tcl :
diff --git a/repos/ports/run/noux_tool_chain_foc.run b/repos/ports/run/noux_tool_chain_foc.run
deleted file mode 100644
index 194ee13b01..0000000000
--- a/repos/ports/run/noux_tool_chain_foc.run
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# \brief Noux environment for building the Genode/Fiasco.OC demo scenario on Genode/Fiasco.OC
-# \author Christian Prochaska
-# \date 2012-11-26
-#
-
-assert_spec foc
-assert_spec x86_32
-
-# create a tar archive containing the l4 header files
-build core
-exec tar cfv bin/l4.tar -h --exclude=std_tmpl include l4
-
-if {[have_spec x86_32]} {
-set platform "x86_32"
-}
-
-if {[have_spec x86_64]} {
-set platform "x86_64"
-}
-
-set platform_base_dir "base-foc"
-set platform_pkgs "l4"
-set platform_cmds {
- ln -s /platform/l4/include include
- ln -s /platform/l4/l4 l4
- mkdir -p var/libcache/platform/libvcpu
- touch var/libcache/platform/libvcpu/include.tag
- touch var/libcache/platform/l4sys.tag
- touch var/libcache/platform/ldscripts.tag
- touch var/libcache/platform/libgcc-pure.tag
- touch var/libcache/platform/libgcc.tag
- touch var/libcache/platform/libsigma0.tag
-}
-
-source ${genode_dir}/repos/ports/run/noux_tool_chain.inc
-
-append qemu_args " -m 768 "
-
-run_genode_until forever
diff --git a/repos/ports/run/noux_tool_chain_nova.run b/repos/ports/run/noux_tool_chain_nova.run
deleted file mode 100644
index 4c51162724..0000000000
--- a/repos/ports/run/noux_tool_chain_nova.run
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# \brief Noux environment for building the Genode/NOVA demo scenario on Genode
-# \author Christian Prochaska
-# \date 2012-11-26
-#
-
-set platform "x86_32"
-set platform_base_dir "base-nova"
-set platform_pkgs ""
-set platform_cmds ""
-
-source ${genode_dir}/repos/ports/run/noux_tool_chain.inc
-
-append qemu_args " -m 768 "
-
-run_genode_until forever