#!/bin/sh # This includes the Bourne shell library from llvm-top. Since this file is # generally only used when building from llvm-top, it is safe to assume that # llvm is checked out into llvm-top in which case .. just works. source ../library.sh # Process the options passed in to us by the build script into standard # variables. process_arguments @Argv # First, see if the build directory is there. If not, create it. global build_dir := ""$LLVM_TOP/build.llvm"" if test ! -d $build_dir { mkdir -p $build_dir } # See if we have previously been configured by sensing the presence # of the config.status scripts global config_status := ""$build_dir/config.status"" if test ! -f $config_status -o $config_status -ot $0 { # We must configure so build a list of configure options global config_options := ""--prefix=$PREFIX --with-llvmgccdir=$PREFIX"" if test $OPTIMIZED -eq 1 { global config_options := ""$config_options --enable-optimized"" } else { global config_options := ""$config_options --disable-optimized"" } if test $DEBUG -eq 1 { global config_options := ""$config_options --enable-debug"" } else { global config_options := ""$config_options --disable-debug"" } if test $ASSERTIONS -eq 1 { global config_options := ""$config_options --enable-assertions"" } else { global config_options := ""$config_options --disable-assertions"" } if test $CHECKING -eq 1 { global config_options := ""$config_options --enable-expensive-checks"" } else { global config_options := ""$config_options --disable-expensive-checks"" } if test $DOXYGEN -eq 1 { global config_options := ""$config_options --enable-doxygen"" } else { global config_options := ""$config_options --disable-doxygen"" } if test $THREADS -eq 1 { global config_options := ""$config_options --enable-threads"" } else { global config_options := ""$config_options --disable-threads"" } global config_options := ""$config_options $OPTIONS_DASH $OPTIONS_DASH_DASH"" global src_dir := $[pwd] cd $build_dir msg 0 Configuring $module with: msg 0 " $src_dir/configure" $config_options $src_dir/configure $config_options || \ die $Status "Configuring $module module failed" } else { msg 0 Module $module already configured, ignoring configure options. cd $build_dir } msg 0 Building $module with: msg 0 " make" $OPTIONS_ASSIGN tools-only make $OPTIONS_ASSIGN tools-only (CommandList children: [ (C {(.)} {(../library.sh)}) (C {(process_arguments)} {(DQ ($ VSub_At "$@"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:build_dir) op: Equal rhs: {(DQ ($ VSub_Name "$LLVM_TOP") (/build.llvm))} spids: [34] ) ] spids: [34] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(KW_Bang "!")} {(-d)} {(DQ ($ VSub_Name "$build_dir"))}) terminator: ) ] action: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$build_dir"))})] spids: [-1 54] ) ] spids: [-1 65] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_status) op: Equal rhs: {(DQ ($ VSub_Name "$build_dir") (/config.status))} spids: [74] ) ] spids: [74] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(KW_Bang "!")} {(-f)} {(DQ ($ VSub_Name "$config_status"))} {(-o)} {(DQ ($ VSub_Name "$config_status"))} {(-ot)} {(DQ ($ VSub_Number "$0"))} ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: { (DQ ("--prefix=") ($ VSub_Name "$PREFIX") (" --with-llvmgccdir=") ($ VSub_Name "$PREFIX") ) } spids: [113] ) ] spids: [113] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Name "$OPTIMIZED"))} {(-eq)} {(1)}) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --enable-optimized"))} spids: [139] ) ] spids: [139] ) ] spids: [-1 136] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --disable-optimized"))} spids: [149] ) ] spids: [149] ) ] spids: [146 156] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Name "$DEBUG"))} {(-eq)} {(1)}) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --enable-debug"))} spids: [176] ) ] spids: [176] ) ] spids: [-1 173] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --disable-debug"))} spids: [186] ) ] spids: [186] ) ] spids: [183 193] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Name "$ASSERTIONS"))} {(-eq)} {(1)}) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --enable-assertions"))} spids: [213] ) ] spids: [213] ) ] spids: [-1 210] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --disable-assertions"))} spids: [223] ) ] spids: [223] ) ] spids: [220 230] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Name "$CHECKING"))} {(-eq)} {(1)}) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --enable-expensive-checks"))} spids: [250] ) ] spids: [250] ) ] spids: [-1 247] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --disable-expensive-checks"))} spids: [260] ) ] spids: [260] ) ] spids: [257 267] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Name "$DOXYGEN"))} {(-eq)} {(1)}) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --enable-doxygen"))} spids: [287] ) ] spids: [287] ) ] spids: [-1 284] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --disable-doxygen"))} spids: [297] ) ] spids: [297] ) ] spids: [294 304] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Name "$THREADS"))} {(-eq)} {(1)}) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --enable-threads"))} spids: [324] ) ] spids: [324] ) ] spids: [-1 321] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: {(DQ ($ VSub_Name "$config_options") (" --disable-threads"))} spids: [334] ) ] spids: [334] ) ] spids: [331 341] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:config_options) op: Equal rhs: { (DQ ($ VSub_Name "$config_options") (" ") ($ VSub_Name "$OPTIONS_DASH") (" ") ($ VSub_Name "$OPTIONS_DASH_DASH") ) } spids: [344] ) ] spids: [344] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:src_dir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: spids: [355 357] ) } spids: [354] ) ] spids: [354] ) (C {(cd)} {(DQ ($ VSub_Name "$build_dir"))}) (C {(msg)} {(0)} {(Configuring)} {($ VSub_Name "$module")} {(with) (Lit_Other ":")}) (C {(msg)} {(0)} {(DQ (" ") ($ VSub_Name "$src_dir") (/configure))} {($ VSub_Name "$config_options")} ) (AndOr children: [ (C {($ VSub_Name "$src_dir") (/configure)} {($ VSub_Name "$config_options")}) (C {(die)} {($ VSub_QMark "$?")} {(DQ ("Configuring ") ($ VSub_Name "$module") (" module failed"))} ) ] op_id: Op_DPipe ) ] spids: [-1 106] ) ] else_action: [ (C {(msg)} {(0)} {(Module)} {($ VSub_Name "$module")} {(already)} {(configured) (Lit_Comma ",")} {(ignoring)} {(configure)} {(options.)} ) (C {(cd)} {(DQ ($ VSub_Name "$build_dir"))}) ] spids: [411 440] ) (C {(msg)} {(0)} {(Building)} {($ VSub_Name "$module")} {(with) (Lit_Other ":")}) (C {(msg)} {(0)} {(DQ (" make"))} {($ VSub_Name "$OPTIONS_ASSIGN")} {(tools-only)}) (C {(make)} {($ VSub_Name "$OPTIONS_ASSIGN")} {(tools-only)}) ] )