Difference between revisions of "Open tasks"

From Lazarus wiki
Jump to navigationJump to search
m
Line 6: Line 6:
 
* Create a MIPS code generator for 1.9.x: [[MIPS port]]
 
* Create a MIPS code generator for 1.9.x: [[MIPS port]]
 
* For missing language constructs, see: [[Language related articles]]
 
* For missing language constructs, see: [[Language related articles]]
 +
* Package support and dynamic library handling in general(partially language, but has a lot of implications)
 +
* (more) DWARF debugformat support
 
* Working regvar support for the 1.9.x port.
 
* Working regvar support for the 1.9.x port.
 
* debug {$packrecord C} with regard to 16 and 64-bit sizes.
 
* debug {$packrecord C} with regard to 16 and 64-bit sizes.
Line 28: Line 30:
  
 
* port the 1.0.10 BeOS port to 1.9.x: [[BeOS port]]
 
* port the 1.0.10 BeOS port to 1.9.x: [[BeOS port]]
* port the 1.0.6/1.0.10 SunOS port to 1.9.x: [[SunOS port]]
+
* port the 1.0.6/1.0.10 SunOS port to 1.9.x: [[SunOS port]] (combine with Sparc
 +
  port)
 
* port the 1.0.6/1.0.10 QNX port to 1.9.x: [[QNX port]]
 
* port the 1.0.6/1.0.10 QNX port to 1.9.x: [[QNX port]]
 +
* Implement crossplatform 64-bit fileroutines
 +
* ARM port and RTL more userfriendly. (need users/contributors/betatesters first)
 
* improve MacOS X rtl:
 
* improve MacOS X rtl:
* Implement crossplatform 64-bit fileroutines
+
** Port the missing RTL units (mainly text console handling)
* Port the missing RTL units (mainly text console handling)
 
 
** Create a Mac OS X installer package definition
 
** Create a Mac OS X installer package definition
 
** Try to create some kind of plug-in so the compiler can be called  from XCode and Project Builder
 
** Try to create some kind of plug-in so the compiler can be called  from XCode and Project Builder
Line 40: Line 44:
 
** Finish Classic Mac OS support  
 
** Finish Classic Mac OS support  
 
* create a WinCE rtl: [[WinCE port]]
 
* create a WinCE rtl: [[WinCE port]]
* The unix ports (including derivatives as BeOS and QNX) should have a way to be rerouted to libc instead of syscalls.
+
* The unix ports (including derivatives as BeOS and QNX) should have a way to be rerouted to libc instead of syscalls. (Done, 1.9.2)
 
    
 
    
 
== FCL development ==
 
== FCL development ==
Line 51: Line 55:
  
 
* getting it fully up to speed and compatible with TV
 
* getting it fully up to speed and compatible with TV
 +
* endianness and 64-bit clean work.
  
 
== IDE development ==
 
== IDE development ==

Revision as of 09:48, 4 June 2004

Here is a list of open tasks in FPC.

Compiler development

  • Port the m68k code generator to 1.9.x: M68k port
  • Create a MIPS code generator for 1.9.x: MIPS port
  • For missing language constructs, see: Language related articles
  • Package support and dynamic library handling in general(partially language, but has a lot of implications)
  • (more) DWARF debugformat support
  • Working regvar support for the 1.9.x port.
  • debug {$packrecord C} with regard to 16 and 64-bit sizes.
  • leafnode stackframereduction (and auto inlining?)
  • improve PowerPC port:
    • improve AIX abi-compatibility (e.g., we don't pass records as the AIX abi prescribes)
    • create a PPC-optimizer (if only a peephole optimizer for starters)
    • re-enable support for register variables (that's not really PPC-specific, but the PPC will benefit a *lot* of that)
  • improve ARM port:
    • create a ARM-optimizer
    • optimize helper routines some can use libgcc if linked against libc
    • optimize concatcopy code generation
    • optimize set operations
  • improve SPARC port
    • fix code generator internal bugs
    • write code optimizer
    • improve RTL implementation

Information about compiler development can be found here: Compiler development articles

RTL development

  • port the 1.0.10 BeOS port to 1.9.x: BeOS port
  • port the 1.0.6/1.0.10 SunOS port to 1.9.x: SunOS port (combine with Sparc
  port)
  • port the 1.0.6/1.0.10 QNX port to 1.9.x: QNX port
  • Implement crossplatform 64-bit fileroutines
  • ARM port and RTL more userfriendly. (need users/contributors/betatesters first)
  • improve MacOS X rtl:
    • Port the missing RTL units (mainly text console handling)
    • Create a Mac OS X installer package definition
    • Try to create some kind of plug-in so the compiler can be called from XCode and Project Builder
    • Run the test suite and fix bugs
    • Replace as many of my handwritten assembler routines with calls to libc versions, as Apple is much better at writing fast ppc assembler code than I am. Do the same for the generic math routines.
    • Support the Apple dialect so we can use the Universal Interfaces
    • Finish Classic Mac OS support
  • create a WinCE rtl: WinCE port
  • The unix ports (including derivatives as BeOS and QNX) should have a way to be rerouted to libc instead of syscalls. (Done, 1.9.2)

FCL development

  • New classes
  • debug classes
  • more database support and abstraction

FVISION development

  • getting it fully up to speed and compatible with TV
  • endianness and 64-bit clean work.

IDE development

  • The text mode IDE needs currently a maintainer, have a look at this page for more information: Textmode IDE developement
  • there are a lot of bugs to fix, have a look at the bug repository: http://www.freepascal.org/bugs.html
  • get it working with FVISION
  • Related to this is debugging the platform dependant parts, the former "API" (video, mouse,keyboard). Help from platform maintainers can be expected. (more about isolating bugs than solving in these units)

Demoes

  • we can nearly always use more demoes.

Misc