it is a real pain trying to make a plugin from d. I love D2 but I would even abandon it if there is solution with a compiler that at least supports D1 and has a solution for dynamic linking. Maybe I'm stupid, but tried dmd and ldc (and tango and phobos). And I don't know if I want to go GDC. It is so frustrating that DDL was abandoned, even I grabbed a external branch an is not so outdated, but probably outdated and w/o documentation. (btw linux)
is there a not so painful way of making plugins?. Or is there still opportunity with DDL? I'm open to both phobos, tango, D1 D2 We NEED a way to make plugins from d. And is a must to use freely the features of D with out getting dirty (or not so dirty) or worse, limited to some features /*and for your pleasure some of the pain: ------------------------------------------------------- g-desktop:~/dynamic/ddl/ddl/Samples$ xfbuild +cldc -L-Wl,-Map -L-Wl,testHost01.map testHost01.d -I../.. -I/home/g2/ldc/import +oftest01 .objs/host.o: In function `_D3ddl11ExportClass44__T11ExportClassTC11testIface0110IHasFooBarZ11ExportClass14__T9newObjectZ9newObjectMFZC11testIface0110IHasFooBar': host:(.gnu.linkonce.t._D3ddl11ExportClass44__T11ExportClassTC11testIface0110IHasFooBarZ11ExportClass14__T9newObjectZ9newObjectMFZC11testIface0110IHasFooBar+0x214): undefined reference to `_d_newclass' .objs/ddl-elf-ELFObjLoader.o:(.rodata+0x28): undefined reference to `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader14getLibraryTypeMFZAa' .objs/ddl-elf-ELFObjLoader.o:(.rodata+0x2c): undefined reference to `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader14canLoadLibraryMFS3ddl10FileBuffer10FileBufferZb' .objs/ddl-elf-ELFObjLoader.o:(.rodata+0x30): undefined reference to `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader4loadMFC3ddl14LoaderRegistry14LoaderRegistryS3ddl10FileBuffer10FileBufferZC3ddl14DynamicLibrary14DynamicLibrary' .objs/ddl-DynamicLibrary.o:(.rodata+0x28): undefined reference to `_D3ddl14DynamicLibrary14DynamicLibrary9getSymbolMFAaZPS3ddl12ExportSymbol12ExportSymbol' .objs/ddl-DynamicLibrary.o:(.rodata+0x2c): undefined reference to `_D3ddl14DynamicLibrary14DynamicLibrary10getModulesMFZAC3ddl13DynamicModule13DynamicModule' .objs/ddl-DynamicLibrary.o:(.rodata+0x30): undefined reference to `_D3ddl14DynamicLibrary14DynamicLibrary7getTypeMFZAa' .objs/ddl-DynamicLibrary.o:(.rodata+0x34): undefined reference to `_D3ddl14DynamicLibrary14DynamicLibrary13getAttributesMFZHAaAa' .objs/ddl-DynamicLibrary.o:(.rodata+0x3c): undefined reference to `_D3ddl14DynamicLibrary14DynamicLibrary18getModuleForSymbolMFAaZC3ddl13DynamicModule13DynamicModule' .objs/ddl-DynamicLibrary.o:(.rodata+0x40): undefined reference to `_D3ddl14DynamicLibrary14DynamicLibrary11getResourceMFAaZAh' .objs/ddl-DynamicModule.o:(.rodata+0x28): undefined reference to `_D3ddl13DynamicModule13DynamicModule7getNameMFZAa' .objs/ddl-DynamicModule.o:(.rodata+0x38): undefined reference to `_D3ddl13DynamicModule13DynamicModule10getSymbolsMFZAS3ddl12ExportSymbol12ExportSymbol' .objs/ddl-DynamicModule.o:(.rodata+0x3c): undefined reference to `_D3ddl13DynamicModule13DynamicModule9getSymbolMFAaZPS3ddl12ExportSymbol12ExportSymbol' .objs/ddl-DynamicModule.o:(.rodata+0x40): undefined reference to `_D3ddl13DynamicModule13DynamicModule20getSymbolLineNumbersMFZAS3ddl16SymbolLineNumber16SymbolLineNumber' .objs/ddl-DynamicModule.o:(.rodata+0x44): undefined reference to `_D3ddl13DynamicModule13DynamicModule13resolveFixupsMFZv' .objs/ddl-DynamicModule.o:(.rodata+0x48): undefined reference to `_D3ddl13DynamicModule13DynamicModule10isResolvedMFZb' .objs/ddl-DynamicLibraryLoader.o:(.rodata+0x28): undefined reference to `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader14getLibraryTypeMFZAa' .objs/ddl-DynamicLibraryLoader.o:(.rodata+0x2c): undefined reference to `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader14canLoadLibraryMFS3ddl10FileBuffer10FileBufferZb' .objs/ddl-DynamicLibraryLoader.o:(.rodata+0x30): undefined reference to `_D3ddl20DynamicLibraryLoader20DynamicLibraryLoader4loadMFC3ddl14LoaderRegistry14LoaderRegistryS3ddl10FileBuffer10FileBufferZC3ddl14DynamicLibrary14DynamicLibrary' collect2: ld returned 1 exit status ------------------------- sorry if that was pointless*/ sorry if *this* is pointless. (I'm a bit frustrateh)