source: autobuild/scripts/autobuild @ 905

Last change on this file since 905 was 905, checked in by moo, 2 years ago

import auto build scripts

File size: 2.2 KB
RevLine 
[905]1#!/bin/sh
2
3isTest() { # {{{1
4    [[ ! -z "$isTest" ]]
5}
6
7cd() { # {{{1
8    builtin cd "$@"
9    if isTest ; then
10        if [[ $OLDPWD != $PWD ]]; then
11            echo cd "$PWD"
12        fi
13    fi
14}
15
16getOutputDir() { # {{{1
17    valueof "$1"OutputDir
18}
19
20getSubdirs() { # {{{1
21    pushd "$1" >/dev/null 2>&1
22    local dir
23    for dir in *; do
24        [[ -d $dir ]] && echo "$dir"
25    done
26    popd >/dev/null 2>&1
27}
28# }}}
29
30getExtVersions() { # {{{1
31    local ext=$1
32    local len=${#ext}
33    local dir
34    ((len=len+1))
35    getSubdirs "$topdir/$1" | while read dir; do
36        echo ${dir:$len}
37    done
38}
39
40loadExt() { # {{{1
41    ext="$1"
42    extDir="$topdir/$ext"
43
44    phpVersions=("${phpVersions[@]}")
45    extVersions=($(getExtVersions "$ext"))
46
47    configFile="$extDir/.config"
48    if [[ ! -f $configFile ]]; then
49        die "$configFile not found"
50    fi
51    . "$configFile"
52    unset configFile
53}
54
55foreachExt() { # {{{1
56    local ext
57    for ext in "${exts[@]}"; do (
58            loadExt "$ext"
59            "$@"
60    ); done
61}
62
63loadExtVersion() { # {{{1
64    extVersion="$1"
65    extDirVersioned="$topdir/$ext/$ext-$extVersion"
66    configFile="$extDirVersioned/.config"
67    if [[ -f $configFile ]]; then
68        . "$configFile"
69    fi
70    unset configFile
71}
72
73foreachExtVersion() { # {{{1
74    local extVersion
75    for extVersion in "${extVersions[@]}"; do (
76            loadExtVersion "$extVersion"
77        "$@"
78    ); done
79}
80
81loadPhpVersion() { # {{{1
82    phpVersion="$1"
83    phpSourcePackage="$sourceDir/php-$phpVersion.tar.bz2"
84    develDirVersioned="$develDir/php-$phpVersion"
85}
86
87foreachPhpVersion() { # {{{1
88    local phpVersion
89    for phpVersion in "${phpVersions[@]}"; do (
90        loadPhpVersion "$phpVersion"
91        "$@"
92    ); done
93}
94foreachPhpReleaseVersion() { # {{{1
95    local arch
96    local compiler
97    local nts
98    local phpReleaseVersion
99    local phpReleaseDir
100
101    for nts in '' '-nts'; do
102        case "$phpVersion" in
103        4.*|5.0.*|5.1.*)
104            phpReleaseVersion="php-$phpVersion-Win32"
105            phpReleaseDir="$develDir/$phpReleaseVersion"
106            arch=x86
107            compiler=VC6
108            nts=
109            "$@"
110            break
111            ;;
112        *)
113            for compiler in "${compilers[@]}"; do
114                for arch in "${arches[@]}"; do
115                    phpReleaseVersion=php-$phpVersion$nts-Win32-$compiler-$arch$snapVersion
116                    phpReleaseDir="$develDir/$phpReleaseVersion"
117                    phpReleaseFile="$sourceDir/$phpReleaseVersion"
118                    if [[ -d $phpReleaseDir || -f $phpReleaseFile ]]; then
119                        "$@"
120                    fi
121                done
122            done
123        esac
124    done
125}
126# }}}
Note: See TracBrowser for help on using the repository browser.