No header files?

Walter Bright newshound1 at digitalmars.com
Fri Oct 23 03:37:46 PDT 2009


Yigal Chripun wrote:
> that's a different use case. *If* full sources are available than I 
> could just compile everything myself.
> What we're talking about is commercial companies that do not provide 
> full sources. In Java this is trivial - just provide jar(s), in .Net 
> it's trivial - just provide assemblies. in D you need to provide both a 
> library file *and* di header files.

I just don't see how having another file is any sort of burden. People 
have been doing it for a very long time.


> I was suggesting to convert *both* obj files and lib files to llvm 
> bit-code. such library files will still contain the metadata.

I understand, but it's a lot of code to write to eliminate a file - and 
with other downsides like not being human readable.


> what I ultimately want is to have something similar in concept to .net 
> asseblies/java Jars but with native code (no VM involved). LLVM provides 
> the infrastructure to do exactly this: the compiler generates platform 
> neutral D-assemblies (in llvm bitcode) that can be used on any 
> architecture/OS/llvm-compiler. This would also allow us to use libraries 
> written in other languages when there's an appropriate llvm compiler for 
> them (Ruby, scheme, python, etc).

Right now, you can hook D up to any language that supports a C 
interface. It's not necessary to convince them to use LLVM, too.


> Another issue that's not mentioned here is shared libraries and D.
> there's no one simple way to have D shared libraries, and especially on 
> windows (90% market share...) dlls are *not* a solution at all. there 
> are 3rd party tools like DDL but I'd like to see *one* solution that 
> works on all platforms and directly supported by D. major D libraries 
> need to be shared libs - the runtime, the stdlib, the GUI libs, etc..

Shared libraries are inherently not portable from system to system.



More information about the Digitalmars-d mailing list