Browse code

Change OS X ARCHS to Universal

Nat! authored on 21-09-2015 18:09:53
Showing 5 changed files
... ...
@@ -18,6 +18,7 @@ iOS
18 18
 to produce a static library libMulleScion.a with a set of include headers.
19 19
 
20 20
 
21
+
21 22
 CocoaPods
22 23
 =========
23 24
 
... ...
@@ -33,6 +34,21 @@ and add
33 34
 on the commandline.
34 35
 
35 36
 
37
+mulle-bootstrap
38
+=========
39
+
40
+      Add http://www.mulle-kybernetik.com/repositories/MulleScion
41
+      
42
+to your
43
+
44
+      .bootstrap/gits
45
+
46
+and say
47
+
48
+      mulle-bootstrap
49
+
50
+
51
+
36 52
 Tips
37 53
 ====
38 54
 
... ...
@@ -2063,6 +2063,7 @@
2063 2063
 		41764B9B16DA511200560FCF /* Debug */ = {
2064 2064
 			isa = XCBuildConfiguration;
2065 2065
 			buildSettings = {
2066
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2066 2067
 				PRODUCT_NAME = "mulle-scion";
2067 2068
 				SKIP_INSTALL = NO;
2068 2069
 			};
... ...
@@ -2071,6 +2072,7 @@
2071 2072
 		41764B9C16DA511200560FCF /* Release */ = {
2072 2073
 			isa = XCBuildConfiguration;
2073 2074
 			buildSettings = {
2075
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2074 2076
 				PRODUCT_NAME = "mulle-scion";
2075 2077
 				SKIP_INSTALL = NO;
2076 2078
 			};
... ...
@@ -2131,6 +2133,7 @@
2131 2133
 		4178D2FF16E00263001C9FB0 /* Profile */ = {
2132 2134
 			isa = XCBuildConfiguration;
2133 2135
 			buildSettings = {
2136
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2134 2137
 				PRODUCT_NAME = "mulle-scion";
2135 2138
 				SKIP_INSTALL = NO;
2136 2139
 			};
... ...
@@ -2139,6 +2142,7 @@
2139 2142
 		4178D30116E00263001C9FB0 /* Profile */ = {
2140 2143
 			isa = XCBuildConfiguration;
2141 2144
 			buildSettings = {
2145
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2142 2146
 				COMBINE_HIDPI_IMAGES = YES;
2143 2147
 				PRODUCT_NAME = MulleScionParser;
2144 2148
 			};
... ...
@@ -2147,6 +2151,7 @@
2147 2151
 		4178D30216E00263001C9FB0 /* Profile */ = {
2148 2152
 			isa = XCBuildConfiguration;
2149 2153
 			buildSettings = {
2154
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2150 2155
 				COMBINE_HIDPI_IMAGES = YES;
2151 2156
 				PRODUCT_NAME = MulleScionPrinter;
2152 2157
 			};
... ...
@@ -2155,6 +2160,7 @@
2155 2160
 		4178D30416E00263001C9FB0 /* Profile */ = {
2156 2161
 			isa = XCBuildConfiguration;
2157 2162
 			buildSettings = {
2163
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2158 2164
 				COMBINE_HIDPI_IMAGES = YES;
2159 2165
 				PRIVATE_HEADERS_FOLDER_PATH = "/usr/local/include/${PRODUCT_NAME}/private";
2160 2166
 				PRODUCT_NAME = MulleScion;
... ...
@@ -2166,6 +2172,7 @@
2166 2172
 		4178D30516E00263001C9FB0 /* Profile */ = {
2167 2173
 			isa = XCBuildConfiguration;
2168 2174
 			buildSettings = {
2175
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2169 2176
 				COMBINE_HIDPI_IMAGES = YES;
2170 2177
 				FRAMEWORK_VERSION = A;
2171 2178
 				INFOPLIST_FILE = "src/MulleScion-Info.plist";
... ...
@@ -2178,6 +2185,7 @@
2178 2185
 		41AEA211182D097300840887 /* Debug */ = {
2179 2186
 			isa = XCBuildConfiguration;
2180 2187
 			buildSettings = {
2188
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2181 2189
 				COMBINE_HIDPI_IMAGES = YES;
2182 2190
 				PRODUCT_NAME = MulleScionGraphviz;
2183 2191
 				SKIP_INSTALL = NO;
... ...
@@ -2187,6 +2195,7 @@
2187 2195
 		41AEA212182D097300840887 /* Release */ = {
2188 2196
 			isa = XCBuildConfiguration;
2189 2197
 			buildSettings = {
2198
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2190 2199
 				COMBINE_HIDPI_IMAGES = YES;
2191 2200
 				PRODUCT_NAME = MulleScionGraphviz;
2192 2201
 				SKIP_INSTALL = NO;
... ...
@@ -2196,6 +2205,7 @@
2196 2205
 		41AEA213182D097300840887 /* Profile */ = {
2197 2206
 			isa = XCBuildConfiguration;
2198 2207
 			buildSettings = {
2208
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2199 2209
 				COMBINE_HIDPI_IMAGES = YES;
2200 2210
 				PRODUCT_NAME = MulleScionGraphviz;
2201 2211
 				SKIP_INSTALL = NO;
... ...
@@ -2205,6 +2215,7 @@
2205 2215
 		41D6DEE316DE509F004833D6 /* Debug */ = {
2206 2216
 			isa = XCBuildConfiguration;
2207 2217
 			buildSettings = {
2218
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2208 2219
 				COMBINE_HIDPI_IMAGES = YES;
2209 2220
 				PRODUCT_NAME = MulleScionPrinter;
2210 2221
 			};
... ...
@@ -2213,6 +2224,7 @@
2213 2224
 		41D6DEE416DE509F004833D6 /* Release */ = {
2214 2225
 			isa = XCBuildConfiguration;
2215 2226
 			buildSettings = {
2227
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2216 2228
 				COMBINE_HIDPI_IMAGES = YES;
2217 2229
 				PRODUCT_NAME = MulleScionPrinter;
2218 2230
 			};
... ...
@@ -2221,6 +2233,7 @@
2221 2233
 		41D6DF0E16DE51C9004833D6 /* Debug */ = {
2222 2234
 			isa = XCBuildConfiguration;
2223 2235
 			buildSettings = {
2236
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2224 2237
 				COMBINE_HIDPI_IMAGES = YES;
2225 2238
 				PRODUCT_NAME = MulleScionParser;
2226 2239
 			};
... ...
@@ -2229,6 +2242,7 @@
2229 2242
 		41D6DF0F16DE51C9004833D6 /* Release */ = {
2230 2243
 			isa = XCBuildConfiguration;
2231 2244
 			buildSettings = {
2245
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2232 2246
 				COMBINE_HIDPI_IMAGES = YES;
2233 2247
 				PRODUCT_NAME = MulleScionParser;
2234 2248
 			};
... ...
@@ -2237,6 +2251,7 @@
2237 2251
 		41D6DF2E16DE523E004833D6 /* Debug */ = {
2238 2252
 			isa = XCBuildConfiguration;
2239 2253
 			buildSettings = {
2254
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2240 2255
 				COMBINE_HIDPI_IMAGES = YES;
2241 2256
 				PRIVATE_HEADERS_FOLDER_PATH = "/usr/local/include/${PRODUCT_NAME}/private";
2242 2257
 				PRODUCT_NAME = MulleScion;
... ...
@@ -2248,6 +2263,7 @@
2248 2263
 		41D6DF2F16DE523E004833D6 /* Release */ = {
2249 2264
 			isa = XCBuildConfiguration;
2250 2265
 			buildSettings = {
2266
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2251 2267
 				COMBINE_HIDPI_IMAGES = YES;
2252 2268
 				PRIVATE_HEADERS_FOLDER_PATH = "/usr/local/include/${PRODUCT_NAME}/private";
2253 2269
 				PRODUCT_NAME = MulleScion;
... ...
@@ -2259,6 +2275,7 @@
2259 2275
 		41D6DF6E16DE53AE004833D6 /* Debug */ = {
2260 2276
 			isa = XCBuildConfiguration;
2261 2277
 			buildSettings = {
2278
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2262 2279
 				COMBINE_HIDPI_IMAGES = YES;
2263 2280
 				FRAMEWORK_VERSION = A;
2264 2281
 				INFOPLIST_FILE = "src/MulleScion-Info.plist";
... ...
@@ -2271,6 +2288,7 @@
2271 2288
 		41D6DF6F16DE53AE004833D6 /* Release */ = {
2272 2289
 			isa = XCBuildConfiguration;
2273 2290
 			buildSettings = {
2291
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2274 2292
 				COMBINE_HIDPI_IMAGES = YES;
2275 2293
 				FRAMEWORK_VERSION = A;
2276 2294
 				INFOPLIST_FILE = "src/MulleScion-Info.plist";
... ...
@@ -2310,6 +2328,7 @@
2310 2328
 		41FAED7E182D275E002CD114 /* Debug */ = {
2311 2329
 			isa = XCBuildConfiguration;
2312 2330
 			buildSettings = {
2331
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2313 2332
 				COMBINE_HIDPI_IMAGES = YES;
2314 2333
 				PRODUCT_NAME = MulleScionFoundation;
2315 2334
 			};
... ...
@@ -2318,6 +2337,7 @@
2318 2337
 		41FAED7F182D275E002CD114 /* Release */ = {
2319 2338
 			isa = XCBuildConfiguration;
2320 2339
 			buildSettings = {
2340
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2321 2341
 				COMBINE_HIDPI_IMAGES = YES;
2322 2342
 				PRODUCT_NAME = MulleScionFoundation;
2323 2343
 			};
... ...
@@ -2326,6 +2346,7 @@
2326 2346
 		41FAED80182D275E002CD114 /* Profile */ = {
2327 2347
 			isa = XCBuildConfiguration;
2328 2348
 			buildSettings = {
2349
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
2329 2350
 				COMBINE_HIDPI_IMAGES = YES;
2330 2351
 				PRODUCT_NAME = MulleScionFoundation;
2331 2352
 			};
... ...
@@ -70,11 +70,27 @@
70 70
       </BuildableProductRunnable>
71 71
       <CommandLineArguments>
72 72
          <CommandLineArgument
73
+<<<<<<< Updated upstream
73 74
             argument = "https://raw.githubusercontent.com/mulle-nat/MulleScion/release/dox/!_Introduction.scion"
74 75
             isEnabled = "YES">
75 76
          </CommandLineArgument>
76 77
          <CommandLineArgument
77 78
             argument = "https://raw.githubusercontent.com/mulle-nat/MulleScion/release/dox/properties.plist"
79
+=======
80
+            argument = "/tmp/tiny.scion"
81
+            isEnabled = "YES">
82
+         </CommandLineArgument>
83
+         <CommandLineArgument
84
+            argument = "args"
85
+            isEnabled = "YES">
86
+         </CommandLineArgument>
87
+         <CommandLineArgument
88
+            argument = "-"
89
+            isEnabled = "YES">
90
+         </CommandLineArgument>
91
+         <CommandLineArgument
92
+            argument = "VALUE=&quot;VfL Bochum 1848&quot;"
93
+>>>>>>> Stashed changes
78 94
             isEnabled = "YES">
79 95
          </CommandLineArgument>
80 96
       </CommandLineArguments>
... ...
@@ -1,6 +1,35 @@
1
+1853.0
2
+
3
+Made mulle-scion brew compatible. You can now brew it. As I wanted to use
4
+mulle-scion to produce brew formulae, I needed some options in the way
5
+mulle-scion is called.
6
+
7
+It is now possible to do this:
8
+
9
+echo '--- {{ VALUE }} ---' | mulle-scion - keyvalue - VALUE="xxx"
10
+
11
+which produces predicatably
12
+
13
+--- xxx ---
14
+
15
+Templates can be passed in via stdin and the replacement values can be given
16
+as key=value arguments. This makes mulle-scion even more convenient to use
17
+in shell scripts.
18
+
19
+~~~
20
+brew install http://www.mulle-kybernetik.com/software/formulae/mulle-scion.rb
21
+~~~
22
+
23
+There are now "hidden" environment variables WWW_ROOT, WWW_PORT, WWW_PLIST for
24
+the webserver.
25
+
26
+The way libraries are created and headers are written has been standardized and
27
+improved. There is some support for a future "mulle-bootstrap", in case you are
28
+wondering what the .bootstrap folder does.
29
+
1 30
 1852.0
2 31
 
3
-### API change 
32
+### API change
4 33
 
5 34
 Redesigned the "convenience interface". Sorry but I just disliked the
6 35
 proliferation of code, that separated **NSURL** and **NSString** by type. I used the
... ...
@@ -8,7 +37,7 @@ power of ObjC and simplified this without having to resort to degenerics ;)
8 37
 In other words the` +descriptionWithTemplateURL:` method family is gone, just use
9 38
 `+descriptionWithTemplateFile:` with either NSString or NSURL.
10 39
 
11
-### LANGUAGE change 
40
+### LANGUAGE change
12 41
 
13 42
 I apparently goofed up the documentation in 1851 and made an incompatible change
14 43
 so that **mulle-scion** choked up on its own documentation templates. Ahem. That
... ...
@@ -17,6 +46,7 @@ immediately _followed_ by a backtick ` or a backquote \. This ought to be
17 46
 harmless in my opinion, but results may vary.
18 47
 
19 48
 
49
+
20 50
 1851.0
21 51
 
22 52
 *** BIG CHANGE!!! FILTER REDESIGNED ***
... ...
@@ -88,14 +118,14 @@ Fix bug, where MulleScionNull was passed as invocation argument
88 118
 
89 119
 1848.10
90 120
 
91
-*** This can break currently working templates, that contain unnoticed 
121
+*** This can break currently working templates, that contain unnoticed
92 122
     syntax errors! ***
93 123
 
94 124
 * the parser doesn't allow garbage inside mulle-scion tags anymore. It
95 125
   used to parse {{ x = #<%$/&> }} because everything after "x " was
96 126
   ignored, but it was just too confusing in real life use.
97
- 
98
-* simplified expansion of function functionality a bit. 
127
+
128
+* simplified expansion of function functionality a bit.
99 129
   added NSStringFromRange to builtin-functions
100 130
 
101 131
 * added some NSURL methods for opening templates, which is more convenient on
... ...
@@ -142,7 +172,7 @@ too and the dependency on MulleScion was annoying.
142 172
 
143 173
 v1848.6
144 174
 
145
-* add __ARGV__ parsage to mulle-scion. Now you can use mulle-scion as an awk 
175
+* add __ARGV__ parsage to mulle-scion. Now you can use mulle-scion as an awk
146 176
 replacement in other shell scripts, if you so desire.
147 177
 
148 178
 
... ...
@@ -158,7 +188,7 @@ script (experimental)
158 188
 v1848.4
159 189
 
160 190
 * renamed to MulleScion, because now it's more than just a template engine, it's
161
-also somewhat useful as a little standalone Obj-C interpreter. Also 
191
+also somewhat useful as a little standalone Obj-C interpreter. Also
162 192
 MulleScionTemplates was just too long.
163 193
 
164 194
 * The MulleScionConvenience has been renamed to just MulleScion.
... ...
@@ -189,7 +219,7 @@ and rebuild your caches
189 219
 * you used to be able to have random trash after valid scion code, which was nice
190 220
 for documentation. That doesn't work anymore in most cases
191 221
 
192
-* you can now write multiline scripts, but some keywords need still to be 
222
+* you can now write multiline scripts, but some keywords need still to be
193 223
 enclosed as singles in {% %} like macro, block, endblock, extends and maybe
194 224
 some others
195 225
 
... ...
@@ -52,15 +52,15 @@ static id            acquirePropertyListOrDataSourceFromBundle( NSString *s);
52 52
 
53 53
 
54 54
 @implementation NSFileHandle ( MulleScionOutput)
55
-   
55
+
56 56
 - (void) appendString:(NSString *) s
57 57
 {
58 58
    NSData   *data;
59
-      
59
+
60 60
    data = [s dataUsingEncoding:NSUTF8StringEncoding];
61 61
    [self writeData:data];
62 62
 }
63
-   
63
+
64 64
 @end
65 65
 
66 66
 
... ...
@@ -72,7 +72,7 @@ static id            acquirePropertyListOrDataSourceFromBundle( NSString *s);
72 72
 static NSDictionary  *localVariablesFromInfo( NSDictionary *info)
73 73
 {
74 74
    NSMutableDictionary   *sanitize;
75
-   
75
+
76 76
    sanitize = [NSMutableDictionary dictionary];
77 77
    [sanitize setObject:[info objectForKey:@"MulleScionRootTemplate"]
78 78
                 forKey:@"MulleScionRootTemplate"];
... ...
@@ -80,7 +80,7 @@ static NSDictionary  *localVariablesFromInfo( NSDictionary *info)
80 80
                 forKey:@"MulleScionPropertyListName"];
81 81
    [sanitize setObject:[info objectForKey:@"__ARGV__"]
82 82
                 forKey:@"__ARGV__"];
83
-   
83
+
84 84
    return( sanitize);
85 85
 }
86 86
 
... ...
@@ -88,10 +88,9 @@ static NSDictionary  *localVariablesFromInfo( NSDictionary *info)
88 88
 static MulleScionTemplate   *acquireTemplateFromPath( NSString *fileName)
89 89
 {
90 90
    MulleScionTemplate   *template;
91
-   NSData               *data;
92 91
    NSString             *string;
93
-   NSURL                *url;
94
-   
92
+   NSData               *data;
93
+
95 94
    template = nil;
96 95
    //
97 96
    // if fileName stars with '{' assume, that it's a command line template
... ...
@@ -105,7 +104,7 @@ static MulleScionTemplate   *acquireTemplateFromPath( NSString *fileName)
105 104
          string = [[[NSString alloc] initWithData:data
106 105
                                          encoding:NSUTF8StringEncoding] autorelease];
107 106
          template = [[[MulleScionTemplate alloc] initWithString:string] autorelease];
108
-         
107
+
109 108
       }
110 109
       else
111 110
       {
... ...
@@ -133,7 +132,7 @@ static id   acquireDataSourceFromBundle( NSString *s)
133 132
    NSBundle   *bundle;
134 133
    id         plist;
135 134
    Class      cls;
136
-   
135
+
137 136
    bundle = [NSBundle bundleWithPath:s];
138 137
    cls    = [bundle principalClass];
139 138
    if( ! cls)
... ...
@@ -141,20 +140,20 @@ static id   acquireDataSourceFromBundle( NSString *s)
141 140
       NSLog( @"bundle \"%@\" load failure", s);
142 141
       return( nil);
143 142
    }
144
-   
143
+
145 144
    if( ! [cls respondsToSelector:@selector( mulleScionDataSource)])
146 145
    {
147 146
       NSLog( @"bundle's principal class \"%@\" does not respond to +mulleScionDataSource", cls);
148 147
       return( nil);
149 148
    }
150
-   
149
+
151 150
    plist = [cls performSelector:@selector( mulleScionDataSource)];
152 151
    if( ! plist)
153 152
    {
154 153
       NSLog( @"bundle's principal class \"%@\" returned nil for +mulleScionDataSource", cls);
155 154
       return( nil);
156 155
    }
157
-   
156
+
158 157
    if( ! [plist respondsToSelector:@selector( valueForKeyPath:)])
159 158
    {
160 159
       NSLog( @"bundle's dataSource\"%@\" does not respond to -valueForKeyPath:", [plist class]);
... ...
@@ -172,9 +171,9 @@ static id   acquirePropertyListFromArgs( NSArray *args)
172 171
    id                    components;
173 172
    NSString              *key;
174 173
    NSString              *value;
175
-   
174
+
176 175
    plist = [NSMutableDictionary dictionary];
177
-   
176
+
178 177
    rover = [args objectEnumerator];
179 178
    while( arg = [rover nextObject])
180 179
    {
... ...
@@ -183,7 +182,7 @@ static id   acquirePropertyListFromArgs( NSArray *args)
183 182
       key = [components objectAtIndex:0];
184 183
       if( ! [key length])
185 184
          continue;
186
-      
185
+
187 186
       switch( [components count])
188 187
       {
189 188
       default :
... ...
@@ -191,11 +190,11 @@ static id   acquirePropertyListFromArgs( NSArray *args)
191 190
          [components removeObjectAtIndex:0];
192 191
          value = [components componentsJoinedByString:@"="];
193 192
          break;
194
-         
193
+
195 194
       case 2 :
196 195
          value = [components objectAtIndex:1];
197 196
          break;
198
-      
197
+
199 198
       case 1 :
200 199
          value = @"1";
201 200
          break;
... ...
@@ -215,10 +214,10 @@ static id   acquirePropertyListOrDataSourceFromBundle( NSString *s)
215 214
    NSString   *error;
216 215
    NSURL      *url;
217 216
    id         plist;
218
-   
217
+
219 218
    if( [s isEqualToString:@"none"])
220 219
       return( [NSDictionary dictionary]);
221
-   
220
+
222 221
    if( [s isEqualToString:@"-"])
223 222
       data = [[NSFileHandle fileHandleWithStandardInput] readDataToEndOfFile];
224 223
    else
... ...
@@ -243,7 +242,7 @@ static id   acquirePropertyListOrDataSourceFromBundle( NSString *s)
243 242
                                             errorDescription:&error];
244 243
    if( ! plist)
245 244
       NSLog( @"property list failure: %@", error);
246
-   
245
+
247 246
    return( plist);
248 247
 }
249 248
 
... ...
@@ -290,7 +289,7 @@ static NSDictionary  *getInfoFromEnumerator( NSEnumerator *rover)
290 289
    NSString              *plistName;
291 290
    NSString              *templateName;
292 291
    id                    plist;
293
-   
292
+
294 293
    [rover nextObject];  // skip
295 294
 
296 295
    info         = [NSMutableDictionary dictionary];
... ...
@@ -305,7 +304,7 @@ static NSDictionary  *getInfoFromEnumerator( NSEnumerator *rover)
305 304
       plistName = @"none";
306 305
    if( ! [outputName length])
307 306
       outputName = @"-";
308
-   
307
+
309 308
    if( [plistName isEqualToString:@"keyvalue"])
310 309
    {
311 310
       plist = acquirePropertyListFromArgs( argv);
... ...
@@ -315,10 +314,10 @@ static NSDictionary  *getInfoFromEnumerator( NSEnumerator *rover)
315 314
       plist = acquirePropertyListOrDataSourceFromBundle( plistName);
316 315
    if( ! plist)
317 316
       goto usage;
318
-   
317
+
319 318
    [info setObject:plist
320 319
             forKey:@"dataSource"];
321
-   
320
+
322 321
    [info setObject:templateName
323 322
             forKey:@"MulleScionRootTemplate"];
324 323
    [info setObject:plistName
... ...
@@ -328,9 +327,9 @@ static NSDictionary  *getInfoFromEnumerator( NSEnumerator *rover)
328 327
    if( argv)
329 328
       [info setObject:argv
330 329
                forKey:@"__ARGV__"];
331
-   
330
+
332 331
    return( info);
333
-   
332
+
334 333
 usage:
335 334
    usage();
336 335
    return( nil);
... ...
@@ -340,7 +339,7 @@ usage:
340 339
 static NSDictionary  *getInfoFromArguments( void)
341 340
 {
342 341
    NSArray   *arguments;
343
-   
342
+
344 343
    arguments = [[NSProcessInfo processInfo] arguments];
345 344
    return( getInfoFromEnumerator( [arguments objectEnumerator]));
346 345
 }
... ...
@@ -350,7 +349,7 @@ static NSFileHandle   *outputStreamWithInfo( NSDictionary *info)
350 349
 {
351 350
    NSString       *outputName;
352 351
    NSFileHandle   *stream;
353
-   
352
+
354 353
    outputName = [info objectForKey:@"output"];
355 354
    stream     = [NSFileHandle mulleOutputFileHandleWithFilename:outputName];
356 355
    if( ! stream)
... ...
@@ -364,15 +363,15 @@ static void  loadBundles( void)
364 363
    NSEnumerator   *rover;
365 364
    NSBundle       *bundle;
366 365
    NSString       *argument;
367
-   
366
+
368 367
    rover = [[[NSProcessInfo processInfo] arguments] objectEnumerator];
369 368
    [rover nextObject];
370
-   
369
+
371 370
    while( argument = [rover nextObject])
372 371
    {
373 372
       if( [argument hasPrefix:@"-"])
374 373
          continue;
375
-      
374
+
376 375
       bundle = [NSBundle bundleWithIdentifier:argument];
377 376
       if( ! bundle)
378 377
          bundle = [NSBundle bundleWithPath:argument];
... ...
@@ -393,7 +392,9 @@ static int   _archive_main( int argc, const char * argv[], int keyed)
393 392
    NSEnumerator         *rover;
394 393
    NSString             *archiveName;
395 394
    NSString             *fileName;
396
-   
395
+   NSString             *string;
396
+   NSData               *data;
397
+
397 398
    arguments = [[NSProcessInfo processInfo] arguments];
398 399
    rover     = [arguments objectEnumerator];
399 400
    [rover nextObject];  // skip -z
... ...
@@ -405,18 +406,19 @@ static int   _archive_main( int argc, const char * argv[], int keyed)
405 406
    archiveName = [info objectForKey:@"output"];
406 407
    if( [archiveName isEqualToString:@"-"])
407 408
       return( -3);
408
-   
409
+
409 410
    template = acquireTemplateFromPath( fileName);
411
+
410 412
    if( ! template)
411 413
       return( -1);
412
-   
414
+
413 415
    if( ! [template writeArchive:archiveName
414 416
                           keyed:keyed])
415 417
    {
416 418
       NSLog( @"Archive \"%@\" could not be written", archiveName);
417 419
       return( -1);
418 420
    }
419
-   
421
+
420 422
    return( 0);
421 423
 }
422 424
 
... ...
@@ -426,11 +428,11 @@ static int   _main(int argc, const char * argv[])
426 428
    NSDictionary   *info;
427 429
    NSFileHandle   *stream;
428 430
    MulleScionTemplate   *template;
429
-   
431
+
430 432
    info = getInfoFromArguments();
431 433
    if( ! info)
432 434
       return( -3);
433
-   
435
+
434 436
    template = acquireTemplateFromPath( [info objectForKey:@"MulleScionRootTemplate"]);
435 437
    if( ! template)
436 438
       return( -1);
... ...
@@ -446,6 +448,48 @@ static int   _main(int argc, const char * argv[])
446 448
 }
447 449
 
448 450
 
451
+#ifndef DONT_HAVE_WEBSERVER
452
+int    main_www( int argc, const char * argv[])
453
+{
454
+   id      plist;
455
+   char   *s;
456
+   NSString *path;
457
+
458
+   loadBundles();
459
+
460
+   // hack to get something else going
461
+   s = getenv( "WWW_ROOT");
462
+   if( s)
463
+      default_options[ 1] = s;
464
+
465
+   s = getenv( "WWW_PORT");
466
+   if( s)
467
+      default_options[ 3] = s;
468
+
469
+   path = @"/tmp/MulleScionDox/properties.plist";
470
+   s = getenv( "WWW_PLIST");
471
+   if( s)
472
+      path = [NSString stringWithCString:s];
473
+
474
+   if( ! [path isEqualToString:@"-"])
475
+   {
476
+      plist = [NSDictionary dictionaryWithContentsOfFile:path];
477
+      if( ! plist)
478
+      {
479
+         NSLog( @"/tmp/MulleScionDox/properties.plist not found");
480
+         return( -5);
481
+      }
482
+   }
483
+
484
+   if( ! plist)
485
+      plist = [NSDictionary dictionary];
486
+
487
+   mulle_mongoose_main( plist, default_options);
488
+   return( 0);
489
+}
490
+#endif
491
+
492
+
449 493
 int main( int argc, const char * argv[])
450 494
 {
451 495
    NSAutoreleasePool   *pool;
... ...
@@ -457,7 +501,7 @@ int main( int argc, const char * argv[])
457 501
       if( ! strcmp( argv[ 1], "-w"))
458 502
       {
459 503
          int   main_www( int argc, const char * argv[]);
460
-         
504
+
461 505
          return( main_www( argc, argv));
462 506
       }
463 507
 #endif
... ...
@@ -474,7 +518,7 @@ int main( int argc, const char * argv[])
474 518
          return( 0);
475 519
       }
476 520
    }
477
-   
521
+
478 522
    pool = [NSAutoreleasePool new];
479 523
 NS_DURING
480 524
    rval = _main( argc, argv);
... ...
@@ -513,27 +557,27 @@ int   main_www( int argc, const char * argv[])
513 557
    id         plist;
514 558
    char       *s;
515 559
    NSString   *path;
516
-   
560
+
517 561
    loadBundles();
518
-   
562
+
519 563
    // hack to get something else going
520 564
    s = getenv( "MulleScionServerRoot");
521 565
    if( s)
522 566
       default_options[ 1] = s;
523
-   
567
+
524 568
    s = getenv( "MulleScionServerPort");
525 569
    if( s)
526 570
       default_options[ 3] = s;
527
-   
571
+
528 572
    path = @"/tmp/MulleScionDox/properties.plist";
529 573
    s = getenv( "MulleScionServerPlist");
530 574
    if( s)
531 575
       path = [NSString stringWithCString:s];
532
-   
576
+
533 577
    plist = acquirePropertyListOrDataSourceFromBundle( path);
534 578
    if( ! plist)
535 579
       plist = [NSDictionary dictionary];
536
-   
580
+
537 581
    mulle_mongoose_main( plist, default_options);
538 582
    return( 0);
539 583
 }