Changeset 95c675b in mainline for tools


Ignore:
Timestamp:
2017-10-17T13:11:35Z (8 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
60af4cdb
Parents:
dbf32b1 (diff), a416d070 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline

Location:
tools
Files:
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • tools/autotool.py

    rdbf32b1 r95c675b  
    5454PACKAGE_GCC = "preferably version 4.7.0 or newer"
    5555PACKAGE_CROSS = "use tools/toolchain.sh to build the cross-compiler toolchain"
     56PACKAGE_CLANG = "reasonably recent version of clang needs to be installed"
    5657
    5758COMPILER_FAIL = "The compiler is probably not capable to compile HelenOS."
     
    208209
    209210def get_target(config):
     211        platform = None
     212        gnu_target = None
     213        helenos_target = None
    210214        target = None
    211         gnu_target = None
    212         clang_target = None
    213         helenos_target = None
    214215        cc_args = []
    215216       
    216217        if (config['PLATFORM'] == "abs32le"):
    217218                check_config(config, "CROSS_TARGET")
    218                 target = config['CROSS_TARGET']
     219                platform = config['CROSS_TARGET']
    219220               
    220221                if (config['CROSS_TARGET'] == "arm32"):
    221222                        gnu_target = "arm-linux-gnueabi"
    222                         clang_target = "arm-unknown-none"
    223223                        helenos_target = "arm-helenos-gnueabi"
    224224               
    225225                if (config['CROSS_TARGET'] == "ia32"):
    226226                        gnu_target = "i686-pc-linux-gnu"
    227                         clang_target = "i686-unknown-none"
    228227                        helenos_target = "i686-pc-helenos"
    229228               
     
    231230                        cc_args.append("-mabi=32")
    232231                        gnu_target = "mipsel-linux-gnu"
    233                         clang_target = "mipsel-unknown-none"
    234232                        helenos_target = "mipsel-helenos"
    235233       
    236234        if (config['PLATFORM'] == "amd64"):
    237                 target = config['PLATFORM']
    238                 gnu_target = "amd64-linux-gnu"
    239                 clang_target = "x86_64-unknown-none"
     235                platform = config['PLATFORM']
     236                gnu_target = "amd64-unknown-elf"
    240237                helenos_target = "amd64-helenos"
    241238       
    242239        if (config['PLATFORM'] == "arm32"):
    243                 target = config['PLATFORM']
     240                platform = config['PLATFORM']
    244241                gnu_target = "arm-linux-gnueabi"
    245                 clang_target = "arm-unknown-none-eabi"
    246242                helenos_target = "arm-helenos-gnueabi"
    247243       
    248244        if (config['PLATFORM'] == "ia32"):
    249                 target = config['PLATFORM']
     245                platform = config['PLATFORM']
    250246                gnu_target = "i686-pc-linux-gnu"
    251                 clang_target = "i686-unknown-none"
    252247                helenos_target = "i686-pc-helenos"
    253248       
    254249        if (config['PLATFORM'] == "ia64"):
    255                 target = config['PLATFORM']
     250                platform = config['PLATFORM']
    256251                gnu_target = "ia64-pc-linux-gnu"
    257252                helenos_target = "ia64-pc-helenos"
     
    262257               
    263258                if ((config['MACHINE'] == "msim") or (config['MACHINE'] == "lmalta")):
    264                         target = config['PLATFORM']
     259                        platform = config['PLATFORM']
    265260                        gnu_target = "mipsel-linux-gnu"
    266                         clang_target = "mipsel-unknown-none"
    267261                        helenos_target = "mipsel-helenos"
    268262               
    269263                if ((config['MACHINE'] == "bmalta")):
    270                         target = "mips32eb"
     264                        platform = "mips32eb"
    271265                        gnu_target = "mips-linux-gnu"
    272                         clang_target = "mips-unknown-none"
    273266                        helenos_target = "mips-helenos"
    274267       
     
    278271               
    279272                if (config['MACHINE'] == "msim"):
    280                         target = config['PLATFORM']
     273                        platform = config['PLATFORM']
    281274                        gnu_target = "mips64el-linux-gnu"
    282                         clang_target = "mips64el-unknown-none"
    283275                        helenos_target = "mips64el-helenos"
    284276       
    285277        if (config['PLATFORM'] == "ppc32"):
    286                 target = config['PLATFORM']
     278                platform = config['PLATFORM']
    287279                gnu_target = "ppc-linux-gnu"
    288                 clang_target = "ppc-unknown-none"
    289280                helenos_target = "ppc-helenos"
    290281       
    291282        if (config['PLATFORM'] == "riscv64"):
    292                 target = config['PLATFORM']
     283                platform = config['PLATFORM']
    293284                gnu_target = "riscv64-unknown-linux-gnu"
    294                 clang_target = "riscv-unknown-none"
    295285                helenos_target = "riscv64-helenos"
    296286       
    297287        if (config['PLATFORM'] == "sparc64"):
    298                 target = config['PLATFORM']
     288                platform = config['PLATFORM']
    299289                gnu_target = "sparc64-linux-gnu"
    300                 clang_target = "sparc-unknown-none"
    301290                helenos_target = "sparc64-helenos"
    302291       
    303         return (target, cc_args, gnu_target, clang_target, helenos_target)
     292        if (config['COMPILER'] == "gcc_helenos"):
     293                target = helenos_target
     294        else:
     295                target = gnu_target
     296       
     297        return (platform, cc_args, target)
    304298
    305299def check_app(args, name, details):
     
    351345        return found
    352346
     347def check_clang(path, prefix, common, details):
     348        "Check for clang"
     349       
     350        common['CLANG'] = "%sclang" % prefix
     351       
     352        if (not path is None):
     353                common['CLANG'] = "%s/%s" % (path, common['CLANG'])
     354       
     355        check_app([common['CLANG'], "--version"], "clang", details)
     356
    353357def check_gcc(path, prefix, common, details):
    354358        "Check for GCC"
     
    427431        outf.close()
    428432       
    429         args = [common['CC']]
    430         args.extend(common['CC_ARGS'])
     433        args = common['CC_AUTOGEN'].split(' ')
    431434        args.extend(["-S", "-o", PROBE_OUTPUT, PROBE_SOURCE])
    432435       
     
    547550        outf.close()
    548551       
    549         args = [common['CC']]
    550         args.extend(common['CC_ARGS'])
     552        args = common['CC_AUTOGEN'].split(' ')
    551553        args.extend(["-S", "-o", PROBE_INT128_OUTPUT, PROBE_INT128_SOURCE])
    552554       
     
    849851                check_app(["make", "--version"], "Make utility", "preferably GNU Make")
    850852                check_app(["makedepend", "-f", "-"], "Makedepend utility", "usually part of imake or xutils")
     853                check_app(["unzip"], "unzip utility", "usually part of zip/unzip utilities")
     854               
     855                platform, cc_args, target = get_target(config)
     856               
     857                if (platform is None) or (target is None):
     858                        print_error(["Unsupported compiler target.",
     859                                     "Please contact the developers of HelenOS."])
     860               
     861                path = "%s/%s/bin" % (cross_prefix, target)
     862               
     863                # Compatibility with earlier toolchain paths.
     864                if not os.path.exists(path):
     865                        if (config['COMPILER'] == "gcc_helenos"):
     866                                check_path = "%s/%s/%s" % (cross_helenos_prefix, platform, target)
     867                                if not os.path.exists(check_path):
     868                                        print_error(["Toolchain for target is not installed, or CROSS_PREFIX is not set correctly."])
     869                                path = "%s/%s/bin" % (cross_helenos_prefix, platform)
     870                        else:
     871                                check_path = "%s/%s/%s" % (cross_prefix, platform, target)
     872                                if not os.path.exists(check_path):
     873                                        print_error(["Toolchain for target is not installed, or CROSS_PREFIX is not set correctly."])
     874                                path = "%s/%s/bin" % (cross_prefix, platform)
     875               
     876                prefix = "%s-" % target
    851877               
    852878                # Compiler
    853                 common['CC_ARGS'] = []
    854                 if (config['COMPILER'] == "gcc_cross"):
    855                         target, cc_args, gnu_target, clang_target, helenos_target = get_target(config)
    856                        
    857                         if (target is None) or (gnu_target is None):
    858                                 print_error(["Unsupported compiler target for GNU GCC.",
    859                                              "Please contact the developers of HelenOS."])
    860                        
    861                         path = "%s/%s/bin" % (cross_prefix, target)
    862                         prefix = "%s-" % gnu_target
    863                        
     879                if (config['COMPILER'] == "gcc_cross" or config['COMPILER'] == "gcc_helenos"):
    864880                        check_gcc(path, prefix, common, PACKAGE_CROSS)
    865881                        check_binutils(path, prefix, common, PACKAGE_CROSS)
    866882                       
    867883                        check_common(common, "GCC")
    868                         common['CC'] = common['GCC']
    869                         common['CC_ARGS'].extend(cc_args)
    870                
    871                 if (config['COMPILER'] == "gcc_helenos"):
    872                         target, cc_args, gnu_target, clang_target, helenos_target = get_target(config)
    873                        
    874                         if (target is None) or (helenos_target is None):
    875                                 print_error(["Unsupported compiler target for GNU GCC.",
    876                                              "Please contact the developers of HelenOS."])
    877                        
    878                         path = "%s/%s/bin" % (cross_helenos_prefix, target)
    879                         prefix = "%s-" % helenos_target
    880                        
    881                         check_gcc(path, prefix, common, PACKAGE_CROSS)
    882                         check_binutils(path, prefix, common, PACKAGE_CROSS)
    883                        
    884                         check_common(common, "GCC")
    885                         common['CC'] = common['GCC']
    886                         common['CC_ARGS'].extend(cc_args)
     884                        common['CC'] = " ".join([common['GCC']] + cc_args)
     885                        common['CC_AUTOGEN'] = common['CC']
    887886               
    888887                if (config['COMPILER'] == "gcc_native"):
     
    892891                        check_common(common, "GCC")
    893892                        common['CC'] = common['GCC']
    894                
    895                 if (config['COMPILER'] == "icc"):
    896                         check_app([common['CC'], "-V"], "Intel C++ Compiler", "support is experimental")
    897                         check_gcc(None, "", common, PACKAGE_GCC)
    898                         check_binutils(None, binutils_prefix, common, PACKAGE_BINUTILS)
     893                        common['CC_AUTOGEN'] = common['CC']
     894               
     895                if (config['COMPILER'] == "clang"):
     896                        check_binutils(path, prefix, common, PACKAGE_CROSS)
     897                        check_clang(path, prefix, common, PACKAGE_CLANG)
    899898                       
    900                         common['CC'] = "icc"
    901                
    902                 if (config['COMPILER'] == "clang"):
    903                         target, cc_args, gnu_target, clang_target, helenos_target = get_target(config)
     899                        check_common(common, "CLANG")
     900                        common['CC'] = " ".join([common['CLANG']] + cc_args)
     901                        common['CC_AUTOGEN'] = common['CC'] + " -no-integrated-as"
    904902                       
    905                         if (target is None) or (gnu_target is None) or (clang_target is None):
    906                                 print_error(["Unsupported compiler target for clang.",
    907                                              "Please contact the developers of HelenOS."])
     903                        if (config['INTEGRATED_AS'] == "yes"):
     904                                common['CC'] += " -integrated-as"
    908905                       
    909                         path = "%s/%s/bin" % (cross_prefix, target)
    910                         prefix = "%s-" % gnu_target
    911                        
    912                         check_app(["clang", "--version"], "clang compiler", "preferably version 1.0 or newer")
    913                         check_gcc(path, prefix, common, PACKAGE_GCC)
    914                         check_binutils(path, prefix, common, PACKAGE_BINUTILS)
    915                        
    916                         check_common(common, "GCC")
    917                         common['CC'] = "clang"
    918                         common['CC_ARGS'].extend(cc_args)
    919                         common['CC_ARGS'].append("-target")
    920                         common['CC_ARGS'].append(clang_target)
    921                         common['CLANG_TARGET'] = clang_target
     906                        if (config['INTEGRATED_AS'] == "no"):
     907                                common['CC'] += " -no-integrated-as"
    922908               
    923909                check_python()
  • tools/ew.py

    rdbf32b1 r95c675b  
    219219
    220220def spike_run(platform, machine, processor):
    221         run_in_console('spike image.boot', 'HelenOS/risvc64 on Spike')
     221        run_in_console('spike -m1073741824:1073741824 image.boot', 'HelenOS/risvc64 on Spike')
    222222
    223223emulators = {
  • tools/mkarray.py

    rdbf32b1 r95c675b  
    2828#
    2929"""
    30 C structure creator
     30Binary inline data packer
    3131"""
    3232
    3333import sys
    3434import os
    35 import struct
     35import zlib
     36import zipfile
     37import binascii
    3638
    3739def usage(prname):
    3840        "Print usage syntax"
    39         print("%s <DESTINATION> <LABEL> <AS_PROLOG> [SOURCE ...]" % prname)
     41        print("%s [--deflate] <DESTINATION> <LABEL> <AS_PROLOG> <SECTION> [SOURCE ...]" % prname)
     42
     43def arg_check():
     44        if (len(sys.argv) < 5):
     45                usage(sys.argv[0])
     46                sys.exit()
     47
     48def deflate(data):
     49        "Compress using deflate algorithm (without any headers)"
     50        return zlib.compress(data, 9)[2:-4]
     51
     52def chunks(string, length):
     53        "Produce string chunks"
     54        for start in range(0, len(string), length):
     55                yield string[start:start + length]
    4056
    4157def main():
    42         if (len(sys.argv) < 4):
    43                 usage(sys.argv[0])
    44                 return
     58        arg_check()
     59       
     60        if sys.argv[1] == "--deflate":
     61                sys.argv.pop(1)
     62                arg_check()
     63                compress = True
     64        else:
     65                compress = False
    4566       
    4667        dest = sys.argv[1]
    4768        label = sys.argv[2]
    4869        as_prolog = sys.argv[3]
     70        section = sys.argv[4]
    4971       
    5072        header_ctx = []
     73        desc_ctx = []
     74        size_ctx = []
    5175        data_ctx = []
    5276       
    53         for src in sys.argv[4:]:
     77        src_cnt = 0
     78       
     79        archive = zipfile.ZipFile("%s.zip" % dest, "w", zipfile.ZIP_STORED)
     80       
     81        for src in sys.argv[5:]:
    5482                basename = os.path.basename(src)
     83                plainname = os.path.splitext(basename)[0]
    5584                symbol = basename.replace(".", "_")
    5685               
     
    6190                src_in.close()
    6291               
    63                 data_rec = "\t.byte "
     92                length = len(src_data)
    6493               
    65                 fmt = 'B'
    66                 item_size = struct.calcsize(fmt)
    67                 offset = 0
    68                 cnt = 0
     94                if compress:
     95                        src_data = deflate(src_data)
     96                        src_fname = os.path.basename("%s.deflate" % src)
     97                        archive.writestr(src_fname, src_data)
     98                else:
     99                        src_fname = src
    69100               
    70                 while (len(src_data[offset:]) >= item_size):
    71                         byte = struct.unpack_from(fmt, src_data, offset)
    72                        
    73                         if (offset > 0):
    74                                 if ((cnt % 15) == 0):
    75                                         data_rec += "\n\t.byte "
    76                                 else:
    77                                         data_rec += ", "
    78                        
    79                         data_rec += "0x%x" % byte
    80                         offset += item_size
    81                         cnt += 1
     101                if sys.version_info < (3,):
     102                        src_data = bytearray(src_data)
    82103               
    83                 data_rec += "\n"
     104                length_out = len(src_data)
    84105               
    85                 header_ctx.append("extern uint64_t %s_size;" % symbol)
    86106                header_ctx.append("extern uint8_t %s[];" % symbol)
    87                
    88                 data_ctx.append(".globl %s_size" % symbol)
    89                 data_ctx.append(".balign 8");
    90                 data_ctx.append(".size %s_size, 8" % symbol)
    91                 data_ctx.append("%s_size:" % symbol)
    92                 data_ctx.append("\t.quad %u\n" % offset)
     107                header_ctx.append("extern size_t %s_size;" % symbol)
    93108               
    94109                data_ctx.append(".globl %s" % symbol)
    95110                data_ctx.append(".balign 8")
    96                 data_ctx.append(".size %s, %u" % (symbol, offset))
     111                data_ctx.append(".size %s, %u" % (symbol, length_out))
    97112                data_ctx.append("%s:" % symbol)
    98                 data_ctx.append(data_rec)
     113                data_ctx.append("\t.incbin \"%s\"\n" % src_fname)
     114               
     115                desc_field = []
     116                desc_field.append("\t{")
     117                desc_field.append("\t\t.name = \"%s\"," % plainname)
     118                desc_field.append("\t\t.addr = (void *) %s," % symbol)
     119                desc_field.append("\t\t.size = %u," % length_out)
     120                desc_field.append("\t\t.inflated = %u," % length)
     121               
     122                if compress:
     123                        desc_field.append("\t\t.compressed = true")
     124                else:
     125                        desc_field.append("\t\t.compressed = false")
     126               
     127                desc_field.append("\t}")
     128               
     129                desc_ctx.append("\n".join(desc_field))
     130               
     131                size_ctx.append("size_t %s_size = %u;" % (symbol, length_out))
     132               
     133                src_cnt += 1
    99134       
    100         header = open("%s.h" % dest, "w")
     135        data = ''
     136        data += '/***************************************\n'
     137        data += ' * AUTO-GENERATED FILE, DO NOT EDIT!!! *\n'
     138        data += ' * Generated by: tools/mkarray.py      *\n'
     139        data += ' ***************************************/\n\n'
     140        data += "#ifndef %sS_H_\n" % label.upper()
     141        data += "#define %sS_H_\n\n" % label.upper()
     142        data += "#include <stddef.h>\n"
     143        data += "#include <stdint.h>\n"
     144        data += "#include <stdbool.h>\n\n"
     145        data += "#define %sS  %u\n\n" % (label.upper(), src_cnt)
     146        data += "typedef struct {\n"
     147        data += "\tconst char *name;\n"
     148        data += "\tvoid *addr;\n"
     149        data += "\tsize_t size;\n"
     150        data += "\tsize_t inflated;\n"
     151        data += "\tbool compressed;\n"
     152        data += "} %s_t;\n\n" % label
     153        data += "extern %s_t %ss[];\n\n" % (label, label)
     154        data += "\n".join(header_ctx)
     155        data += "\n\n"
     156        data += "#endif\n"
     157        archive.writestr("%s.h" % dest, data)
    101158       
    102         header.write('/***************************************\n')
    103         header.write(' * AUTO-GENERATED FILE, DO NOT EDIT!!! *\n')
    104         header.write(' * Generated by: tools/mkarray.py      *\n')
    105         header.write(' ***************************************/\n\n')
    106         header.write("#ifndef %s_H_\n" % label)
    107         header.write("#define %s_H_\n\n" % label)
    108         header.write("#include <stddef.h>\n")
    109         header.write("#include <stdint.h>\n\n")
    110         header.write("\n".join(header_ctx))
    111         header.write("\n\n")
    112         header.write("#endif\n")
     159        data = ''
     160        data += '/***************************************\n'
     161        data += ' * AUTO-GENERATED FILE, DO NOT EDIT!!! *\n'
     162        data += ' * Generated by: tools/mkarray.py      *\n'
     163        data += ' ***************************************/\n\n'
     164        data += as_prolog
     165        data += "%s\n\n" % section
     166        data += "\n".join(data_ctx)
     167        data += "\n"
     168        archive.writestr("%s.s" % dest, data)
    113169       
    114         header.close()
     170        data = ''
     171        data += '/***************************************\n'
     172        data += ' * AUTO-GENERATED FILE, DO NOT EDIT!!! *\n'
     173        data += ' * Generated by: tools/mkarray.py      *\n'
     174        data += ' ***************************************/\n\n'
     175        data += "#include \"%s.h\"\n\n" % dest
     176        data += "%s_t %ss[] = {\n" % (label, label)
     177        data += ",\n".join(desc_ctx)
     178        data += "\n"
     179        data += "};\n\n"
     180        data += "\n".join(size_ctx)
     181        data += "\n"
     182        archive.writestr("%s_desc.c" % dest, data)
    115183       
    116         data = open("%s.s" % dest, "w")
    117        
    118         data.write('/***************************************\n')
    119         data.write(' * AUTO-GENERATED FILE, DO NOT EDIT!!! *\n')
    120         data.write(' * Generated by: tools/mkarray.py      *\n')
    121         data.write(' ***************************************/\n\n')
    122         data.write(as_prolog)
    123         data.write('.data\n\n')
    124         data.write("\n".join(data_ctx))
    125        
    126         data.close()
     184        archive.close()
    127185
    128186if __name__ == '__main__':
  • tools/toolchain.sh

    rdbf32b1 r95c675b  
    7373REAL_INSTALL=true
    7474USE_HELENOS_TARGET=false
    75 INSTALL_DIR="${BASEDIR}/PKG"
    7675
    7776#
     
    283282        ORIGINAL="`pwd`"
    284283       
     284        mkdir -p "${OUTSIDE}"
     285       
    285286        cd "${OUTSIDE}"
    286287        check_error $? "Unable to change directory to ${OUTSIDE}."
     
    358359        case "$1" in
    359360                "amd64")
    360                         LINUX_TARGET="amd64-linux-gnu"
     361                        LINUX_TARGET="amd64-unknown-elf"
    361362                        HELENOS_TARGET="amd64-helenos"
    362363                        ;;
     
    418419        fi
    419420       
    420         WORKDIR="${BASEDIR}/${PLATFORM}"
     421        WORKDIR="${BASEDIR}/${TARGET}"
     422        INSTALL_DIR="${WORKDIR}/PKG"
    421423        BINUTILSDIR="${WORKDIR}/binutils-${BINUTILS_VERSION}"
    422424        GCCDIR="${WORKDIR}/gcc-${GCC_VERSION}"
     
    427429                CROSS_PREFIX="/usr/local/cross"
    428430        fi
    429         if [ -z "${CROSS_HELENOS_PREFIX}" ] ; then
    430                 CROSS_HELENOS_PREFIX="/usr/local/cross-helenos"
    431         fi
    432        
    433         if $USE_HELENOS_TARGET ; then
    434                 PREFIX="${CROSS_HELENOS_PREFIX}/${PLATFORM}"
    435         else
    436                 PREFIX="${CROSS_PREFIX}/${PLATFORM}"
    437         fi
     431       
     432        PREFIX="${CROSS_PREFIX}/${TARGET}"
    438433       
    439434        echo ">>> Downloading tarballs"
     
    443438       
    444439        echo ">>> Removing previous content"
    445         $REAL_INSTALL && cleanup_dir "${PREFIX}"
    446440        cleanup_dir "${WORKDIR}"
    447441       
    448         $REAL_INSTALL && create_dir "${PREFIX}" "destination directory"
    449442        create_dir "${OBJDIR}" "GCC object directory"
    450443       
     
    478471                "--target=${TARGET}" \
    479472                "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" \
    480                 --disable-nls --disable-werror
     473                --disable-nls --disable-werror --enable-gold
    481474        check_error $? "Error configuring binutils."
    482475       
     
    486479       
    487480        change_title "binutils: install (${PLATFORM})"
    488         if $REAL_INSTALL ; then
    489                 make install
    490         else
    491                 make install "DESTDIR=${INSTALL_DIR}"
    492         fi
     481        make install "DESTDIR=${INSTALL_DIR}"
    493482        check_error $? "Error installing binutils."
    494483       
     
    513502       
    514503        change_title "GCC: install (${PLATFORM})"
    515         if $REAL_INSTALL ; then
    516                 PATH="${PATH}:${PREFIX}/bin" make install-gcc
    517         else
    518                 PATH="${PATH}:${INSTALL_DIR}/${PREFIX}/bin" make install-gcc "DESTDIR=${INSTALL_DIR}"
    519         fi
     504        PATH="${PATH}:${INSTALL_DIR}/${PREFIX}/bin" make install-gcc "DESTDIR=${INSTALL_DIR}"
    520505        check_error $? "Error installing GCC."
    521506       
     
    531516                        "--target=${TARGET}" \
    532517                        "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" \
    533                         --enable-werror=no
     518                        --enable-werror=no --without-guile
    534519                check_error $? "Error configuring GDB."
    535520               
     
    539524               
    540525                change_title "GDB: make (${PLATFORM})"
    541                 if $REAL_INSTALL ; then
    542                         PATH="${PATH}:${PREFIX}/bin" make install
    543                 else
    544                         PATH="${PATH}:${INSTALL_DIR}/${PREFIX}/bin" make install "DESTDIR=${INSTALL_DIR}"
    545                 fi
     526                PATH="${PATH}:${INSTALL_DIR}/${PREFIX}/bin" make install "DESTDIR=${INSTALL_DIR}"
    546527                check_error $? "Error installing GDB."
    547528        fi
    548529       
     530        # Symlink clang and lld to the install path.
     531        CLANG=`which clang 2> /dev/null || echo "/usr/bin/clang"`
     532        LLD=`which ld.lld 2> /dev/null || echo "/usr/bin/ld.lld"`
     533       
     534        ln -s $CLANG "${INSTALL_DIR}/${PREFIX}/bin/${TARGET}-clang"
     535        ln -s $LLD "${INSTALL_DIR}/${PREFIX}/bin/${TARGET}-ld.lld"
     536       
     537        if $REAL_INSTALL ; then
     538                echo ">>> Moving to the destination directory."
     539                cleanup_dir "${PREFIX}"
     540                echo mv "${INSTALL_DIR}/${PREFIX}" "${PREFIX}"
     541                mv "${INSTALL_DIR}/${PREFIX}" "${PREFIX}"
     542        fi
    549543       
    550544        cd "${BASEDIR}"
  • tools/xcw/bin/helenos-pkg-config

    rdbf32b1 r95c675b  
    4747    $SRC_ROOT/uspace/lib/softrend/libsoftrend.a"
    4848
     49libhound_cflags="-I$SRC_ROOT/uspace/lib/hound/include"
     50libhound_libs="$SRC_ROOT/uspace/lib/hound/libhound.a"
     51
     52libpcm_cflags="-I$SRC_ROOT/uspace/lib/pcm/include"
     53libpcm_libs="$SRC_ROOT/uspace/lib/pcm/libpcm.a"
     54
    4955action=none
    5056pkg=
     
    6066            (libdraw) ;;
    6167            (libmath) ;;
     68            (libhound) ;;
     69            (libpcm) ;;
    6270            (*) echo "Unknown package $1" >&2; exit 1;;
    6371            esac
Note: See TracChangeset for help on using the changeset viewer.