]> err.no Git - sope/commitdiff
improved saxxml, install sope-ical SAX driver in /Library
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Tue, 16 Aug 2005 19:37:29 +0000 (19:37 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Tue, 16 Aug 2005 19:37:29 +0000 (19:37 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1037 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-ical/versitSaxDriver/ChangeLog
sope-ical/versitSaxDriver/GNUmakefile.preamble
sope-ical/versitSaxDriver/Version
sope-xml/GNUmakefile
sope-xml/samples/ChangeLog
sope-xml/samples/saxxml.m

index 41453d4680e3ff24c178a85bef34da0c9fad8c11..b45991ed9a0c1f6a4e714f929616ec7184dc953a 100644 (file)
@@ -1,5 +1,8 @@
 2005-08-16  Helge Hess  <helge.hess@opengroupware.org>
 
+       * install into /Library/SaxDrivers-4.5 when compiling for frameworks
+         (v4.5.18)
+
        * GNUmakefile.preamble: added support for OSX frameworks (v4.5.17)
 
 2005-06-02  Helge Hess  <helge.hess@skyrix.com>
index 075ec3c544d38cdb9f786fe92893ecd115a9b3a0..c9a09c650ea005dddc4d04e02b51400b51bc1bde 100644 (file)
@@ -3,6 +3,13 @@
 SOPE_ROOT=../..
 SOPE_OBJ_ROOT=$(GNUSTEP_BUILD_DIR)/$(SOPE_ROOT)
 
+ifeq ($(FOUNDATION_LIB),apple)
+ifeq ($(frameworks),yes)
+BUNDLE_INSTALL_DIR := /Library/SaxDrivers-$(MAJOR_VERSION).$(MINOR_VERSION)/
+endif
+endif
+
+
 ADDITIONAL_INCLUDE_DIRS +=                     \
        -I$(SOPE_ROOT)/sope-xml                 \
        -I$(SOPE_ROOT)/sope-core/NGExtensions
index da06aa73f42c66be0ff974ed7766a261d2485ce6..5fbb9f75a1e39c91ec6279f771579685d6fdc7f9 100644 (file)
@@ -1,3 +1,3 @@
 # Version file
 
-SUBMINOR_VERSION:=17
+SUBMINOR_VERSION:=18
index 4658864254c015dcc05f835a1b54bdc236dcde26..8d1aa82fc0cd377afd11668e66a88b820c1f6380 100644 (file)
@@ -12,14 +12,10 @@ SUBPROJECTS = \
        XmlRpc          \
        samples
 
-ifneq ($(frameworks),yes)
-
 SUBPROJECTS += STXSaxDriver
 
 ifeq ($(HAS_LIBRARY_xml2),yes)
 SUBPROJECTS += libxmlSAXDriver
 endif
 
-endif
-
 include $(GNUSTEP_MAKEFILES)/aggregate.make
index 216210033307ac325956b43aa6755cf2ab67e04f..0a195060735498d91fe4840864a93280c7e18f39 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-16  Helge Hess  <helge.hess@opengroupware.org>
+
+       * saxxml.m: print a usage information in case no arguments are given or
+         the --help argument is used. Print SAX driver lookup directories when
+         --dirs option is given
+
 2005-05-03  Helge Hess  <helge.hess@opengroupware.org>
 
        * fixed gcc 4.0 warnings, changed for new DOM implemention names
index 047fa28f7ea42d8a22cd4fc11578607581f1b3ea..d5e5caed2d7017ec127c9c1d47187d74108ad476 100644 (file)
 
 @end
 
+@interface SaxXMLReaderFactory(Pathes)
+- (NSArray *)saxReaderSearchPathes;
+@end
+
+static void usage(const char *n) {
+  fprintf(stderr, 
+         "Usage: %s <file1> <file2> ...\n"
+         "\n"
+         "Arguments (Defaults):\n"
+         "  -XMLReader <classname> - select the SAX driver class\n"
+         "  --dirs                 - just print the dirs containing drivers\n"
+         "\n"
+         "Samples:\n"
+         "  %s /etc/X11/xkb/rules/xfree86.xml\n"
+         "  %s -XMLReader STXSaxDriver structured-document.stx\n"
+         "  %s -XMLReader VSiCalSaxDriver event.ics\n"
+         "  %s -XMLReader VSvCardSaxDriver steve.vcf\n"
+         , n, n, n, n, n);
+}
+
+static void listSaxScanDirs(void) {
+  NSArray *a;
+  unsigned i, count;
+  
+  a = [[SaxXMLReaderFactory standardXMLReaderFactory] saxReaderSearchPathes];
+  for (i = 0, count = [a count]; i < count; i++)
+    printf("%s\n", [[a objectAtIndex:i] cString]);
+  
+  if (i == 0) {
+    fprintf(stderr, "found no search pathes!\n");
+    exit(1);
+  }
+}
+
 int main(int argc, char **argv, char **env) {
   id<NSObject,SaxXMLReader> parser;
   id           sax;
@@ -45,6 +79,7 @@ int main(int argc, char **argv, char **env) {
   NSString     *path;
   NSAutoreleasePool *pool;
   NSString          *cwd;
+  BOOL hadPath = NO;
   
   pool   = [[NSAutoreleasePool alloc] init];
 #if LIB_FOUNDATION_LIBRARY
@@ -75,13 +110,25 @@ int main(int argc, char **argv, char **env) {
 
   paths = [[[NSProcessInfo processInfo] arguments] objectEnumerator];
   [paths nextObject];
-  while ((path = [paths nextObject])) {
+  while ((path = [paths nextObject]) != nil) {
     NSAutoreleasePool *pool;
 
+    if ([path isEqualToString:@"--help"]) {
+      usage(argv[0]);
+      exit(0);
+    }
+
+    if ([path isEqualToString:@"--dirs"]) {
+      listSaxScanDirs();
+      exit(0);
+    }
+    
     if ([path hasPrefix:@"-"]) { /* consume defaults */
       [paths nextObject];
       continue;
     }
+
+    hadPath = YES;
     
     pool = [[NSAutoreleasePool alloc] init];
     
@@ -98,6 +145,11 @@ int main(int argc, char **argv, char **env) {
     
     [pool release];
   }
+
+  if (!hadPath) {
+    usage(argv[0]);
+    exit(1);
+  }
   
   /* cleanup */