~oif-team/ubuntu/natty/qt4-x11/xi2.1

« back to all changes in this revision

Viewing changes to mkspecs/features/exclusive_builds.prf

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-08-24 04:09:09 UTC
  • Revision ID: james.westby@ubuntu.com-20050824040909-xmxe9jfr4a0w5671
Tags: upstream-4.0.0
ImportĀ upstreamĀ versionĀ 4.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# addExclusiveBuilds(1config, 2config)
 
2
# Change all output paths that references 2config to have the string 1config in them
 
3
defineTest(fixExclusiveOutputDirs) {
 
4
    firstBuild = $$1
 
5
    secondBuild = $$2
 
6
    count(ARGS, 2, greaterThan):isEqual($$list($$lower($$3)), false):appendFirstBuild = false
 
7
    else:appendFirstBuild = true
 
8
 
 
9
    isEmpty(QMAKE_DIR_REPLACE):QMAKE_DIR_REPLACE += OBJECTS_DIR MOC_DIR
 
10
    lessThan(firstBuild, $$secondBuild):eval($${firstBuild}_and_$${secondBuild}_target:QMAKE_DIR_REPLACE += DESTDIR)
 
11
    else:eval($${secondBuild}_and_$${firstBuild}_target:QMAKE_DIR_REPLACE += DESTDIR)
 
12
    for(fix, QMAKE_DIR_REPLACE) {
 
13
        isEmpty($$fix)|isEqual($$fix, .) {
 
14
            eval($$fix = $${firstBuild})
 
15
        } else:contains($$list($$first($$fix)), .*$${secondBuild}.*) {
 
16
            eval($$fix ~= s/$${secondBuild}/$${firstBuild}/gi)
 
17
        } else:isEqual(appendFirstBuild, true):!contains($$list($$first($$fix)), .*$${firstBuild}.*) {
 
18
            contains($$list($${first($$fix)}), .*/$):eval($$fix = $${first($$fix)}$${firstBuild})
 
19
            else:eval($$fix = $${first($$fix)}-$${firstBuild})
 
20
        }
 
21
        export($$fix)
 
22
    }
 
23
    return(true)
 
24
}
 
25
 
 
26
# addExclusiveBuilds(1config, 1name, 2config, 2name)
 
27
# Adds two BUILDS which are exclusive to each other.
 
28
defineTest(addExclusiveBuilds) {
 
29
    firstBuild = $$1
 
30
    firstBuildName = $$2
 
31
    secondBuild = $$3
 
32
    secondBuildName = $$4
 
33
 
 
34
    !build_pass {
 
35
        first_BUILDS  =
 
36
        second_BUILDS =
 
37
        suffix_BUILDS = Build
 
38
 
 
39
        isEmpty(BUILDS): BUILDPERMUTATIONS = $$suffix_BUILDS
 
40
        else: BUILDPERMUTATIONS = $$BUILDS
 
41
 
 
42
        for(permutation, BUILDPERMUTATIONS) {
 
43
            permutation ~= s/$${suffix_BUILDS}$//
 
44
            isEmpty(permutation): permutationName =
 
45
            else: permutationName = -$$permutation
 
46
            # Makefile target rule
 
47
            eval($${firstBuildName}$${permutation}.target  = $${firstBuild}$$lower($${permutationName}))
 
48
            export($${firstBuildName}$${permuation}.target)
 
49
            # IDE name
 
50
            eval($${firstBuildName}$${permutation}.name    = $${firstBuildName}$${permutationName})
 
51
            export($${firstBuildName}$${permuation}.name)
 
52
            # prl import CONFIG option
 
53
            eval($${firstBuildName}$${permutation}.PRL_CONFIG  = $${firstBuild}$${permutation})
 
54
            export($${firstBuildName}$${permuation}.PRL_CONFIG)
 
55
            # Individual CONFIG option
 
56
            eval($${firstBuildName}$${permutation}.CONFIG  = $${firstBuild} $${firstBuildName}Build $$eval($${permutation}.CONFIG))
 
57
            export($${firstBuildName}$${permuation}.CONFIG)
 
58
 
 
59
            eval($${secondBuildName}$${permutation}.target = $${secondBuild}$$lower($${permutationName}))
 
60
            export($${secondBuildName}$${permuation}.target)
 
61
            eval($${secondBuildName}$${permutation}.name   = $${secondBuildName}$${permutationName})
 
62
            export($${secondBuildName}$${permuation}.name)
 
63
            eval($${secondBuildName}$${permutation}.PRL_CONFIG  = $${secondBuild}$${permutation})
 
64
            export($${secondBuildName}$${permuation}.PRL_CONFIG)
 
65
            eval($${secondBuildName}$${permutation}.CONFIG = $${secondBuild} $${secondBuildName}Build $$eval($${permutation}.CONFIG))
 
66
            export($${secondBuildName}$${permuation}.CONFIG)
 
67
 
 
68
            first_BUILDS += $${firstBuildName}$${permutation}
 
69
            second_BUILDS += $${secondBuildName}$${permutation}
 
70
        }
 
71
 
 
72
        # A mutual exclusive block.
 
73
        CONFIG($${firstBuild}, $${firstBuild}|$${secondBuild}): BUILDS = $$first_BUILDS  $$second_BUILDS 
 
74
        else: BUILDS = $$second_BUILDS $$first_BUILDS
 
75
        export(BUILDS)
 
76
    } else {
 
77
        eval($${firstBuildName}Build:fixExclusiveOutputDirs($$firstBuild, $$secondBuild, false))
 
78
        eval($${secondBuildName}Build:fixExclusiveOutputDirs($$secondBuild, $$firstBuild, false))
 
79
    }
 
80
    return(true)
 
81
}