summaryrefslogtreecommitdiff
path: root/win/configure.js
blob: 263b4fe7da0e093de26665f17566db64677e3412 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
// Configure.js

ForReading = 1;
ForWriting = 2;
ForAppending = 8;

try 
{
	// first we attempt to open the main configure.in file
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    
	var args = WScript.Arguments
	
    var configfile = fso.CreateTextFile("win\\configure.data", true);
    for (i=0; i < args.Count(); i++)
    {
		var parts = args.Item(i).split('=');
		switch (parts[0])
		{
			case "WITH_ARCHIVE_STORAGE_ENGINE":
			case "WITH_BERKELEY_STORAGE_ENGINE":
			case "WITH_BLACKHOLE_STORAGE_ENGINE":
			case "WITH_EXAMPLE_STORAGE_ENGINE":
			case "WITH_FEDERATED_STORAGE_ENGINE":
			case "WITH_INNOBASE_STORAGE_ENGINE":
			case "WITH_PARTITION_STORAGE_ENGINE":
			case "__NT__":
				line = "SET (" + args.Item(i) + " TRUE)";
				break;
			case "MYSQL_SERVER_SUFFIX":
			case "COMPILATION_COMMENT":
			case "MYSQL_TCP_PORT":
				line = "SET (" + parts[0] + " " + parts[1] + ")";
				break;
		}
    
		configfile.WriteLine(line);
    }
    configfile.Close();
    
	fso = null;

    WScript.Echo("done!");
}
catch (e)
{
    WScript.Echo("Error: " + e.description);
}

function GetValue(str, key)
{
    var pos = str.indexOf(key+'=');
    if (pos == -1) return null;
    pos += key.length + 1;
    var end = str.indexOf("\n", pos);
    if (str.charAt(pos) == "\"")
		pos++;
	if (str.charAt(end-1) == "\"")
		end--;
    return str.substring(pos, end);    
}

function GetVersion(str)
{
    var key = "AM_INIT_AUTOMAKE(mysql, ";
    var pos = str.indexOf(key); //5.0.6-beta)
    if (pos == -1) return null;
    pos += key.length;
    var end = str.indexOf(")", pos);
    if (end == -1) return null;
    return str.substring(pos, end);
}

function GetBaseVersion(version)
{
    var dot = version.indexOf(".");
    if (dot == -1) return null;
    dot = version.indexOf(".", dot+1);
    if (dot == -1) dot = version.length;
    return version.substring(0, dot);
}

function GetVersionId(version)
{
    var dot = version.indexOf(".");
    if (dot == -1) return null;
    var major = parseInt(version.substring(0, dot), 10);
    
    dot++;
    var nextdot = version.indexOf(".", dot);
    if (nextdot == -1) return null;
    var minor = parseInt(version.substring(dot, nextdot), 10);
    dot = nextdot+1;
    
    var stop = version.indexOf("-", dot);
    if (stop == -1) stop = version.length;
    var build = parseInt(version.substring(dot, stop), 10);
    
    var id = major;
    if (minor < 10)
        id += '0';
    id += minor;
    if (build < 10)
        id += '0';
    id += build;
    return id;
}