DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Link: http://www.fltk.org/str.php?L2503
Version: 1.3-feature


I have modified the Mac OS X code base of the current 1.3
in order to completely remove all Carbon calls
and have found it works well under OS X 10.6 and 10.3.

Could anybody test it under 10.5 and/or 10.4 ?
All changes are in the attached svn diff file.
The major changes are for text input (especially character composition).

If all runs well, I would commit these changes.


Link: http://www.fltk.org/str.php?L2503
Version: 1.3-feature
Index: src/Fl_Quartz_Printer.mm
===================================================================
--- src/Fl_Quartz_Printer.mm    (revision 8094)
+++ src/Fl_Quartz_Printer.mm    (working copy)
@@ -92,7 +92,11 @@
     status = PMCreatePageFormat(&pageFormat);
     status = PMSessionDefaultPageFormat(printSession, pageFormat);
     if (status != noErr) return 1;
-    status = PMSessionPageSetupDialog(printSession, pageFormat, &accepted);
+    // get pointer to the PMSessionPageSetupDialog Carbon fucntion
+    typedef OSStatus (*dialog_f)(PMPrintSession, PMPageFormat, Boolean *);
+    dialog_f f;
+    f = (dialog_f)Fl_X::get_carbon_function("PMSessionPageSetupDialog");
+    status = (*f)(printSession, pageFormat, &accepted);
     if (status != noErr || !accepted) {
       Fl::first_window()->show();
       return 1;
@@ -102,7 +106,11 @@
     status = PMSessionDefaultPrintSettings (printSession, printSettings);
     if (status != noErr) return 1;
     PMSetPageRange(printSettings, 1, (UInt32)kPMPrintAllPages);
-    status = PMSessionPrintDialog(printSession, printSettings, pageFormat, 
&accepted);
+    // get pointer to the PMSessionPrintDialog Carbon fucntion
+    typedef OSStatus (*dialog_f2)(PMPrintSession, PMPrintSettings, 
PMPageFormat, Boolean *);
+    dialog_f2 f2;
+    f2 = (dialog_f2)Fl_X::get_carbon_function("PMSessionPrintDialog");
+    status = (*f2)(printSession, printSettings, pageFormat, &accepted);
     if (!accepted) status = kPMCancel;
     if (status != noErr) {
       Fl::first_window()->show();
Index: src/Fl_compose.cxx
===================================================================
--- src/Fl_compose.cxx  (revision 8094)
+++ src/Fl_compose.cxx  (working copy)
@@ -65,7 +65,7 @@
   if ((e_state & (FL_ALT | FL_META)) && !(ascii & 128)) return 0;
 #endif
   if(Fl::compose_state) {
-    del = 1;
+    del = Fl::compose_state;
     Fl::compose_state = 0;
   } else {
 #ifndef __APPLE__
Index: src/Fl_get_key_mac.cxx
===================================================================
--- src/Fl_get_key_mac.cxx      (revision 8094)
+++ src/Fl_get_key_mac.cxx      (working copy)
@@ -83,8 +83,6 @@
   return get_key(k);
 }
 
-#include <stdio.h>
-
 //: returns true, if that key is pressed right now
 int Fl::get_key(int k) {
 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
@@ -94,8 +92,13 @@
   else 
 #endif
   {
-  KeyMap foo;
-  GetKeys(foo);
+  typedef UInt32 fl_KeyMap[4];
+  fl_KeyMap foo;
+  // use the GetKeys Carbon function
+  typedef void (*keymap_f)(fl_KeyMap);
+  keymap_f f;
+  f = ( keymap_f )Fl_X::get_carbon_function("GetKeys");
+  (*f)(foo);
 #ifdef MAC_TEST_FOR_KEYCODES
  static int cnt = 0;
  if (cnt++>1024) {
Index: src/Fl_Preferences.cxx
===================================================================
--- src/Fl_Preferences.cxx      (revision 8094)
+++ src/Fl_Preferences.cxx      (working copy)
@@ -47,7 +47,7 @@
 #  define access _access
 #  define mkdir _mkdir
 #elif defined (__APPLE__)
-#  include <Carbon/Carbon.h>
+#  include <ApplicationServices/ApplicationServices.h>
 #  include <unistd.h>
 #  include <dlfcn.h>
 #else
Index: src/Fl_cocoa.mm
===================================================================
--- src/Fl_cocoa.mm     (revision 8136)
+++ src/Fl_cocoa.mm     (working copy)
@@ -38,23 +38,6 @@
 // One Compile to copy them all and in the bundle bind them,
 // in the Land of MacOS X where the Drop-Shadows lie."
 
-/*
- TODO: The following messages point to the last Carbon remainders. We should 
- really remove these as well, so we can stop linking to Carbon alltogether.
- 
- "_GetKeys", referenced from:
- Fl::get_key(int)  in Fl_get_key.o (kept only for pre-10.4 runs)
-  
- "_GetEventParameter", referenced from:
- carbonTextHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) in Fl.o
- 
- "_InstallEventHandler", referenced from:
- fl_open_display()     in Fl.o
- 
- "_GetEventDispatcherTarget", referenced from:
- fl_open_display()     in Fl.o
-*/
-
 #ifdef __APPLE__
 
 #define CONSOLIDATE_MOTION 0
@@ -84,7 +67,7 @@
 typedef long NSInteger;
 typedef unsigned long NSUInteger;
 #else
-typedef int NSInteger;
+typedef long NSInteger;
 typedef unsigned int NSUInteger;
 #endif
 #endif
@@ -878,77 +861,14 @@
   }
 }
 
+static int cocoaKeyboardHandler(NSEvent *theEvent);
 
-// this gets called by CJK character palette input
-static OSStatus carbonTextHandler( EventHandlerCallRef nextHandler, EventRef 
event, void *unused )
+...@interface FLTextView : NSTextView 
+// this subclass is needed under OS X 10.3 but not under 10.6 where the base 
class is enough
 {
-  // make sure the key window is an FLTK window
-  NSWindow *keywindow = [NSApp keyWindow];
-  if (keywindow == nil || ![keywindow isMemberOfClass:[FLWindow class]]) 
return eventNotHandledErr;
-  // under 10.5 this gets called only after character palette inputs
-  // but under 10.6 this gets also called by interpretKeyEvents 
-  // during keyboard input when we don't want to run it
-  if ([[NSApp currentEvent] type] != NSSystemDefined) return 
eventNotHandledErr;
-  Fl_Window *window = [(FLWindow*)keywindow getFl_Window];
-  fl_lock_function();
-  UniChar ucs[20];
-  ByteCount actual_size;
-  unsigned int i;
-  GetEventParameter( event, kEventParamTextInputSendText, typeUnicodeText, 
-                    NULL, 20, &actual_size, ucs );
-  char utf8buf[50], *p;
-  p = utf8buf;
-  for(i=0; i < actual_size/2; i++) {
-    p += fl_utf8encode(ucs[i], p);
-    }
-  int len = p - utf8buf;
-  utf8buf[len]=0;
-  
-  Fl::e_length = len;
-  Fl::e_text = utf8buf;
-  while (window->parent()) window = window->window();
-  Fl::handle(FL_KEYBOARD, window);
-  fl_unlock_function();
-  fl_lock_function();
-  Fl::handle(FL_KEYUP, window);
-  fl_unlock_function();
-  // for some reason, the window does not redraw until the next mouse move or 
button push
-  // sending a 'redraw()' or 'awake()' does not solve the issue!
-  Fl::flush();
-  return noErr;
 }
-
-static OSStatus cocoaKeyboardHandler(NSEvent *theEvent);
-
-...@interface FLTextView : NSTextView
-{
-  BOOL compose_key; // YES iff entering a character composition
-  BOOL needKBhandler_val;
-}
-- (BOOL)needKBhandler;
-- (void)needKBhandler:(BOOL)value;
-- (BOOL)compose;
-- (void)compose:(BOOL)value;
-- (void)insertText:(id)aString;
-- (void)doCommandBySelector:(SEL)aSelector;
 @end
 @implementation FLTextView
-- (BOOL)needKBhandler
-{
-  return needKBhandler_val;
-}
-- (void)needKBhandler:(BOOL)value
-{
-  needKBhandler_val = value;
-}
-- (BOOL)compose
-{
-  return compose_key;
-}
-- (void)compose:(BOOL)value
-{
-  compose_key = value;
-}
 - (void)insertText:(id)aString
 {
   cocoaKeyboardHandler([NSApp currentEvent]);
@@ -960,7 +880,7 @@
 @end
 
 /*
- * handle cocoa keyboard events
+Handle cocoa keyboard events
 Events during a character composition sequence:
  - keydown with deadkey -> [[theEvent characters] length] is 0
  - keyup -> [theEvent characters] contains the deadkey: display it temporarily
@@ -968,7 +888,7 @@
     replace the temporary character by this one
  - keyup -> [theEvent characters] contains the standard character
  */
-static OSStatus cocoaKeyboardHandler(NSEvent *theEvent)
+static int cocoaKeyboardHandler(NSEvent *theEvent)
 {
   static char buffer[32];
   int sendEvent = 0, retval = 0;
@@ -984,8 +904,6 @@
   unsigned short sym = 0;
   keyCode = [theEvent keyCode];
   NSString *s = [theEvent characters];  
-  FLTextView *edit = (FLTextView*)[[theEvent window]  fieldEditor:YES 
forObject:nil];
-  [edit needKBhandler:NO];
   if ( (mods & NSShiftKeyMask) && (mods & NSCommandKeyMask) ) {
     s = [s uppercaseString]; // US keyboards return lowercase letter in s if 
cmd-shift-key is hit
   }
@@ -999,7 +917,6 @@
       sendEvent = FL_KEYBOARD;
       // fall through
     case NSKeyUp:
-      if([edit compose]) sendEvent = FL_KEYBOARD; // when composing, the 
temporary character appears at KeyUp
       if ( !sendEvent ) {
         sendEvent = FL_KEYUP;
         Fl::e_state &= 0xbfffffff; // clear the deadkey flag
@@ -1026,13 +943,9 @@
   }
   if (sendEvent) {
     retval = Fl::handle(sendEvent,window);
-    if([edit compose]) {
-      Fl::compose_state = 1;
-      [edit compose:NO];
-    }
   }
   fl_unlock_function();  
-  return retval ? (int)noErr : (int)eventNotHandledErr; // return noErr if 
FLTK handled the event
+  return retval;
 }
 
 
@@ -1310,8 +1223,7 @@
   static FLTextView *view = nil;
   if (!view) {
     view = [[FLTextView alloc] initWithFrame:rect];
-    [view compose:NO];
-    }
+  }
   return view;
 }
 @end
@@ -1422,12 +1334,6 @@
       }
     }
     createAppleMenu();
-    // Install Carbon Event handler for character palette input
-    static EventTypeSpec textEvents[] = {
-      { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent }
-    };
-    EventHandlerUPP textHandler = NewEventHandlerUPP( carbonTextHandler );
-    InstallEventHandler(GetEventDispatcherTarget(), textHandler, 1, 
textEvents, NULL, 0L);
     
     [[NSNotificationCenter defaultCenter] addObserver:mydelegate 
               selector:@selector(anywindowwillclosenotif:) 
@@ -1653,7 +1559,7 @@
 }
 
 
-...@interface FLView : NSView {
+...@interface FLView : NSView <NSTextInput> {
 }
 - (void)drawRect:(NSRect)rect;
 - (BOOL)acceptsFirstResponder;
@@ -1694,8 +1600,8 @@
 }
 - (BOOL)performKeyEquivalent:(NSEvent*)theEvent
 {   
-  OSStatus err = cocoaKeyboardHandler(theEvent);
-  return (err ? NO : YES);
+  int err = cocoaKeyboardHandler(theEvent);
+  return (err ? YES : NO);
 }
 - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent
 {   
@@ -1738,12 +1644,7 @@
 }
 - (void)keyDown:(NSEvent *)theEvent {
   FLTextView *edit = (FLTextView*)[[theEvent window]  fieldEditor:YES 
forObject:nil];
-  if ([[theEvent characters] length] == 0) [edit compose:YES];
-  if (Fl::compose_state)  [edit needKBhandler:YES];
-  else [edit needKBhandler:NO];
   [edit interpretKeyEvents:[NSArray arrayWithObject:theEvent]];
-  // in some cases (e.g., some Greek letters with tonos) interpretKeyEvents 
does not call insertText
-  if ([edit needKBhandler]) cocoaKeyboardHandler(theEvent);
 }
 - (void)keyUp:(NSEvent *)theEvent {
   cocoaKeyboardHandler(theEvent);
@@ -1843,6 +1744,105 @@
 {
   return NSDragOperationGeneric;
 }
+
+// These functions implement text input.
+// Only two-stroke character composition works at this point.
+// Needs much elaboration to fully support CJK text input,
+// but this is the way to go.
+- (void)doCommandBySelector:(SEL)aSelector {
+}
+
+- (void)insertText:(id)aString {
+  NSEvent *event = [NSApp currentEvent];
+  NSEventType type = [event type];
+  NSString *str = @"";
+  NSString *received;
+  if ([aString isKindOfClass:[NSAttributedString class]]) {
+    received = [(NSAttributedString*)aString string];
+  } else {
+    received = (NSString*)aString;
+  }
+//NSLog(@"insertText: received=%@ event type=%d",received, type);
+  if (type == NSKeyDown ) {
+    str = [event characters];
+    }
+  if ([received isEqualToString:@"\b"] || [str isEqualToString:received]) {
+    if (type == NSKeyDown ) cocoaKeyboardHandler(event);
+  } else {
+    fl_lock_function();
+    Fl_Window *window = [(FLWindow*)[NSApp keyWindow] getFl_Window];
+    Fl::e_text = (char*)[received UTF8String];
+    Fl::e_length = strlen(Fl::e_text);
+    Fl::handle(FL_KEYBOARD, window);
+    Fl::handle(FL_KEYUP, window);
+    fl_unlock_function();
+    // for some reason, the window does not redraw until the next mouse move 
or button push
+    // sending a 'redraw()' or 'awake()' does not solve the issue!
+    Fl::flush();
+  }
+}
+
+- (void)setMarkedText:(id)aString selectedRange:(NSRange)newSelection  {
+  NSString *received;
+  if ([aString isKindOfClass:[NSAttributedString class]]) {
+    received = [(NSAttributedString*)aString string];
+  } else {
+    received = (NSString*)aString;
+  }
+  //NSLog(@"setMarkedText: %@ %d %d Fl::compose_state=%d",
+  //  
received,newSelection.location,newSelection.length,newSelection.location);
+  [self insertText:received];
+  Fl::compose_state = newSelection.location;
+}
+
+- (void)unmarkText {
+  Fl::compose_state = 0;
+  //NSLog(@"unmarkText");
+}
+
+- (NSRange)selectedRange {
+  return NSMakeRange(NSNotFound, 0);
+}
+
+- (NSRange)markedRange {
+  //NSLog(@"markedRange ?");
+  return NSMakeRange(NSNotFound, Fl::compose_state);
+}
+
+- (BOOL)hasMarkedText {
+  //NSLog(@"hasMarkedText %s", Fl::compose_state > 0?"YES":"NO");
+  return (Fl::compose_state > 0);
+}
+
+- (NSAttributedString *)attributedSubstringFromRange:(NSRange)aRange {
+  //NSLog(@"attributedSubstringFromRange: %d 
%d",aRange.location,aRange.length);
+  return nil;
+}
+
+- (NSArray *)validAttributesForMarkedText {
+  return nil;
+}
+
+- (NSRect)firstRectForCharacterRange:(NSRange)aRange {
+  NSRect glyphRect, frame;
+  
+  frame = [self frame];
+  glyphRect.origin.x = frame.size.width;
+  glyphRect.origin.y = 0;
+  glyphRect.size.width = glyphRect.size.height = 0;
+  // Convert the rect to screen coordinates
+  glyphRect.origin = [[self window] convertBaseToScreen:glyphRect.origin];
+  return glyphRect;
+}
+
+- (NSUInteger)characterIndexForPoint:(NSPoint)aPoint {
+  return 0;
+}
+
+- (NSInteger)conversationIdentifier {
+  return (NSInteger)self;
+}
+
 @end
 
 
@@ -3271,6 +3271,25 @@
   return Fl_X::i(w)->xid;
 }
 
+#include <dlfcn.h>
+
+/* Returns the address of a Carbon function after dynamically loading the 
Carbon library if needed.
+ Supports old Mac OS X versions that may use a couple of Carbon calls:
+ GetKeys used by OS X 10.3 or before (in Fl::get_key())
+ PMSessionPageSetupDialog and PMSessionPrintDialog used by 10.4 or before (in 
Fl_Printer::start_job())
+ */
+void *Fl_X::get_carbon_function(const char *function_name) {
+  static void *carbon = NULL;
+  void *f = NULL;
+  if (!carbon) {
+    carbon = dlopen("/System/Library/Frameworks/Carbon.framework/Carbon", 
RTLD_LAZY);
+  }
+  if (carbon) {
+    f = dlsym(carbon, function_name);
+  }
+  return f;
+}
+  
 #endif // __APPLE__
 
 //
Index: src/Fl_Gl_Choice.cxx
===================================================================
--- src/Fl_Gl_Choice.cxx        (revision 8094)
+++ src/Fl_Gl_Choice.cxx        (working copy)
@@ -38,7 +38,6 @@
 
 #  ifdef __APPLE__
 #    include <FL/Fl_Window.H>
-#    include <Carbon/Carbon.h>
 #  endif
 
 #  ifdef WIN32
Index: FL/mac.H
===================================================================
--- FL/mac.H    (revision 8130)
+++ FL/mac.H    (working copy)
@@ -49,8 +49,8 @@
 
 #else // this part must be compiled when building the FLTK libraries
 
-// Standard MacOS Carbon API includes...
-#include <Carbon/Carbon.h>
+// Standard MacOS C/C++ includes...
+#include <ApplicationServices/ApplicationServices.h>
 #undef check // because of Fl::check()
 
 typedef CGContextRef   Fl_CGContextRef;
@@ -154,6 +154,7 @@
   static CGContextRef nesw_cursor_image(void);
   static CGContextRef nwse_cursor_image(void);
   static CGContextRef none_cursor_image(void);
+  static void *get_carbon_function(const char *name);
 private:
   static void relink(Fl_Window*, Fl_Window*);
 };
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt      (revision 8135)
+++ CMakeLists.txt      (working copy)
@@ -60,7 +60,7 @@
    set(HAVE_STRTOLL 1)
    set(HAVE_STRCASECMP 1)
    set(HAVE_DIRENT_H 1)
-   set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa 
-framework Carbon")
+   set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa")
 endif(APPLE)
 
 if(WIN32)
Index: test/demo.cxx
===================================================================
--- test/demo.cxx       (revision 8168)
+++ test/demo.cxx       (working copy)
@@ -37,7 +37,7 @@
 #    define putenv _putenv
 #  endif // !__WATCOMC__
 #elif defined USING_XCODE
-#include <Carbon/Carbon.h>
+#include <ApplicationServices/ApplicationServices.h>
 #else
 #  include <unistd.h>
 #endif
Index: configure.in
===================================================================
--- configure.in        (revision 8145)
+++ configure.in        (working copy)
@@ -842,8 +842,8 @@
        ;;
 
     Darwin*)
-        # MacOS X uses Cocoa for graphics. There are still some Carbon 
leftovers.
-        LIBS="$LIBS -framework Cocoa -framework Carbon"
+        # MacOS X uses Cocoa for graphics.
+        LIBS="$LIBS -framework Cocoa"
 
        if test x$have_pthread = xyes; then
            AC_DEFINE(HAVE_PTHREAD)
Index: ide/Xcode3/fltk.pch
===================================================================
--- ide/Xcode3/fltk.pch (revision 8113)
+++ ide/Xcode3/fltk.pch (working copy)
@@ -7,5 +7,5 @@
 #endif
 
 #ifdef FL_LIBRARY
-#include <Carbon/Carbon.h>
+#include <ApplicationServices/ApplicationServices.h>
 #endif
Index: ide/Xcode3/FLTK.xcodeproj/project.pbxproj
===================================================================
--- ide/Xcode3/FLTK.xcodeproj/project.pbxproj   (revision 8168)
+++ ide/Xcode3/FLTK.xcodeproj/project.pbxproj   (working copy)
@@ -496,13 +496,11 @@
                C95961881274CEA1009C0594 /* README.Xcode in Headers */ = {isa = 
PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = 
{ATTRIBUTES = (Public, ); }; };
                C95961891274CEA4009C0594 /* README.Xcode in Headers */ = {isa = 
PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = 
{ATTRIBUTES = (Public, ); }; };
                C959618A1274CEA6009C0594 /* README.Xcode in Headers */ = {isa = 
PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = 
{ATTRIBUTES = (Public, ); }; };
-               C96290C11274D0CD007D3CFE /* Carbon.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = C9628FFB1274D0B3007D3CFE /* Carbon.framework */; 
};
                C96290C21274D0CF007D3CFE /* Cocoa.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = C9628FFD1274D0B3007D3CFE /* Cocoa.framework */; 
};
                C96290E21274D0EF007D3CFE /* AGL.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = C96290E11274D0EF007D3CFE /* AGL.framework */; };
                C96290E61274D100007D3CFE /* OpenGL.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = C96290E51274D100007D3CFE /* OpenGL.framework */; 
};
                C962910E1274D1D7007D3CFE /* Cocoa.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = C9628FFD1274D0B3007D3CFE /* Cocoa.framework */; 
};
                C96291151274D1FD007D3CFE /* Cocoa.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = C9628FFD1274D0B3007D3CFE /* Cocoa.framework */; 
};
-               C96291E712756D5E007D3CFE /* Carbon.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = C9628FFB1274D0B3007D3CFE /* Carbon.framework */; 
};
                C984AFA812D02A1800D66DAD /* demo.menu in Resources */ = {isa = 
PBXBuildFile; fileRef = C984AFA712D02A1800D66DAD /* demo.menu */; };
                C9A374AB3AD29E141C659819 /* fltk.framework in CopyFiles */ = 
{isa = PBXBuildFile; fileRef = FEB0F8FE6383384180570D94 /* fltk.framework */; };
                C9C4C91FDA73557BB6B69F3D /* jchuff.c in Sources */ = {isa = 
PBXBuildFile; fileRef = D9DB580DCA05DE487FACA272 /* jchuff.c */; };
@@ -4473,7 +4471,6 @@
                C9165EAF1291A304003FF4F0 /* utf8.app */ = {isa = 
PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; 
path = utf8.app; sourceTree = BUILT_PRODUCTS_DIR; };
                C9165ED31291A376003FF4F0 /* unittests.cxx */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; 
name = unittests.cxx; path = ../../test/unittests.cxx; sourceTree = 
SOURCE_ROOT; };
                C95961641274CDEC009C0594 /* README.Xcode */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = 
README.Xcode; path = ../../FL/README.Xcode; sourceTree = SOURCE_ROOT; };
-               C9628FFB1274D0B3007D3CFE /* Carbon.framework */ = {isa = 
PBXFileReference; lastKnownFileType = wrapper.framework; name = 
Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree 
= SDKROOT; };
                C9628FFD1274D0B3007D3CFE /* Cocoa.framework */ = {isa = 
PBXFileReference; lastKnownFileType = wrapper.framework; name = 
Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = 
SDKROOT; };
                C96290E11274D0EF007D3CFE /* AGL.framework */ = {isa = 
PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; 
path = System/Library/Frameworks/AGL.framework; sourceTree = SDKROOT; };
                C96290E51274D100007D3CFE /* OpenGL.framework */ = {isa = 
PBXFileReference; lastKnownFileType = wrapper.framework; name = 
OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree 
= SDKROOT; };
@@ -5123,7 +5120,6 @@
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               C96291E712756D5E007D3CFE /* Carbon.framework in 
Frameworks */,
                                C962910E1274D1D7007D3CFE /* Cocoa.framework in 
Frameworks */,
                                04C166D5213DD80648BE1F4D /* fltk.framework in 
Frameworks */,
                                C96290E21274D0EF007D3CFE /* AGL.framework in 
Frameworks */,
@@ -5202,7 +5198,6 @@
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               C96290C11274D0CD007D3CFE /* Carbon.framework in 
Frameworks */,
                                C96290C21274D0CF007D3CFE /* Cocoa.framework in 
Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
@@ -6357,7 +6352,6 @@
                C9628FFA1274D0A1007D3CFE /* Resources */ = {
                        isa = PBXGroup;
                        children = (
-                               C9628FFB1274D0B3007D3CFE /* Carbon.framework */,
                                C9628FFD1274D0B3007D3CFE /* Cocoa.framework */,
                                C96290E11274D0EF007D3CFE /* AGL.framework */,
                                C96290E51274D100007D3CFE /* OpenGL.framework */,
@@ -8410,7 +8404,6 @@
                        isa = PBXProject;
                        buildConfigurationList = 615453DB5B8EBEE070930DA7 /* 
Build configuration list for PBXProject "FLTK" */;
                        compatibilityVersion = "Xcode 3.0";
-                       developmentRegion = English;
                        hasScannedForEncodings = 0;
                        knownRegions = (
                                English,
@@ -11241,8 +11234,6 @@
                                OTHER_LDFLAGS = (
                                        "-framework",
                                        Cocoa,
-                                       "-framework",
-                                       Carbon,
                                );
                                PRODUCT_NAME = keyboard;
                                WARNING_CFLAGS = (
@@ -11657,8 +11648,6 @@
                                OTHER_LDFLAGS = (
                                        "-framework",
                                        Cocoa,
-                                       "-framework",
-                                       Carbon,
                                );
                                PRODUCT_NAME = editor;
                                WARNING_CFLAGS = (
@@ -12891,8 +12880,6 @@
                                OTHER_LDFLAGS = (
                                        "-framework",
                                        Cocoa,
-                                       "-framework",
-                                       Carbon,
                                );
                                PRODUCT_NAME = menubar;
                                WARNING_CFLAGS = (
@@ -13637,8 +13624,6 @@
                                OTHER_LDFLAGS = (
                                        "-framework",
                                        Cocoa,
-                                       "-framework",
-                                       Carbon,
                                );
                                PRODUCT_NAME = editor;
                                WARNING_CFLAGS = (
@@ -14476,8 +14461,6 @@
                                OTHER_LDFLAGS = (
                                        "-framework",
                                        Cocoa,
-                                       "-framework",
-                                       Carbon,
                                );
                                PRODUCT_NAME = input;
                                WARNING_CFLAGS = (
@@ -14669,8 +14652,6 @@
                                OTHER_LDFLAGS = (
                                        "-framework",
                                        Cocoa,
-                                       "-framework",
-                                       Carbon,
                                );
                                PRODUCT_NAME = keyboard;
                                WARNING_CFLAGS = (
@@ -14831,8 +14812,6 @@
                                OTHER_LDFLAGS = (
                                        "-framework",
                                        Cocoa,
-                                       "-framework",
-                                       Carbon,
                                );
                                PRODUCT_NAME = menubar;
                                WARNING_CFLAGS = (
@@ -15515,8 +15494,6 @@
                                OTHER_LDFLAGS = (
                                        "-framework",
                                        Cocoa,
-                                       "-framework",
-                                       Carbon,
                                );
                                PRODUCT_NAME = input;
                                WARNING_CFLAGS = (
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to