VirtualBox

Changeset 62760 in vbox


Ignore:
Timestamp:
Jul 30, 2016 8:49:17 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
109338
Message:

slickedit.sh: Generate several different build configurations, mainly to help with properly syntax checking the current source file for both release and debug as well as hardened and non-hardened.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/bin/gen-slickedit-workspace.sh

    r61928 r62760  
    297297}
    298298
     299##
     300# Function generating a project build config.
     301#
     302# @param    $1      The project file name.
     303# @param    $2      Build config name.
     304# @param    $3      Extra kBuild command line options, variant 1.
     305# @param    $4      Extra kBuild command line options, variant 2.
     306# @param    $4+     Include directories.
     307# @param    $N      --end-includes
     308my_generate_project_config()
     309{
     310    MY_FILE="${1}";
     311    MY_CFG_NAME="${2}";
     312    MY_KMK_EXTRAS1="${3}";
     313    MY_KMK_EXTRAS2="${4}";
     314    MY_KMK_EXTRAS3="${5}";
     315    MY_KMK_EXTRAS4="${6}";
     316    shift; shift; shift; shift; shift; shift;
     317
     318    echo '    <Config Name="'"${MY_CFG_NAME}"'" OutputFile="" CompilerConfigName="Latest Version">'             >> "${MY_FILE}"
     319    echo '        <Menu>'                                                                                       >> "${MY_FILE}"
     320
     321    echo '            <Target Name="Compile" MenuCaption="&amp;Compile" CaptureOutputWith="ProcessBuffer"'      >> "${MY_FILE}"
     322    echo '                    SaveOption="SaveCurrent" RunFromDir="%p" ClearProcessBuffer="1">'                 >> "${MY_FILE}"
     323    echo -n '                <Exec CmdLine="'"${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS1}"' -C %p %n.o'              >> "${MY_FILE}"
     324    if test -n "${MY_KMK_EXTRAS2}"; then
     325        echo -n " && ${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS2} -C %p %n.o" >> "${MY_FILE}"
     326    fi
     327    if test -n "${MY_KMK_EXTRAS3}"; then
     328        echo -n " && ${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS3} -C %p %n.o" >> "${MY_FILE}"
     329    fi
     330    if test -n "${MY_KMK_EXTRAS4}"; then
     331        echo -n " && ${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS4} -C %p %n.o" >> "${MY_FILE}"
     332    fi
     333    echo  '"/>' >> "${MY_FILE}"
     334    echo '            </Target>'                                                                                >> "${MY_FILE}"
     335
     336    echo '            <Target Name="Build" MenuCaption="&amp;Build"CaptureOutputWith="ProcessBuffer"'           >> "${MY_FILE}"
     337    echo '                    SaveOption="SaveWorkspaceFiles" RunFromDir="%rw" ClearProcessBuffer="1">'         >> "${MY_FILE}"
     338    echo -n '                <Exec CmdLine="'"${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS1}"' -C %rw'                  >> "${MY_FILE}"
     339    if test -n "${MY_KMK_EXTRAS2}"; then
     340        echo -n " && ${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS2} -C %rw" >> "${MY_FILE}"
     341    fi
     342    if test -n "${MY_KMK_EXTRAS3}"; then
     343        echo -n " && ${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS3} -C %rw" >> "${MY_FILE}"
     344    fi
     345    if test -n "${MY_KMK_EXTRAS4}"; then
     346        echo -n " && ${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS4} -C %rw" >> "${MY_FILE}"
     347    fi
     348    echo  '"/>' >> "${MY_FILE}"
     349    echo '            </Target>'                                                                                >> "${MY_FILE}"
     350
     351    echo '            <Target Name="Rebuild" MenuCaption="&amp;Rebuild" CaptureOutputWith="ProcessBuffer"'      >> "${MY_FILE}"
     352    echo '                    SaveOption="SaveWorkspaceFiles" RunFromDir="%rw" ClearProcessBuffer="1">'         >> "${MY_FILE}"
     353    echo -n '                <Exec CmdLine="'"${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS1}"' -C %rw'                  >> "${MY_FILE}"
     354    if test -n "${MY_KMK_EXTRAS2}"; then
     355        echo -n " && ${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS2} -C %rw rebuild" >> "${MY_FILE}"
     356    fi
     357    if test -n "${MY_KMK_EXTRAS3}"; then
     358        echo -n " && ${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS3} -C %rw rebuild" >> "${MY_FILE}"
     359    fi
     360    if test -n "${MY_KMK_EXTRAS4}"; then
     361        echo -n " && ${MY_KMK_INVOCATION} ${MY_KMK_EXTRAS4} -C %rw rebuild" >> "${MY_FILE}"
     362    fi
     363    echo  '"/>' >> "${MY_FILE}"
     364    echo '            </Target>'                                                                                >> "${MY_FILE}"
     365
     366    #echo '            <Target Name="Debug" MenuCaption="&amp;Debug" SaveOption="SaveNone" RunFromDir="%rw">'    >> "${MY_FILE}"
     367    #echo '                <Exec/>'                                                                              >> "${MY_FILE}"
     368    #echo '            </Target>'                                                                                >> "${MY_FILE}"
     369    #echo '            <Target Name="Execute" MenuCaption="E&amp;xecute" SaveOption="SaveNone" RunFromDir="%rw">'>> "${MY_FILE}"
     370    #echo '                <Exec/>'                                                                              >> "${MY_FILE}"
     371    #echo '            </Target>'                                                                                >> "${MY_FILE}"
     372    echo '        </Menu>'                                                                                      >> "${MY_FILE}"
     373
     374    #
     375    # Include directories.
     376    #
     377    echo '        <Includes>'                                                                                   >> "${MY_FILE}"
     378    while test $# -ge 1  -a  "${1}" != "--end-includes";
     379    do
     380        for f in $1;
     381        do
     382            my_abs_dir ${f}
     383            echo '            <Include Dir="'"${MY_ABS_DIR}/"'"/>'                                              >> "${MY_FILE}"
     384        done
     385        shift
     386    done
     387    shift
     388    echo '        </Includes>'                                                                                  >> "${MY_FILE}"
     389    echo '    </Config>'                                                                                        >> "${MY_FILE}"
     390}
     391
    299392
    300393##
     
    334427    echo '        WorkingDir="'"${MY_ABS_DIR}"'"'                                                                       >> "${MY_FILE}"
    335428    echo '        >'                                                                                                    >> "${MY_FILE}"
    336     echo '    <Config Name="Release" OutputFile="" CompilerConfigName="Latest Version">'                                >> "${MY_FILE}"
    337     echo '        <Menu>'                                                                                               >> "${MY_FILE}"
    338     echo '            <Target Name="Compile" MenuCaption="&amp;Compile" CaptureOutputWith="ProcessBuffer"'              >> "${MY_FILE}"
    339     echo '                    SaveOption="SaveCurrent" RunFromDir="%p" ClearProcessBuffer="1">'                         >> "${MY_FILE}"
    340     echo '                <Exec CmdLine="'"${MY_KMK_INVOCATION}"' -C %p %n.o"/>'                                        >> "${MY_FILE}"
    341     echo '            </Target>'                                                                                        >> "${MY_FILE}"
    342     echo '            <Target Name="Build" MenuCaption="&amp;Build"CaptureOutputWith="ProcessBuffer"'                   >> "${MY_FILE}"
    343     echo '                    SaveOption="SaveWorkspaceFiles" RunFromDir="%rw" ClearProcessBuffer="1">'                 >> "${MY_FILE}"
    344     echo '                <Exec CmdLine="'"${MY_KMK_INVOCATION}"' -C %rw"/>'                                            >> "${MY_FILE}"
    345     echo '            </Target>'                                                                                        >> "${MY_FILE}"
    346     echo '            <Target Name="Rebuild" MenuCaption="&amp;Rebuild" CaptureOutputWith="ProcessBuffer"'              >> "${MY_FILE}"
    347     echo '                    SaveOption="SaveWorkspaceFiles" RunFromDir="%rw" ClearProcessBuffer="1">'                 >> "${MY_FILE}"
    348     echo '                <Exec CmdLine="'"${MY_KMK_INVOCATION}"' -C %rw rebuild"/>'                                    >> "${MY_FILE}"
    349     echo '            </Target>'                                                                                        >> "${MY_FILE}"
    350     echo '            <Target Name="Debug" MenuCaption="&amp;Debug" SaveOption="SaveNone" RunFromDir="%rw">'            >> "${MY_FILE}"
    351     echo '                <Exec/>'                                                                                      >> "${MY_FILE}"
    352     echo '            </Target>'                                                                                        >> "${MY_FILE}"
    353     echo '            <Target Name="Execute" MenuCaption="E&amp;xecute" SaveOption="SaveNone" RunFromDir="%rw">'        >> "${MY_FILE}"
    354     echo '                <Exec/>'                                                                                      >> "${MY_FILE}"
    355     echo '            </Target>'                                                                                        >> "${MY_FILE}"
    356     echo '        </Menu>'                                                                                              >> "${MY_FILE}"
    357 
    358     #
    359     # Include directories.
    360     #
    361     echo '        <Includes>'                                                                                           >> "${MY_FILE}"
     429    my_generate_project_config "${MY_FILE}" "Default" "" "" "" "" $*
     430    my_generate_project_config "${MY_FILE}" "Debug + hardening"     "KBUILD_TYPE=debug VBOX_WITH_HARDENING=1"   "" "" "" $*
     431    my_generate_project_config "${MY_FILE}" "Release + hardening"   "KBUILD_TYPE=release VBOX_WITH_HARDENING=1" "" "" "" $*
     432    my_generate_project_config "${MY_FILE}" "Debug+Release + hardening" \
     433        "KBUILD_TYPE=debug VBOX_WITH_HARDENING=1" \
     434        "KBUILD_TYPE=release VBOX_WITH_HARDENING=1" \
     435        "" "" $*
     436    my_generate_project_config "${MY_FILE}" "Debug w/o hardening"   "KBUILD_TYPE=debug VBOX_WITHOUT_HARDENING=1"   "" "" $*
     437    my_generate_project_config "${MY_FILE}" "Release w/o hardening" "KBUILD_TYPE=release VBOX_WITHOUT_HARDENING=1" "" "" $*
     438    my_generate_project_config "${MY_FILE}" "Debug+Release w/o hardening" \
     439        "KBUILD_TYPE=debug VBOX_WITHOUT_HARDENING=1" \
     440        "KBUILD_TYPE=release VBOX_WITHOUT_HARDENING=1" \
     441        "" "" $*
     442    my_generate_project_config "${MY_FILE}" "Debug+Release with and without hardening" \
     443        "KBUILD_TYPE=debug VBOX_WITH_HARDENING=1" \
     444        "KBUILD_TYPE=release VBOX_WITH_HARDENING=1" \
     445        "KBUILD_TYPE=debug VBOX_WITHOUT_HARDENING=1" \
     446        "KBUILD_TYPE=release VBOX_WITHOUT_HARDENING=1" \
     447        $*
     448
    362449    while test $# -ge 1  -a  "${1}" != "--end-includes";
    363450    do
    364         for f in $1;
    365         do
    366             my_abs_dir ${f}
    367             echo '            <Include Dir="'"${MY_ABS_DIR}/"'"/>'                                                      >> "${MY_FILE}"
    368         done
    369         shift
    370     done
    371     shift
    372     echo '        </Includes>'                                                                                          >> "${MY_FILE}"
    373     echo '    </Config>'                                                                                                >> "${MY_FILE}"
    374 
     451        shift;
     452    done;
     453    shift;
    375454
    376455    #
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette