From 9e93ea3e1cb9be53e0cf98bb5a02cb40119f85b5 Mon Sep 17 00:00:00 2001 From: Sebastian Sumpf Date: Tue, 5 Dec 2017 12:51:49 +0100 Subject: [PATCH] noux_tool_chain_auto: compile zlib instead of core fixes issue #2601 --- repos/ports/run/noux_tool_chain.inc | 264 --------------------- repos/ports/run/noux_tool_chain_auto.run | 284 +++++++++++++++++++++-- repos/ports/run/noux_tool_chain_foc.run | 40 ---- repos/ports/run/noux_tool_chain_nova.run | 16 -- 4 files changed, 263 insertions(+), 341 deletions(-) delete mode 100644 repos/ports/run/noux_tool_chain.inc delete mode 100644 repos/ports/run/noux_tool_chain_foc.run delete mode 100644 repos/ports/run/noux_tool_chain_nova.run 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