digitalmars.D.dwt - DWT2 D2+Phobos help needed
- Frank Benoit (53/53) Mar 21 2009 If you want to contribute, please note:
If you want to contribute, please note: http://www.dsource.org/projects/dwt/wiki/Contribution Get it with Mercurial (hg) Version Control software: First get: hg clone http://hg.dsource.org/projects/dwt2 To get later changes from the server hg pull -u To build you need "Rake", that is the Ruby make tool and is part of a standard Ruby installation. Also DMD needs to be in the path environment variable. To build with D1+Tango, the dmd.conf/sc.ini must be setup correctly (version=Tango,Posix, include paths, libs) You can build all with a simple call to 'rake'. The available target can be shown with 'rake -T'. The repository contains the following trees: Java stuff and helper: see "base" SWT: org.eclipse.swt.win32.win32.x86 org.eclipse.swt.gtk.linux.x86 Additional stuff: org.eclipse.* What I already did and still doing is, i try to make the code compilable for Phobos. I do this by deactivating the tango code by 'version' and put in 'implMissing()' calls for the missing Phobos implementation. If needed i also add dummy code (like the 'return 0;' to make it compile. public int lastIndexOf(String str, char ch, int formIndex){ version(Tango){ int res = tango.text.Util.locatePrior( str, ch, formIndex ); if( res is str.length ) res = -1; return res; } else { // Phobos implMissing( __FILE__, __LINE__ ); return 0; } } Now the code compiles, but it does not work. If a call to implMissing is entered, the application will be terminated. That is where I need help. Please help me to replace the "implMissing" with the correct implementation. Highest priority has the 'base' tree and within this tree, the places where a tango implementation exists, but none for Phobos. Places where also is no Tango implementation can be ignored. Code changes can be committed locally (hg ci) and packed into bundle files (hg bundle). Then the bundle file can be sent to me by email (keinfarbton googlemail.com). After reviewing i will add the change to the global repository and do merges if necessary. Please reply in this thread or start a new one, if you want to start working with a file(s), so nobody else is starting the same work. On the other hand, please do also tell, if you will pause/stop working on this, so someone else can take over. For questions and general conversation, please also try to find me in IRC (freenode, #dwt, keinfarbton).
Mar 21 2009