From: helge Date: Sat, 20 Aug 2005 16:29:53 +0000 (+0000) Subject: added --frameworks option to configure X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c7493ff120a227ef195d067c6782fe532537139;p=sope added --frameworks option to configure fixed makefiles for arbitary framework install locations some code cleanups in EOExt.subproj git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1054 e4a50df8-12e2-0310-a44c-efbce7f8a7e3 --- diff --git a/configure b/configure index efd991e3..c05801b1 100755 --- a/configure +++ b/configure @@ -14,6 +14,7 @@ CFG_ARGS="$0 $1 $2 $3 $4 $5 $6 $7 $8 $9" ARG_BEQUIET=0 ARG_NOCREATE=0 ARG_PREFIX="" +ARG_FRAMEWORK_DIR="" ARG_GSMAKE="$GNUSTEP_MAKEFILES" ARG_CFGMAKE="$PWD/config.make" ARG_WITH_GNUSTEP=0 @@ -51,6 +52,7 @@ Configuration: Installation directories: --prefix=PREFIX install files in PREFIX [/usr/local] + --frameworks=DIR build frameworks and install in DIR --gsmake=PATH path to gnustep-make tree --configmake=PATH path to the config file being created --with-gnustep install in GNUstep tree @@ -68,7 +70,9 @@ function printParas() { echo "Configuration:" if test $ARG_BEQUIET = 1; then echo " will be quite."; fi if test $ARG_NOCREATE = 1; then echo " won't create files"; fi - if test $DARG_IS_FHS = 1; then + if test "x$ARG_FRAMEWORK_DIR" != "x"; then + echo " FHS: install in frameworks directory"; + elif test $DARG_IS_FHS = 1; then echo " FHS: install in FHS root"; else echo " FHS: install in GNUstep tree"; @@ -85,10 +89,11 @@ function printParas() { echo " strip: no"; fi - echo " prefix: $ARG_PREFIX" - echo " gstep: $ARG_GSMAKE" - echo " config: $ARG_CFGMAKE" - echo " script: $DARG_GNUSTEP_SH" + echo " prefix: $ARG_PREFIX" + echo " frameworks: $ARG_FRAMEWORK_DIR" + echo " gstep: $ARG_GSMAKE" + echo " config: $ARG_CFGMAKE" + echo " script: $DARG_GNUSTEP_SH" echo "" } @@ -200,12 +205,13 @@ function setupAppleArgs() { ARG_WITH_GNUSTEP=1 fi - if test "x${xLIBRARY_COMBO}" != "xapple-apple-nil"; then - if test "x${LIBRARY_COMBO}" != "xapple-apple-apple"; then - echo "WARNING: detected MacOSX GNUstep setup: ${LIBRARY_COMBO}" - echo "" - fi - fi + # no reason to print a warning? + #if test "x${xLIBRARY_COMBO}" != "xapple-apple-nil"; then + # if test "x${LIBRARY_COMBO}" != "xapple-apple-apple"; then + # echo "WARNING: detected MacOSX GNUstep setup: ${LIBRARY_COMBO}" + # echo "" + # fi + #fi } function validateArgs() { @@ -229,6 +235,11 @@ function validateArgs() { echo "Note: will install in GNUSTEP_LOCAL_ROOT: $ARG_PREFIX" echo "" fi + elif test "x$ARG_FRAMEWORK_DIR" != "x"; then + DARG_IS_FHS=0; + ARG_PREFIX="$ARG_FRAMEWORK_DIR" + echo "Note: will install in frameworks location: $ARG_PREFIX" + echo "" else DARG_IS_FHS=1; ARG_PREFIX="/usr/local/" @@ -300,10 +311,18 @@ function genConfigMake() { # TODO: should be also write a GNUSTEP_INSTALLATION_DIR / BUNDLE_INSTALL_DIR? - if test $DARG_IS_FHS = 1; then + + if test "x$ARG_FRAMEWORK_DIR" != "x"; then + cfgwrite "# configured to install in Frameworks directory" + cfgwrite "FRAMEWORK_INSTALL_DIR:=${ARG_FRAMEWORK_DIR}" + cfgwrite "frameworks=yes" + cfgwrite "" + elif test $DARG_IS_FHS = 1; then cfgwrite "# configured for FHS install" cfgwrite "FHS_INSTALL_ROOT:=$ARG_PREFIX" cfgwrite "" + else + cfgwrite "# configured for GNUstep install" fi if test $ARG_WITH_DEBUG = 1; then @@ -433,6 +452,10 @@ function processOption() { extractFuncValue $1; ARG_PREFIX="$VALUE"; ;; + x--frameworks=*) + extractFuncValue $1; + ARG_FRAMEWORK_DIR="$VALUE"; + ;; x--gsmake=*) extractFuncValue $1; ARG_GSMAKE="$VALUE"; diff --git a/sope-appserver/GNUmakefile b/sope-appserver/GNUmakefile index be606016..ae522322 100644 --- a/sope-appserver/GNUmakefile +++ b/sope-appserver/GNUmakefile @@ -12,8 +12,23 @@ SUBPROJECTS += \ WOExtensions \ WOXML \ SoOFS \ - NGXmlRpc \ + NGXmlRpc + + +ifeq ($(frameworks),yes) +include umbrella.make +endif + +# project makefiles -include $(GNUSTEP_MAKEFILES)/GNUmakefile.preamble + +ifneq ($(only_umbrella),yes) include $(GNUSTEP_MAKEFILES)/aggregate.make +endif + +ifeq ($(frameworks),yes) +include $(GNUSTEP_MAKEFILES)/framework.make +endif + -include $(GNUSTEP_MAKEFILES)/GNUmakefile.postamble diff --git a/sope-appserver/NGObjWeb/DynamicElements/WOString.api b/sope-appserver/NGObjWeb/DynamicElements/WOString.api index dd4893e1..5823c804 100644 --- a/sope-appserver/NGObjWeb/DynamicElements/WOString.api +++ b/sope-appserver/NGObjWeb/DynamicElements/WOString.api @@ -1,16 +1,18 @@ - - + + - + - - + + + + diff --git a/sope-appserver/NGObjWeb/GNUmakefile.preamble b/sope-appserver/NGObjWeb/GNUmakefile.preamble index 80f24131..6d02aeb8 100644 --- a/sope-appserver/NGObjWeb/GNUmakefile.preamble +++ b/sope-appserver/NGObjWeb/GNUmakefile.preamble @@ -1,11 +1,8 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) ifeq ($(frameworks),yes) -NGObjWeb_INSTALL_DIR = /Library/Frameworks/ ADDITIONAL_CPPFLAGS += -DCOMPILE_AS_FRAMEWORK=1 endif -endif SOPE_ROOT=../.. diff --git a/sope-appserver/NGXmlRpc/GNUmakefile.preamble b/sope-appserver/NGXmlRpc/GNUmakefile.preamble index 3f18f997..151780d1 100644 --- a/sope-appserver/NGXmlRpc/GNUmakefile.preamble +++ b/sope-appserver/NGXmlRpc/GNUmakefile.preamble @@ -3,10 +3,6 @@ SOPE_ROOT=../.. CORE_ROOT=$(SOPE_ROOT)/sope-core -ifeq ($(FOUNDATION_LIB),apple) -NGXmlRpc_INSTALL_DIR = /Library/Frameworks/ -endif - ADDITIONAL_CPPFLAGS += -Wall -DCOMPILE_FOR_GSTEP_MAKE=1 ADDITIONAL_OBJCFLAGS += -Wall -Wno-import -Wno-protocol diff --git a/sope-appserver/SoOFS/GNUmakefile.preamble b/sope-appserver/SoOFS/GNUmakefile.preamble index 6a8f8162..f2c930b8 100644 --- a/sope-appserver/SoOFS/GNUmakefile.preamble +++ b/sope-appserver/SoOFS/GNUmakefile.preamble @@ -6,10 +6,6 @@ ADDITIONAL_OBJCFLAGS += -Wall -Wno-import -Wno-protocol SOPE_ROOT=../.. CORE_ROOT=$(SOPE_ROOT)/sope-core -ifeq ($(FOUNDATION_LIB),apple) -SoOFS_INSTALL_DIR = /Library/Frameworks/ -endif - ADDITIONAL_INCLUDE_DIRS += \ -I. \ -I.. \ diff --git a/sope-appserver/WEExtensions/GNUmakefile.preamble b/sope-appserver/WEExtensions/GNUmakefile.preamble index 7a46e7e7..06bbda2a 100644 --- a/sope-appserver/WEExtensions/GNUmakefile.preamble +++ b/sope-appserver/WEExtensions/GNUmakefile.preamble @@ -2,12 +2,6 @@ SOPE_ROOT=../.. -ifeq ($(FOUNDATION_LIB),apple) -ifeq ($(frameworks),yes) -WEExtensions_INSTALL_DIR = /Library/Frameworks/ -endif -endif - ADDITIONAL_CPPFLAGS += -Wall ADDITIONAL_INCLUDE_DIRS += \ -I.. -I$(SOPE_ROOT) -I../NGObjWeb \ diff --git a/sope-appserver/WOExtensions/GNUmakefile.preamble b/sope-appserver/WOExtensions/GNUmakefile.preamble index 34b1bd53..350dc8c3 100644 --- a/sope-appserver/WOExtensions/GNUmakefile.preamble +++ b/sope-appserver/WOExtensions/GNUmakefile.preamble @@ -2,12 +2,6 @@ SOPE_ROOT=../.. -ifeq ($(FOUNDATION_LIB),apple) -ifeq ($(frameworks),yes) -WOExtensions_INSTALL_DIR = /Library/Frameworks/ -endif -endif - ADDITIONAL_CPPFLAGS += -Wall ADDITIONAL_INCLUDE_DIRS += \ -I.. -I$(SOPE_ROOT) \ diff --git a/sope-appserver/WOXML/GNUmakefile.preamble b/sope-appserver/WOXML/GNUmakefile.preamble index 628d4603..30f4ddfb 100644 --- a/sope-appserver/WOXML/GNUmakefile.preamble +++ b/sope-appserver/WOXML/GNUmakefile.preamble @@ -2,12 +2,6 @@ SOPE_ROOT=../.. -ifeq ($(FOUNDATION_LIB),apple) -ifeq ($(frameworks),yes) -WOXML_INSTALL_DIR = /Library/Frameworks/ -endif -endif - libWOXML_SOVERSION=$(MAJOR_VERSION).$(MINOR_VERSION) libWOXML_VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBMINOR_VERSION) diff --git a/sope-appserver/samples/CoreDataBlog/Main.wo/Main.wod b/sope-appserver/samples/CoreDataBlog/Main.wo/Main.wod index bbcdd7b9..0986ba40 100644 --- a/sope-appserver/samples/CoreDataBlog/Main.wo/Main.wod +++ b/sope-appserver/samples/CoreDataBlog/Main.wo/Main.wod @@ -32,7 +32,7 @@ PostSelectLink: WOHyperlink { } PostTitle: WOString { - value = post.title; + value = post.creationDate; // title; valueWhenEmpty = "[no title]"; } diff --git a/sope-appserver/umbrella.make b/sope-appserver/umbrella.make index 86fa3915..d9679dab 100644 --- a/sope-appserver/umbrella.make +++ b/sope-appserver/umbrella.make @@ -17,8 +17,6 @@ sope-appserver_UMBRELLA_FRAMEWORKS = \ NGXmlRpc \ sope-appserver_PREBIND_ADDR = # TODO -sope-appserver_INSTALL_DIR = /Library/Frameworks/ - # generic (consolidate in gstep-make) $(FRAMEWORK_NAME)_LDFLAGS += \ diff --git a/sope-core/EOControl/GNUmakefile.preamble b/sope-core/EOControl/GNUmakefile.preamble index 93f8b97c..d4cdb0f9 100644 --- a/sope-core/EOControl/GNUmakefile.preamble +++ b/sope-core/EOControl/GNUmakefile.preamble @@ -1,9 +1,5 @@ # GNUstep Makefile -ifeq ($(FOUNDATION_LIB),apple) -EOControl_INSTALL_DIR = /Library/Frameworks/ -endif - libEOControl_INCLUDE_DIRS += -I.. ADDITIONAL_CPPFLAGS += -Wall -funsigned-char diff --git a/sope-core/EOCoreData/GNUmakefile.preamble b/sope-core/EOCoreData/GNUmakefile.preamble index cf89f7f3..62e1aff0 100644 --- a/sope-core/EOCoreData/GNUmakefile.preamble +++ b/sope-core/EOCoreData/GNUmakefile.preamble @@ -1,9 +1,5 @@ # GNUstep Makefile -ifeq ($(FOUNDATION_LIB),apple) -EOCoreData_INSTALL_DIR = /Library/Frameworks/ -endif - ADDITIONAL_CPP_FLAGS += -Wall -Wno-import -Wno-protocol -O2 libEOCoreData_INCLUDE_DIRS += -I.. diff --git a/sope-core/NGExtensions/ChangeLog b/sope-core/NGExtensions/ChangeLog index 2314cb1f..4e09191a 100644 --- a/sope-core/NGExtensions/ChangeLog +++ b/sope-core/NGExtensions/ChangeLog @@ -1,3 +1,7 @@ +2005-08-20 Helge Hess + + * EOExt.subproj: code cleanups, added a README.txt (v4.5.172) + 2005-08-19 Helge Hess * added method to calculate a calendar matrix for a date representing diff --git a/sope-core/NGExtensions/EOExt.subproj/EOCompoundDataSource.m b/sope-core/NGExtensions/EOExt.subproj/EOCompoundDataSource.m index 1a1fd9ce..7928993d 100644 --- a/sope-core/NGExtensions/EOExt.subproj/EOCompoundDataSource.m +++ b/sope-core/NGExtensions/EOExt.subproj/EOCompoundDataSource.m @@ -44,24 +44,25 @@ /* accessors */ - (void)setSources:(NSArray *)_sources { - if (self->sources != _sources) { - _sources = [_sources shallowCopy]; - [self->sources release]; - self->sources = _sources; - { - NSNotificationCenter *nc; - NSEnumerator *enumerator; - id obj; + NSNotificationCenter *nc; + NSEnumerator *enumerator; + id obj; - nc = [NSNotificationCenter defaultCenter]; - enumerator = [self->sources objectEnumerator]; + if (self->sources == _sources) + return; + + // BUG: this needs to unregister the old datssources! + _sources = [_sources shallowCopy]; + [self->sources release]; + self->sources = _sources; + + nc = [NSNotificationCenter defaultCenter]; + enumerator = [self->sources objectEnumerator]; - while ((obj = [enumerator nextObject])) { - [nc addObserver:self - selector:@selector(postDataSourceChangedNotification) - name:EODataSourceDidChangeNotification object:obj]; - } - } + while ((obj = [enumerator nextObject]) != nil) { + [nc addObserver:self + selector:@selector(postDataSourceChangedNotification) + name:EODataSourceDidChangeNotification object:obj]; } [self postDataSourceChangedNotification]; } @@ -78,11 +79,13 @@ } - (void)setSortOrderings:(NSArray *)_so { - if (self->sortOrderings != _so) { - _so = [_so shallowCopy]; - [self->sortOrderings release]; - self->sortOrderings = _so; - } + if (self->sortOrderings == _so) + return; + + _so = [_so shallowCopy]; + [self->sortOrderings release]; + self->sortOrderings = _so; + [self postDataSourceChangedNotification]; } - (NSArray *)sortOrderings { @@ -124,10 +127,10 @@ if (objs == nil) return [NSArray array]; - if ([self auxiliaryQualifier]) + if ([self auxiliaryQualifier] != nil) objs = [objs filteredArrayUsingQualifier:[self auxiliaryQualifier]]; - if ([self sortOrderings]) + if ([self sortOrderings] != nil) objs = [objs sortedArrayUsingKeyOrderArray:[self sortOrderings]]; return objs; @@ -195,26 +198,31 @@ - (id)createObject { unsigned count; + id newObj = nil; if ((count = [[self sources] count]) == 0) - return [super createObject]; + newObj = [[super createObject] retain]; else if (count == 1) - return [[[self sources] objectAtIndex:0] createObject]; + newObj = [[[[self sources] objectAtIndex:0] createObject] retain]; else { NSEnumerator *e; EODataSource *ds; e = [[self sources] objectEnumerator]; - while ((ds = [e nextObject])) { + while ((ds = [e nextObject]) != nil) { id obj; - if ((obj = [ds createObject])) - return obj; + if ((obj = [ds createObject])) { + newObj = [obj retain]; + break; + } } /* all datasources failed to create .. */ - return [super createObject]; + if (newObj == nil) + newObj = [[super createObject] retain]; } [self postDataSourceChangedNotification]; + return [newObj autorelease]; } - (void)updateObject:(id)_obj { diff --git a/sope-core/NGExtensions/EOExt.subproj/EODataSource+NGExtensions.m b/sope-core/NGExtensions/EOExt.subproj/EODataSource+NGExtensions.m index d1bc5eb3..7a696cad 100644 --- a/sope-core/NGExtensions/EOExt.subproj/EODataSource+NGExtensions.m +++ b/sope-core/NGExtensions/EOExt.subproj/EODataSource+NGExtensions.m @@ -33,11 +33,11 @@ NGExtensions_DECLARE NSString *EONoFetchWithEmptyQualifierHint = - (void)setFetchSpecification:(EOFetchSpecification *)_fetchSpec { [self doesNotRecognizeSelector:_cmd]; } - - (EOFetchSpecification *)fetchSpecification { [self doesNotRecognizeSelector:_cmd]; return nil; } + - (void)updateObject:(id)_obj { [self doesNotRecognizeSelector:_cmd]; } diff --git a/sope-core/NGExtensions/EOExt.subproj/EOFetchSpecification+plist.m b/sope-core/NGExtensions/EOExt.subproj/EOFetchSpecification+plist.m index 8049e2e7..48d5a59d 100644 --- a/sope-core/NGExtensions/EOExt.subproj/EOFetchSpecification+plist.m +++ b/sope-core/NGExtensions/EOExt.subproj/EOFetchSpecification+plist.m @@ -26,10 +26,12 @@ @implementation EOFetchSpecification(plist) - (id)initWithDictionary:(NSDictionary *)_dictionary { - if ((self = [self init])) { + if ((self = [self init]) != nil) { id tmp; + + // TODO: add groupings - if ((tmp = [_dictionary objectForKey:@"qualifier"])) { + if ((tmp = [_dictionary objectForKey:@"qualifier"]) != nil) { if ([tmp isKindOfClass:[NSDictionary class]]) tmp = [EOQualifier qualifierToMatchAllValues:tmp]; else @@ -38,7 +40,7 @@ [self setQualifier:tmp]; } - if ((tmp = [_dictionary objectForKey:@"sortOrderings"])) { + if ((tmp = [_dictionary objectForKey:@"sortOrderings"]) != nil) { NSArray *sos = nil; EOSortOrdering *so; @@ -55,19 +57,19 @@ if (so) [result addObject:so]; } - sos = [NSArray arrayWithArray:result]; + sos = [[NSArray alloc] initWithArray:result]; } else { so = [[[EOSortOrdering alloc] initWithPropertyList:tmp owner:nil] autorelease]; - if (so) - sos = [NSArray arrayWithObject:so]; + if (so != nil) sos = [[NSArray alloc] initWithObjects:&so count:1]; } - [self setSortOrderings:sos]; + if (sos != nil) [self setSortOrderings:sos]; + [sos release]; } - if ((tmp = [_dictionary objectForKey:@"fetchLimit"])) { + if ((tmp = [_dictionary objectForKey:@"fetchLimit"]) != nil) { if ([tmp respondsToSelector:@selector(intValue)]) [self setFetchLimit:[tmp intValue]]; else diff --git a/sope-core/NGExtensions/EOExt.subproj/EOFilterDataSource.m b/sope-core/NGExtensions/EOExt.subproj/EOFilterDataSource.m index cac5719b..d47b4d76 100644 --- a/sope-core/NGExtensions/EOExt.subproj/EOFilterDataSource.m +++ b/sope-core/NGExtensions/EOExt.subproj/EOFilterDataSource.m @@ -142,7 +142,7 @@ objs = [[self source] fetchObjects]; - if ([self auxiliaryQualifier]) + if ([self auxiliaryQualifier] != nil) objs = [objs filteredArrayUsingQualifier:[self auxiliaryQualifier]]; if ((groups = [self groupings]) != nil) { @@ -156,16 +156,16 @@ grouping = [groups lastObject]; - if ((sos = [self sortOrderings]) != nil) { + if ((sos = [self sortOrderings]) != nil) [grouping setSortOrderings:sos]; - } + groupDict = [objs arrayGroupedBy:grouping]; allKeys = [groupDict allKeys]; allKeys = [allKeys sortedArrayUsingSelector:@selector(compare:)]; objs = [groupDict flattenedArrayWithHint:cnt andKeys:allKeys]; } - else if ([self sortOrderings]) + else if ([self sortOrderings] != nil) objs = [objs sortedArrayUsingKeyOrderArray:[self sortOrderings]]; objs = [objs copy]; @@ -223,6 +223,10 @@ - (NSArray *)flattenedArrayWithHint:(unsigned int)_hint andKeys:(NSArray *)_keys { + /* + This works on a dictionary of arrays. It walks over the keys in the given + order and flattenes the value arrays into one array. + */ NSMutableArray *result = nil; unsigned int i, cnt; diff --git a/sope-core/NGExtensions/EOExt.subproj/EOKeyGrouping.m b/sope-core/NGExtensions/EOExt.subproj/EOKeyGrouping.m index d2ce34a0..368cf95d 100644 --- a/sope-core/NGExtensions/EOExt.subproj/EOKeyGrouping.m +++ b/sope-core/NGExtensions/EOExt.subproj/EOKeyGrouping.m @@ -40,13 +40,13 @@ /* accessors */ -- (NSString *)key { - return self->key; -} - (void)setKey:(NSString *)_key { NSAssert1(_key != nil, @"%s: nil _key parameter", __PRETTY_FUNCTION__); ASSIGNCOPY(self->key, _key); } +- (NSString *)key { + return self->key; +} /* operations */ diff --git a/sope-core/NGExtensions/EOExt.subproj/EOKeyMapDataSource.m b/sope-core/NGExtensions/EOExt.subproj/EOKeyMapDataSource.m index b63d2802..700fd609 100644 --- a/sope-core/NGExtensions/EOExt.subproj/EOKeyMapDataSource.m +++ b/sope-core/NGExtensions/EOExt.subproj/EOKeyMapDataSource.m @@ -162,7 +162,7 @@ [self->entityKeys release]; self->entityKeys = nil; [self->mappedKeys release]; self->mappedKeys = nil; - if (_cd) { + if (_cd != nil) { NSMutableArray *ma; NSArray *tmp; unsigned i, count; @@ -171,18 +171,18 @@ /* first, collect keys we need */ - if ((tmp = [_cd attributeKeys])) + if ((tmp = [_cd attributeKeys]) != nil) [ma addObjectsFromArray:tmp]; - if ((tmp = [_cd toOneRelationshipKeys])) + if ((tmp = [_cd toOneRelationshipKeys]) != nil) [ma addObjectsFromArray:tmp]; - if ((tmp = [_cd toManyRelationshipKeys])) + if ((tmp = [_cd toManyRelationshipKeys]) != nil) [ma addObjectsFromArray:tmp]; self->entityKeys = [ma copy]; /* next, map those keys to the source-schema */ - if (self->map) { + if (self->map != nil) { [ma removeAllObjects]; for (i = 0, count = [entityKeys count]; i < count; i++) { NSString *mappedKey, *key; @@ -218,19 +218,21 @@ } - (void)setFetchSpecification:(EOFetchSpecification *)_fetchSpec { - if (![_fetchSpec isEqual:self->fspec]) { - /* + EOFetchSpecification *mappedSpec; + + if ([_fetchSpec isEqual:self->fspec]) + return; + + /* This saves the spec in the datasource and saves a mapped spec in the source datasource. - */ - EOFetchSpecification *mappedSpec; + */ - ASSIGN(self->fspec, _fetchSpec); - mappedSpec = [self mapFetchSpecification:self->fspec]; - [self->source setFetchSpecification:mappedSpec]; + ASSIGN(self->fspec, _fetchSpec); + mappedSpec = [self mapFetchSpecification:self->fspec]; + [self->source setFetchSpecification:mappedSpec]; - [self postDataSourceChangedNotification]; - } + [self postDataSourceChangedNotification]; } - (EOFetchSpecification *)fetchSpecification { return self->fspec; @@ -302,9 +304,7 @@ return fmt; } -@end /* EOKeyMapDataSource */ - -@implementation EOKeyMapDataSource(Private) +/* private */ - (void)_registerForSource:(id)_source { static NSNotificationCenter *nc = nil; @@ -333,7 +333,8 @@ [self postDataSourceChangedNotification]; } -@end /* EOKeyMapDataSource(Private) */ +@end /* EOKeyMapDataSource */ + @implementation EOKeyMapDataSourceEnumerator @@ -370,6 +371,7 @@ @end /* EOKeyMapDataSourceEnumerator */ + @implementation EOMappedObject - (id)initWithObject:(id)_object values:(NSDictionary *)_values { diff --git a/sope-core/NGExtensions/EOExt.subproj/README.txt b/sope-core/NGExtensions/EOExt.subproj/README.txt new file mode 100644 index 00000000..65890cc4 --- /dev/null +++ b/sope-core/NGExtensions/EOExt.subproj/README.txt @@ -0,0 +1,95 @@ +Extensions for EOControl +======================== + +This subproject contains categories and additional classes to enhance +functionality provided by EOControl. + + +General additions: +a) plist init methods, like -initWithPropertyList:, + -initWithPropertyList:owner:, -initWithString:, -initWithDictionary:, etc + + +DataSources +=========== + +General Additions +***************** + +NGExtensions adds the following to datasources: +a) standardized -setFetchSpecification:/-fetchSpecification +b) -updateObject: for triggering updates in 'raw' datasources +c) -postDataSourceChanged, to notify the system of changed datasource + fetch specifications + +EOCacheDataSource +***************** + +A "regular" EODataSource in SOPE is not supposed to cache the results it +fetches, it should just perform the raw fetch and then tidy up. To provide +caching, you can wrap an arbitary datasource in an EOCacheDataSource which +will manage the cache, perform on-demand loads etc. + +To keep the cache consistent, in SOPE a EODataSource is supposed to call +-postDataSourceChanged when its fetch-specification changes in a way which +would lead to different fetch results. + +(Notably an EODatabaseDataSource in EOF2 often has implicit caching in the + EOObjectStore/EOEditingContext, the above applies more to SOPE and OGo + datasources like the NGLdapDataSource, NGImap4FolderDataSource, + EOAdaptorDataSource etc). + +EOCompoundDataSource +******************** + +As the name suggests this datasource joins the results of other datasources +into one. +In the context of create/insert/delete/update operations, the datasource tries +each of the child datasources in sequence until one of them succeeds in the +delete and otherwise calls the super method. + +Finally this datasource has own sort-orderings and an own auxiliaryQualifier. + +EOFilterDataSource +****************** + +This datasource is somewhat similiar to EOCompoundDataSource but intended for +subclassing and has just one source datasources. It provides own +sort-orderings, groupings and an own auxiliaryQualifier. +It can be used as-is to add grouping capabilities to datasources. + +EOKeyMapDataSource +****************** +TODO: document +- EOMappedObject +- EOKeyMapDataSourceEnumerator + + +Grouping +======== + +TODO document. + +- Groupings on an EODataSource still return an array, but one sorted by the + 'grouping keys'. Remember that the grouping does *not* need to be a plain + KVC key but can be arbitary. + +- You can add grouping facilities to arbitary datasources using + EOFilterDataSource. + +Convenience methods +******************* +NSArray +- (NSArray *)arrayGroupedBy:(EOGrouping *)_grouping; + +EOFetchSpecification: +- setGroupings:(NSArray *)_groupings; // sets 'EOGroupingHint' +- (NSArray *)groupings; + +Classes +******* + + EOGrouping + EOGroupingSet + EOKeyGrouping + EOQualifierGrouping diff --git a/sope-core/NGExtensions/GNUmakefile.preamble b/sope-core/NGExtensions/GNUmakefile.preamble index 36baadc9..5c3c0fb5 100644 --- a/sope-core/NGExtensions/GNUmakefile.preamble +++ b/sope-core/NGExtensions/GNUmakefile.preamble @@ -1,9 +1,5 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) -NGExtensions_INSTALL_DIR = /Library/Frameworks/ -endif - ADDITIONAL_INCLUDE_DIRS += \ -I./NGExtensions/ \ -I./FdExt.subproj/ -I./EOExt.subproj/ diff --git a/sope-core/NGExtensions/Version b/sope-core/NGExtensions/Version index ea40701b..b48bfcaa 100644 --- a/sope-core/NGExtensions/Version +++ b/sope-core/NGExtensions/Version @@ -1,6 +1,6 @@ # version -SUBMINOR_VERSION:=171 +SUBMINOR_VERSION:=172 # v4.3.115 requires libFoundation v1.0.59 # v4.2.72 requires libEOControl v4.2.39 diff --git a/sope-core/NGStreams/GNUmakefile.preamble b/sope-core/NGStreams/GNUmakefile.preamble index e3e00ec4..25f2e99a 100644 --- a/sope-core/NGStreams/GNUmakefile.preamble +++ b/sope-core/NGStreams/GNUmakefile.preamble @@ -1,9 +1,5 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) -NGStreams_INSTALL_DIR = /Library/Frameworks/ -endif - libNGStreams_INCLUDE_DIRS += \ -I$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS) \ -INGStreams \ diff --git a/sope-core/umbrella.make b/sope-core/umbrella.make index a0bd3d56..c1d9a04c 100644 --- a/sope-core/umbrella.make +++ b/sope-core/umbrella.make @@ -14,7 +14,6 @@ sope-core_UMBRELLA_FRAMEWORKS = \ NGStreams \ sope-core_PREBIND_ADDR = # TODO -sope-core_INSTALL_DIR = /Library/Frameworks/ # generic (consolidate in gstep-make) diff --git a/sope-gdl1/GDLAccess/GNUmakefile.preamble b/sope-gdl1/GDLAccess/GNUmakefile.preamble index ad5fc654..b8b6232b 100644 --- a/sope-gdl1/GDLAccess/GNUmakefile.preamble +++ b/sope-gdl1/GDLAccess/GNUmakefile.preamble @@ -2,12 +2,6 @@ SOPE_ROOT=../.. -ifeq ($(FOUNDATION_LIB),apple) -ifeq ($(frameworks),yes) -GDLAccess_INSTALL_DIR = /Library/Frameworks/ -endif -endif - ADDITIONAL_CPPFLAGS += -Wall ADDITIONAL_CPPFLAGS += \ diff --git a/sope-gdl1/GDLContentStore/GNUmakefile.preamble b/sope-gdl1/GDLContentStore/GNUmakefile.preamble index 848e2f9d..5e5e6002 100644 --- a/sope-gdl1/GDLContentStore/GNUmakefile.preamble +++ b/sope-gdl1/GDLContentStore/GNUmakefile.preamble @@ -2,10 +2,6 @@ SOPE_ROOT=../.. -ifeq ($(FOUNDATION_LIB),apple) -GDLContentStore_INSTALL_DIR = /Library/Frameworks/ -endif - ADDITIONAL_CPPFLAGS += -Wall ADDITIONAL_INCLUDE_DIRS += -I. -I.. diff --git a/sope-gdl1/MySQL/GNUmakefile b/sope-gdl1/MySQL/GNUmakefile index 15bb5573..2ae5c04f 100644 --- a/sope-gdl1/MySQL/GNUmakefile +++ b/sope-gdl1/MySQL/GNUmakefile @@ -46,8 +46,7 @@ MySQL_OBJC_FILES = \ MySQL_PRINCIPAL_CLASS = MySQL4Adaptor -BUNDLE_INSTALL = MySQL -BUNDLE_INSTALL_DIR = $(GNUSTEP_INSTALLATION_DIR)/Library/GDLAdaptors-$(MAJOR_VERSION).$(MINOR_VERSION)/ +BUNDLE_INSTALL = MySQL # Use .gdladaptor as the bundle extension BUNDLE_EXTENSION = .gdladaptor diff --git a/sope-gdl1/MySQL/GNUmakefile.preamble b/sope-gdl1/MySQL/GNUmakefile.preamble index 88add3d2..29f4a5e8 100644 --- a/sope-gdl1/MySQL/GNUmakefile.preamble +++ b/sope-gdl1/MySQL/GNUmakefile.preamble @@ -22,6 +22,15 @@ # If not, write to the Free Software Foundation, # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +SOPE_ROOT=../.. + +ifeq ($(frameworks),yes) +BUNDLE_INSTALL_DIR := $(FRAMEWORK_INSTALL_DIR)/GDLAccess.framework/Resources/GDLAdaptors/ +else +BUNDLE_INSTALL_DIR = $(GNUSTEP_INSTALLATION_DIR)/Library/GDLAdaptors-$(MAJOR_VERSION).$(MINOR_VERSION)/ +endif + + MySQL_BUNDLE_LIBS += \ -lGDLAccess \ -lEOControl \ @@ -41,27 +50,29 @@ gdltest_TOOL_LIBS += \ ADDITIONAL_CFLAGS += `mysql_config --cflags` ADDITIONAL_INCLUDE_DIRS += \ - -I../GDLAccess -I.. -I../.. + -I../GDLAccess -I.. -I$(SOPE_ROOT) ADDITIONAL_INCLUDE_DIRS += \ - -I../../sope-core/ \ - -I../../sope-core/NGExtensions - -ifneq ($(GNUSTEP_BUILD_DIR),) -RELBUILD_DIR_SOPE=$(GNUSTEP_BUILD_DIR)/../.. -RELBUILD_DIR_Core=$(RELBUILD_DIR_SOPE)/sope-core -RELBUILD_DIR_Gdl1=$(RELBUILD_DIR_SOPE)/sope-gdl1 + -I$(SOPE_ROOT)/sope-core/ \ + -I$(SOPE_ROOT)/sope-core/NGExtensions + + +# dependencies + + +# library/framework search pathes + +DEP_DIRS = \ + ../GDLAccess \ + $(SOPE_ROOT)/sope-core/EOControl +ifneq ($(frameworks),yes) ADDITIONAL_LIB_DIRS += \ - -L$(RELBUILD_DIR_Core)/EOControl/$(GNUSTEP_OBJ_DIR_NAME) \ - -L$(RELBUILD_DIR_Gdl1)/GDLAccess/$(GNUSTEP_OBJ_DIR_NAME) \ - -L$(GNUSTEP_BUILD_DIR)/$(GNUSTEP_OBJ_DIR_NAME) + $(foreach dir,$(DEP_DIRS),\ + -L$(GNUSTEP_BUILD_DIR)/$(dir)/$(GNUSTEP_OBJ_DIR_NAME)) else ADDITIONAL_LIB_DIRS += \ - -L../GDLAccess/$(GNUSTEP_OBJ_DIR)\ - -L../../sope-core/EOControl/$(GNUSTEP_OBJ_DIR) + $(foreach dir,$(DEP_DIRS),-F$(GNUSTEP_BUILD_DIR)/$(dir)) endif -SYSTEM_LIB_DIR += \ - -L/usr/local/lib \ - -L/usr/lib +SYSTEM_LIB_DIR += -L/usr/local/lib -L/usr/lib diff --git a/sope-gdl1/PostgreSQL/GNUmakefile b/sope-gdl1/PostgreSQL/GNUmakefile index cfcce03f..9d502dea 100644 --- a/sope-gdl1/PostgreSQL/GNUmakefile +++ b/sope-gdl1/PostgreSQL/GNUmakefile @@ -48,7 +48,6 @@ PostgreSQL_OBJC_FILES = \ PostgreSQL_PRINCIPAL_CLASS = PostgreSQL72Adaptor BUNDLE_INSTALL = PostgreSQL -BUNDLE_INSTALL_DIR = $(GNUSTEP_INSTALLATION_DIR)/Library/GDLAdaptors-$(MAJOR_VERSION).$(MINOR_VERSION)/ # Use .gdladaptor as the bundle extension BUNDLE_EXTENSION = .gdladaptor diff --git a/sope-gdl1/PostgreSQL/GNUmakefile.preamble b/sope-gdl1/PostgreSQL/GNUmakefile.preamble index ba7e2e02..220b5d4c 100644 --- a/sope-gdl1/PostgreSQL/GNUmakefile.preamble +++ b/sope-gdl1/PostgreSQL/GNUmakefile.preamble @@ -24,6 +24,13 @@ SOPE_ROOT=../.. +ifeq ($(frameworks),yes) +BUNDLE_INSTALL_DIR := $(FRAMEWORK_INSTALL_DIR)/GDLAccess.framework/Resources/GDLAdaptors/ +else +BUNDLE_INSTALL_DIR = $(GNUSTEP_INSTALLATION_DIR)/Library/GDLAdaptors-$(MAJOR_VERSION).$(MINOR_VERSION)/ +endif + + # PG config ADDITIONAL_INCLUDE_DIRS += -I$(shell pg_config --includedir) diff --git a/sope-gdl1/SQLite3/GNUmakefile b/sope-gdl1/SQLite3/GNUmakefile index 1d928ad4..e723c0f1 100644 --- a/sope-gdl1/SQLite3/GNUmakefile +++ b/sope-gdl1/SQLite3/GNUmakefile @@ -47,7 +47,6 @@ SQLite3_OBJC_FILES = \ SQLite3_PRINCIPAL_CLASS = SQLiteAdaptor BUNDLE_INSTALL = SQLite3 -BUNDLE_INSTALL_DIR = $(GNUSTEP_INSTALLATION_DIR)/Library/GDLAdaptors-$(MAJOR_VERSION).$(MINOR_VERSION)/ # Use .gdladaptor as the bundle extension BUNDLE_EXTENSION = .gdladaptor diff --git a/sope-gdl1/SQLite3/GNUmakefile.preamble b/sope-gdl1/SQLite3/GNUmakefile.preamble index bd7190fb..8620c94c 100644 --- a/sope-gdl1/SQLite3/GNUmakefile.preamble +++ b/sope-gdl1/SQLite3/GNUmakefile.preamble @@ -24,6 +24,13 @@ SOPE_ROOT=../.. +ifeq ($(frameworks),yes) +BUNDLE_INSTALL_DIR := $(FRAMEWORK_INSTALL_DIR)/GDLAccess.framework/Resources/GDLAdaptors/ +else +BUNDLE_INSTALL_DIR = $(GNUSTEP_INSTALLATION_DIR)/Library/GDLAdaptors-$(MAJOR_VERSION).$(MINOR_VERSION)/ +endif + + # SQLite3 config SQLite3_BUNDLE_LIBS += -lsqlite3 diff --git a/sope-ical/NGiCal/GNUmakefile.preamble b/sope-ical/NGiCal/GNUmakefile.preamble index 649f3bd1..c7e2334c 100644 --- a/sope-ical/NGiCal/GNUmakefile.preamble +++ b/sope-ical/NGiCal/GNUmakefile.preamble @@ -2,10 +2,6 @@ SOPE_ROOT=../.. -ifeq ($(FOUNDATION_LIB),apple) -NGiCal_INSTALL_DIR = /Library/Frameworks/ -endif - ADDITIONAL_CPPFLAGS += \ -Wall -DCOMPILE_FOR_GSTEP_MAKE=1 \ -DSOPE_MAJOR_VERSION=$(MAJOR_VERSION) \ diff --git a/sope-ical/versitSaxDriver/GNUmakefile.preamble b/sope-ical/versitSaxDriver/GNUmakefile.preamble index c9a09c65..d9dfed07 100644 --- a/sope-ical/versitSaxDriver/GNUmakefile.preamble +++ b/sope-ical/versitSaxDriver/GNUmakefile.preamble @@ -3,10 +3,10 @@ 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 +# hm, we might prefer /Library/SaxDrivers-$(MAJOR_VERSION).$(MINOR_VERSION)/ +# but this is harder with the FRAMEWORK_INSTALL_DIR +BUNDLE_INSTALL_DIR := $(FRAMEWORK_INSTALL_DIR)/SaxObjC.framework/Resources/SaxDrivers/ endif diff --git a/sope-ldap/NGLdap/GNUmakefile.preamble b/sope-ldap/NGLdap/GNUmakefile.preamble index 2c287dc7..e374b012 100644 --- a/sope-ldap/NGLdap/GNUmakefile.preamble +++ b/sope-ldap/NGLdap/GNUmakefile.preamble @@ -2,10 +2,6 @@ SOPE_ROOT=../.. -ifeq ($(FOUNDATION_LIB),apple) -NGLdap_INSTALL_DIR = /Library/Frameworks/ -endif - ADDITIONAL_INCLUDE_DIRS += \ -I.. \ -I../../sope-core/NGExtensions \ diff --git a/sope-mime/GNUmakefile.preamble b/sope-mime/GNUmakefile.preamble index 5a016086..5aafc266 100644 --- a/sope-mime/GNUmakefile.preamble +++ b/sope-mime/GNUmakefile.preamble @@ -2,10 +2,6 @@ SOPE_ROOT=.. -ifeq ($(FOUNDATION_LIB),apple) -NGMime_INSTALL_DIR = /Library/Frameworks/ -endif - ADDITIONAL_CPPFLAGS += -DLIBRARY_MAJOR_VERSION=${MAJOR_VERSION} \ -DLIBRARY_MINOR_VERSION=${MINOR_VERSION} \ -DLIBRARY_SUBMINOR_VERSION=${SUBMINOR_VERSION} \ diff --git a/sope-mime/NGImap4/GNUmakefile.preamble b/sope-mime/NGImap4/GNUmakefile.preamble index 53246c38..5de60118 100644 --- a/sope-mime/NGImap4/GNUmakefile.preamble +++ b/sope-mime/NGImap4/GNUmakefile.preamble @@ -2,10 +2,6 @@ SOPE_ROOT=../.. -ifeq ($(FOUNDATION_LIB),apple) -NGImap4_INSTALL_DIR = /Library/Frameworks/ -endif - NGImap4_INCLUDE_DIRS += \ -I.. -I$(SOPE_ROOT) \ -I$(SOPE_ROOT)/sope-core/NGStreams/ \ diff --git a/sope-mime/NGMail/GNUmakefile.preamble b/sope-mime/NGMail/GNUmakefile.preamble index f5735420..84d35b88 100644 --- a/sope-mime/NGMail/GNUmakefile.preamble +++ b/sope-mime/NGMail/GNUmakefile.preamble @@ -2,10 +2,6 @@ SOPE_ROOT=../.. -ifeq ($(FOUNDATION_LIB),apple) -NGMail_INSTALL_DIR = /Library/Frameworks/ -endif - NGMail_INCLUDE_DIRS += \ -I.. -I$(SOPE_ROOT) \ -I$(SOPE_ROOT)/sope-core/NGStreams/ \ diff --git a/sope-xml/ChangeLogSaxDriver/GNUmakefile.preamble b/sope-xml/ChangeLogSaxDriver/GNUmakefile.preamble index 40030fe8..15ab5645 100644 --- a/sope-xml/ChangeLogSaxDriver/GNUmakefile.preamble +++ b/sope-xml/ChangeLogSaxDriver/GNUmakefile.preamble @@ -1,9 +1,7 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) ifeq ($(frameworks),yes) -BUNDLE_INSTALL_DIR := /Library/Frameworks/SaxObjC.framework/Resources/SaxDrivers/ -endif +BUNDLE_INSTALL_DIR := $(FRAMEWORK_INSTALL_DIR)/SaxObjC.framework/Resources/SaxDrivers/ endif diff --git a/sope-xml/DOM/GNUmakefile.preamble b/sope-xml/DOM/GNUmakefile.preamble index ca22d697..9342d2a5 100644 --- a/sope-xml/DOM/GNUmakefile.preamble +++ b/sope-xml/DOM/GNUmakefile.preamble @@ -1,9 +1,5 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) -DOM_INSTALL_DIR = /Library/Frameworks/ -endif - ADDITIONAL_INCLUDE_DIRS += -I.. -I../.. libDOM_LIBRARIES_DEPEND_UPON += -lSaxObjC diff --git a/sope-xml/STXSaxDriver/GNUmakefile.preamble b/sope-xml/STXSaxDriver/GNUmakefile.preamble index c32aa313..05ec80aa 100644 --- a/sope-xml/STXSaxDriver/GNUmakefile.preamble +++ b/sope-xml/STXSaxDriver/GNUmakefile.preamble @@ -1,9 +1,7 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) ifeq ($(frameworks),yes) -BUNDLE_INSTALL_DIR := /Library/Frameworks/SaxObjC.framework/Resources/SaxDrivers/ -endif +BUNDLE_INSTALL_DIR := $(FRAMEWORK_INSTALL_DIR)/SaxObjC.framework/Resources/SaxDrivers/ endif diff --git a/sope-xml/SaxObjC/GNUmakefile.preamble b/sope-xml/SaxObjC/GNUmakefile.preamble index 846c317b..2db2bdde 100644 --- a/sope-xml/SaxObjC/GNUmakefile.preamble +++ b/sope-xml/SaxObjC/GNUmakefile.preamble @@ -1,11 +1,5 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) -ifeq ($(frameworks),yes) -SaxObjC_INSTALL_DIR = /Library/Frameworks/ -endif -endif - ADDITIONAL_CPPFLAGS += \ -Wall -DCOMPILE_FOR_GSTEP_MAKE=1 \ -DSOPE_MAJOR_VERSION=$(MAJOR_VERSION) \ diff --git a/sope-xml/XmlRpc/GNUmakefile.preamble b/sope-xml/XmlRpc/GNUmakefile.preamble index ea0a30c3..6c94d0af 100644 --- a/sope-xml/XmlRpc/GNUmakefile.preamble +++ b/sope-xml/XmlRpc/GNUmakefile.preamble @@ -1,9 +1,5 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) -XmlRpc_INSTALL_DIR = /Library/Frameworks/ -endif - libXmlRpc_LIBRARIES_DEPEND_UPON += -lSaxObjC -lDOM ifneq ($(GNUSTEP_BUILD_DIR),) diff --git a/sope-xml/libxmlSAXDriver/GNUmakefile.preamble b/sope-xml/libxmlSAXDriver/GNUmakefile.preamble index 36c77707..bfbd132b 100644 --- a/sope-xml/libxmlSAXDriver/GNUmakefile.preamble +++ b/sope-xml/libxmlSAXDriver/GNUmakefile.preamble @@ -1,9 +1,7 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) ifeq ($(frameworks),yes) -BUNDLE_INSTALL_DIR := /Library/Frameworks/SaxObjC.framework/Resources/SaxDrivers/ -endif +BUNDLE_INSTALL_DIR := $(FRAMEWORK_INSTALL_DIR)/SaxObjC.framework/Resources/SaxDrivers/ endif diff --git a/sope-xml/pyxSAXDriver/GNUmakefile.preamble b/sope-xml/pyxSAXDriver/GNUmakefile.preamble index 1c93ba1d..f6a67d64 100644 --- a/sope-xml/pyxSAXDriver/GNUmakefile.preamble +++ b/sope-xml/pyxSAXDriver/GNUmakefile.preamble @@ -1,9 +1,7 @@ # compilation settings -ifeq ($(FOUNDATION_LIB),apple) ifeq ($(frameworks),yes) -BUNDLE_INSTALL_DIR := /Library/Frameworks/SaxObjC.framework/Resources/SaxDrivers/ -endif +BUNDLE_INSTALL_DIR := $(FRAMEWORK_INSTALL_DIR)/SaxObjC.framework/Resources/SaxDrivers/ endif pyxSAXDriver_RESOURCE_FILES = bundle-info.plist diff --git a/sope-xml/umbrella.make b/sope-xml/umbrella.make index a281ba7e..a761c82c 100644 --- a/sope-xml/umbrella.make +++ b/sope-xml/umbrella.make @@ -12,7 +12,6 @@ sope-xml_UMBRELLA_FRAMEWORKS = \ XmlRpc sope-xml_PREBIND_ADDR = 0xC0FF0000 -sope-xml_INSTALL_DIR = /Library/Frameworks/ # generic (consolidate in gstep-make) diff --git a/sopex/SOPEX/GNUmakefile.preamble b/sopex/SOPEX/GNUmakefile.preamble index 5e1f4ee8..874f80fe 100644 --- a/sopex/SOPEX/GNUmakefile.preamble +++ b/sopex/SOPEX/GNUmakefile.preamble @@ -2,8 +2,6 @@ SOPE_ROOT=../.. -SOPEX_INSTALL_DIR = /Library/Frameworks/ - SOPEX_LIBRARIES_DEPEND_UPON += \ -framework WebKit \ -framework AppKit \