View Issue Details

IDProjectCategoryView StatusLast Update
0001459SOGoSOPEpublic2011-11-24 20:31
Reporterbuzzdee Assigned Toludovic  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version1.3.8a 
Fixed in Version1.3.10 
Summary0001459: fix build with clang/llvm and libobjc2
Description

Hi,

attached patch fixes build of SOPE 1.3.8b and SOPE-2.0.0.b1 with clang/llvm. Tested on OpenBSD i386, using clang/llvm 2.9 and from svn. And using libobc2 from svn as well as gnustep-base. However, the problem was also observed with everything latest releases.

Additional Information

a bit more explanation can be found here:
http://lists.gnu.org/archive/html/discuss-gnustep/2011-04/msg00034.html

TagsNo tags attached.

Activities

2011-10-07 11:01

 

fix-build-with-clang.diff (1,854 bytes)   
$OpenBSD$

fix build with clang/llvm

--- sope-core/EOControl/EOSortOrdering.h.orig	Fri Oct  7 10:30:30 2011
+++ sope-core/EOControl/EOSortOrdering.h	Fri Oct  7 10:30:44 2011
@@ -28,20 +28,10 @@
 
 @class NSDictionary, NSString;
 
-#if NeXT_RUNTIME || APPLE_RUNTIME
 #define EOCompareAscending  @selector(compareAscending:)
 #define EOCompareDescending @selector(compareDescending:)
 #define EOCompareCaseInsensitiveAscending  @selector(compareCaseInsensitiveAscending:)
 #define EOCompareCaseInsensitiveDescending @selector(compareCaseInsensitiveDescending:)
-#else
-#  ifdef __APPLE__
-#    warning did you define the proper runtime ? (eg APPLE_RUNTIME)
-#  endif
-EOControl_EXPORT SEL EOCompareAscending;
-EOControl_EXPORT SEL EOCompareDescending;
-EOControl_EXPORT SEL EOCompareCaseInsensitiveAscending;
-EOControl_EXPORT SEL EOCompareCaseInsensitiveDescending;
-#endif
 
 @interface EOSortOrdering : NSObject < EOKeyValueArchiving >
 {
$OpenBSD$

fix build with clang/libobjc2
and remove deprecation warning

--- sope-core/EOControl/EOSortOrdering.m.orig	Wed Oct  5 14:15:31 2011
+++ sope-core/EOControl/EOSortOrdering.m	Fri Oct  7 10:31:09 2011
@@ -30,21 +30,10 @@
 
 #ifndef SEL_EQ
 #  if GNU_RUNTIME
-#    define SEL_EQ(sel1,sel2) sel_eq(sel1,sel2)
+#    define SEL_EQ(sel1,sel2) sel_isEqual(sel1,sel2)
 #  else
 #    define SEL_EQ(sel1,sel2) (sel1 == sel2)
 #  endif
-#endif
-
-#if !NeXT_RUNTIME
-EOControl_DECLARE SEL EOCompareAscending                 = 
-  @selector(compareAscending:);
-EOControl_DECLARE SEL EOCompareDescending                = 
-  @selector(compareDescending:);
-EOControl_DECLARE SEL EOCompareCaseInsensitiveAscending  =
-  @selector(compareCaseInsensitiveAscending:);
-EOControl_DECLARE SEL EOCompareCaseInsensitiveDescending = 
-  @selector(compareCaseInsensitiveDescending:);
 #endif
 
 @implementation EOSortOrdering
fix-build-with-clang.diff (1,854 bytes)   
buzzdee

buzzdee

2011-10-08 09:22

reporter   ~0002879

I also tested with gcc-4.2.1, and the libobjc that comes with it, and it also compiles fine.

ludovic

ludovic

2011-11-24 20:30

administrator   ~0003067

Patch added, see:

http://mtn.inverse.ca/revision/diff/c3f26456a00a1ece8e3112ff71a237bd0d629d89/with/381381042f096b28e466ae3abec7189eacb5fab4

Issue History

Date Modified Username Field Change
2011-10-07 11:01 buzzdee New Issue
2011-10-07 11:01 buzzdee File Added: fix-build-with-clang.diff
2011-10-08 09:22 buzzdee Note Added: 0002879
2011-11-24 20:30 ludovic Note Added: 0003067
2011-11-24 20:30 ludovic Status new => resolved
2011-11-24 20:30 ludovic Fixed in Version => 1.3.10
2011-11-24 20:30 ludovic Resolution open => fixed
2011-11-24 20:30 ludovic Assigned To => ludovic
2011-11-24 20:31 ludovic Status resolved => closed