Changes in tools/ew.py [dabaa83:01552e3] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/ew.py

    rdabaa83 r01552e3  
    3333"""
    3434
     35import inspect
    3536import os
     37import platform
     38import re
     39import subprocess
    3640import sys
    37 import subprocess
    38 import autotool
    39 import platform
    4041import thread
    4142import time
    4243
    4344overrides = {}
     45
     46CONFIG = 'Makefile.config'
     47
     48TOOLS_DIR = os.path.dirname(inspect.getabsfile(inspect.currentframe()))
     49
     50def read_config():
     51        "Read HelenOS build configuration"
     52
     53        inf = open(CONFIG, 'r')
     54        config = {}
     55
     56        for line in inf:
     57                res = re.match(r'^(?:#!# )?([^#]\w*)\s*=\s*(.*?)\s*$', line)
     58                if (res):
     59                        config[res.group(1)] = res.group(2)
     60
     61        inf.close()
     62        return config
    4463
    4564def is_override(str):
     
    5776
    5877def termemu_detect():
    59         for termemu in ['xfce4-terminal', 'xterm']:
     78        emus = ['gnome-terminal', 'xfce4-terminal', 'xterm']
     79        for termemu in emus:
    6080                try:
    6181                        subprocess.check_output('which ' + termemu, shell = True)
     
    6484                        pass
    6585
     86        print('Could not find any of the terminal emulators %s.'%(emus))
     87        sys.exit(1)
     88
    6689def run_in_console(cmd, title):
    67         ecmd = cmd.replace('"', '\\"')
    68         cmdline = termemu_detect() + ' -T ' + '"' + title + '"' + ' -e "' + ecmd + '"'
     90        temu = termemu_detect()
     91        if temu == 'gnome-terminal':
     92                cmdline = temu + ' -- ' + cmd
     93        else:
     94                ecmd = cmd.replace('"', '\\"')
     95                cmdline = temu + ' -T ' + '"' + title + '"' + ' -e "' + ecmd + '"'
     96
    6997        print(cmdline)
    7098        if not is_override('dryrun'):
     
    155183def hdisk_mk():
    156184        if not os.path.exists('hdisk.img'):
    157                 subprocess.call('tools/mkfat.py 1048576 uspace/dist/data hdisk.img', shell = True)
     185                subprocess.call(TOOLS_DIR + '/mkfat.py 1048576 dist/data hdisk.img', shell = True)
    158186
    159187def qemu_bd_options():
     
    289317
    290318def ski_run(platform, machine, processor):
    291         run_in_console('ski -i tools/conf/ski.conf', 'HelenOS/ia64 on ski')
     319        run_in_console('ski -i ' + TOOLS_DIR + '/conf/ski.conf', 'HelenOS/ia64 on ski')
    292320
    293321def msim_run(platform, machine, processor):
    294322        hdisk_mk()
    295         run_in_console('msim -c tools/conf/msim.conf', 'HelenOS/mips32 on msim')
     323        run_in_console('msim -c ' + TOOLS_DIR + '/conf/msim.conf', 'HelenOS/mips32 on msim')
    296324
    297325def spike_run(platform, machine, processor):
     
    486514                        exit()
    487515
    488         config = {}
    489         autotool.read_config(autotool.CONFIG, config)
     516        config = read_config()
    490517
    491518        if 'PLATFORM' in config.keys():
Note: See TracChangeset for help on using the changeset viewer.