Closing as approved, since no further discussion after the update of the 
spec.

--Irene
Irene Huang wrote:
> Hi, all 
>
> I am setting the new time out for this case to be Feb 20th, 2008, in
> order to get it in to Indiana (hopefully).
>
> Thanks 
>
> --Irene 
> On Wed, 2008-02-13 at 11:54 +0000, Ghee Teo wrote:
>   
>> Hi,
>>
>> Attached is the updated version of ARC Fast Track materials.
>>
>> The following issues raised and discussed which are now summarized as 
>> follow:
>>
>> (1) Not to deliver of g++ compiled libraries
>> This is now considered out of scope for this ARC fast-track due to the many
>> issues raised over the brief period. If there is a need in the future to 
>> provide
>> g++ compiled libraries this will be addressed in a subsequent case.
>>
>> (2) Libraries and .pc files are classified as Uncommitted instead of 
>> Volatile
>> see updated interface exported table.
>> .pc is the recommended way to access include files and also libraries by 
>> applications
>> in general for JDS.
>>
>> (3) Tools for generation of wrapper code are classified as Consolidation 
>> Private
>> See updated interface table and rationale for so doing.
>>
>> I believe any other points raised are either have been resolved during 
>> the threads
>> or included here above. Should I have missed any other point, feel free 
>> to raise.
>>
>> Thanks,
>>
>> -Ghee
>> plain text document attachment
>> (gtkmm-LSARC-2008-074-revised-13Feb2008.txt)
>> Copyright 2008 Sun Microsystems
>>
>> 1. Introduction
>>    1.1. Project/Component Working Name:  sigcpp, glibmm, cairomm, and gtkmm 
>>      
>>    1.2. Name of Document Author/Supplier: Ghee Teo, Chris Wang, Elaine 
>> Xiong, 
>>                                           Simon Zheng  
>>      
>>    1.3. Date of This Document: 01/30/08
>>      
>>    1.5. Email Aliases:
>>      1.5.1. Responsible Manager: leo.binchy at sun.com
>>      1.5.2. Responsible Engineer:ghee.teo at sun.com, 
>>                                     chris.wang at sun.com,
>>                                     elaine.xiong at sun.com,
>>                                     simon.zheng at sun.com  
>>
>> 2. Project Summary
>>    2.1. Project Description:
>>         libsigc++ implements a typesafe callback system for use in widget 
>>         libraries, abstract interfaces, and general programming. It allows 
>> users 
>>      to define signals and to connect those signals to any callback 
>> function, 
>>      either global or a member function, regardless of whether it is static 
>> or
>>      virtual. It contains adaptor classes for connecting dissimilar callbacks
>>      and has an ease of use unmatched by other C++ callback libraries.
>>
>>      cairomm is a C++ wrapper for the cairo graphics library. It offers all 
>>      the power cairo with an interface familiar to C++ developers, including 
>>      use of the Standard Template Library where it makes sense. Even though 
>>      cairomm can be used on its own, it is often used together with the 
>>      higher level toolkit C++ wrapper, gtkmm.
>>  
>>         glibmm is a set of C++ bindings for Glib2 Library, including cross-
>>      platform APIs such as a std::string-like UTF8 string class, string 
>>      utility methods, such as a text encoding converter API, file access, 
>> and 
>>         threads.
>>
>>         gtkmm is the official C++ interface for the popular GUI library 
>> GTK+. 
>>         Highlights include typesafe callbacks, and a comprehensive set of 
>>      widgets that are easily extensible via inheritance. You can create user 
>>      interfaces either in code or with the Glade User Interface designer, 
>>      using libglademm. There's extensive documentation, including API 
>>      reference and a tutorial.
>>
>>         
>>
>>    2.2. Risks and Assumptions:
>>      gtkmm and glibmm follow the official GNOME Platform Bindings release
>>      schedule. This guarantees API/ABI-stability and new releases on a 
>>      predictable schedule, delivering C++ API for the underlying GTK+ and 
>>      GNOME APIs as soon as possible. 
>>       
>>         The problem we need deal with is that of the different C++ ABIs of 
>> Sun 
>>      Studio CC and GNU g++. Now that Sun Studio is available as a free 
>>      download it's not such a big problem, but there are modules that won't 
>>      build with Sun Studio. However Sun Studio C++ has maintained a stable 
>>      C++ ABI for over a decade. Considering the g++ compiler in Solaris 
>> can't 
>>      build any 64-bit binaries that are actually usable, we only deliver 
>>      these packages build with Sun Studio. For those modules that won't build
>>      with Sun Studio, It is maintainer's responsibility to fix the build 
>>      problems.
>>
>>      We propose to minimize the risk by first delivering a set of gtkmm,
>>      glibmm, cairomm and sigc++ libraries which are built using Sun Studio
>>      compilers and in subsequent case to address the provision of g++
>>      compiled libraries that may address specific needs accordingly.
>>      
>> 4. Technical Description:
>>     4.1. Details:
>>        libsigc++ provides the following Features:
>>
>>          - Compile time typesafe callbacks (faster than run time checks)
>>          - Typesafe violations report line number correctly with template 
>>         names (no tracing template failures into headers)
>>          - No compiler extensions or meta compilers required
>>          - Proper handling of dynamic objects and signals (deleted objects 
>> will 
>>         not cause segmentation faults)
>>          - Extendable API at any level: signal, slot, connection and 
>> trackable
>>          - Extensions do not require alteration of basic components
>>          - User definable accumulators
>>          - A variety of adaptors to change the callback signature: bind, 
>> hide, 
>>         retype, compose and lambda call groups
>>          - Various compilers and platforms are supported: gcc, cygwin, 
>> mingw32, 
>>         MS .NET 2003, Sun Forte C++, Compaq C++, Intel C++, IBM AIX, Tru64, 
>>         IRIX MipsPro.
>>
>>      cairomm is part of the gtkmm (gtk--) framework to allow developers to 
>>      make full use of the capabilities of Object Oriented Programming 
>>      language features as in C++.
>>
>>      Cairo is a graphics description and rendering library. Cairomm provides 
>>      classes that allow the cairo API to be accessed in an Object Oriented 
>>      constructs. Cairo allow graphics to be created programmatical in its 
>> own 
>>      language and the be rendered onto surfaces of specific target file 
>>      formats, such as PostScript,PDF and so on.
>>      Current supported rendering surfaces are:
>>        - Image Surface (memory buffers)
>>        - PDF Surface
>>        - PostScript Surface
>>        - SVG Surface
>>        - Xlib Surface (X11 based systems)
>>        - Win32 Surface (Windows)
>>        - Quartz Surface (MacOS)
>>        - Glitz (OpenGL-accelerated, experimental not fully supported)
>>
>>      These surfaces can then be augmented with the upper layer of libraries 
>>      like that of gtkmm to create GUI application.
>>   
>>      To simplify the creation of C++ binding for gtkmm, glibmm delivers tools
>>      called gmmproc and generate_wrap_init.pl that can create wrapper for 
>>      other glib/GObject-based libraries. For example, gtkmm uses this to 
>>      generate most of its source code. The details on how to do this is 
>>      described in Reference [7].
>>      
>>
>>              gtkmm provides the following Features:
>>          - Use inheritance to derive custom widgets.
>>          - Type-safe signal handlers, in standard C++.
>>          - Polymorphism.
>>          - Use of Standard C++ Library, including strings, containers, and 
>>         iterators.
>>          - Full internationalisation with UTF8.
>>          - Complete C++ memory management
>>          - Object composition
>>          - Automatic deallocation of dynamically allocated widgets.
>>          - Full use of C++ namespaces.
>>          - No macros.
>>          - Cross-platform: Linux (gcc), FreeBSD (gcc), NetBSD (gcc), Solaris 
>>         (gcc, Forte), Win32 (gcc, MSVC++ .Net 2003), MacOS X (gcc), others 
>>         Free software and free of cost for both Open Source and proprietary 
>>         development.
>>          - Discussed, designed and implemented in public.
>>
>>         
>>     4.5. Interfaces:
>>      
>>         Exported Interfaces 
>>         Interface                            Stability        Comments 
>>         ---------------------                   ---------------- 
>> ---------------
>>         SUNWsigcpp                           Uncommitted      Package names 
>>         SUNWsigcpp-devel                        Uncommitted
>>      SUNWcairomm                             Uncommitted
>>      SUNWcairomm-devel                       Uncommitted
>>         SUNWglibmm                              Uncommitted   
>>         SUNWglibmm-devel                        Uncommitted
>>         SUNWgtkmm                            Uncommitted
>>         SUNWgtkmm-devel                         Uncommitted
>>
>>         libsigc-2.0.so                          Volatile     See Note 1.
>>         libcairomm-1.0.so                       Uncommitted
>>         libglibmm-2.4.so                        Uncommitted                  
>>  
>>         libatkmm-1.6.so                         Uncommitted
>>         libgtkmm-2.4.so                         Uncommitted
>>         libgdkmm-2.4.so                         Uncommitted
>>         libpangomm-1.4.so                       Uncommitted
>>         /usr/demo/jds/bin/gtkmm-demo            Uncommitted
>>         glibmm-2.4/proc/gmmproc                 Consolidation        See 
>> Note 2.
>>                                              Private                       
>>      glibmm-2.4/proc/generate_wrap_init.pl   Consolidation   See Note 2.
>>                                              Private
>>
>>         /usr/lib/pkgconfig/atkmm-1.6.pc              Uncommitted     See 
>> Note 3.
>>         /usr/lib/pkgconfig/gtkmm-2.4.pc         Uncommitted
>>         /usr/lib/pkgconfig/pangomm-1.4.pc       Uncommitted
>>      /usr/lib/pkgconfig/cairomm-1.0.pc       Uncommitted
>>         /usr/lib/pkgconfig/sigc++-2.0.pc        Uncommitted
>>         /usr/lib/pkgconfig/glibmm-2.4.pc        Uncommitted
>>
>>      Note 1: We classified this as Volatile as we have little working 
>> history 
>>              with this particular community, thus a lack of reasonable 
>>              certainly how well will they keep the interface stable. 
>>
>>      NOTE 2: Programs which used required by the upper stack, namely, gtkmm
>>              module to generate the C++ files based on some declarative 
>>              language. Since its potential usage outside the stack is 
>>              minimum, hence the Private interface.
>>
>>      Note 3: All the header file include path are included are accessible by 
>>              the *.pc files, hence making these Uncomiitted.
>>
>>
>>         Imported Interfaces 
>>         Interface                             Stability        Comments 
>>         ---------------------                 ---------------- 
>> ----------------------
>>          
>>         GNOME Committed Platform Libraries    Committed        
>> LSARC/2007/520          
>>                                                                GNOME 2.20 
>>                                                             GTK+ library
>>     
>>      
>>
>>     4.9. I18N/L10N Impact:
>>       The JDS team and the G11N are working together to evaluation and
>>        provide I18N/L10N support 
>>
>>     4.10. Packaging & Delivery:
>>          The project will be delivering the following packages:
>>          SUNWgtkmm 
>>       SUNWgtkmm-devel
>>          SUNWglibmm
>>          SUNWglibmm-devel
>>       SUNWcairomm
>>       SUNWcairomm-devel
>>       SUNWsigcpp
>>          SUNWsigcpp-devel
>>         
>>   
>> 5. Reference Documents:
>>    [1] gtkmm glibmm homepage http://www.gtkmm.org/
>>    [2] cairomm homepage - http://cairographics.org/cairomm
>>    [3] cairomm download: http://cairographics.org/releases/
>>    [4] libsigc++ Homepage - http://libsigc.sourceforge.net
>>    [5] libsigc++ Tutorial:
>>        http://libsigc.sourceforge.net/libsigc2/docs/manual/html/
>>    [6] libsigc++ API Reference - 
>> http://libsigc.sourceforge.net/libsigc2/docs/
>>    [7] Wrapping C Libraries with gmmproc: 
>>        
>> http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/chapter-wrapping-c-libraries.html
>>
>>     
>
>   


Reply via email to