Prototype buildsystem "Drake"
Jacob Carlborg
doob at me.com
Thu Jul 14 12:41:04 PDT 2011
On 2011-07-14 00:29, Nick Sabalausky wrote:
> "Jacob Carlborg"<doob at me.com> wrote in message
> news:ivkpdp$8dj$1 at digitalmars.com...
>>>
>>> FWIW, my Drake system takes that as a high priority, too. For example, if
>>> you have project "foo", then you can get the cross-platform binary
>>> filename,
>>> object filename, shared lib filename, static lib filename, etc like this:
>>>
>>> "foo".exe // "foo.exe" or "foo"
>>> "foo".obj // "foo.obj" or "foo.o"
>>> "foo".lib // "foo.lib" or "foo.a"
>>> "foo".slib // "foo.dll" or "foo.so"
>>> "foo".bat // "foo.bat" or "foo"
>>> "foo".sh // "foo.bat" or "foo.sh"
>>
>> Don't forget "foo.dylib" on Mac OS X.
>>
>
> Thanks, I didn't know about that. Does OSX use .dylib instead of .so, or is
> it another thing that it has in addition to .so?
Yes it uses .dylib instead of .so. It also has frameworks and other
bundles which probably is a little overkill for the tool to support. A
framework is just a folder name <name>.framework that contains a
specific file and directory layout. It contains a dylib, header files,
resources like images and sounds and possibly other dynamic libraries.
Basically a package with everything the library needs to run.
BTW, DMD can build dynamic libraries on Mac OS X using the "-dylib" switch.
> Are there any other OSX-specific (or BSD-specific, for that matter)
> extensions to be aware of? Until now, I thought it just used all the same
> extensions as Linux.
It depends on what the build tool should be able to do and know about.
For example, GUI applications on Mac OS X is expected to be in an
application bundle (<name>.app), similar to a framework but containing
an executable instead of a dynamic library.
> Oh also, to Posix-people: Could "slib" be easily confused as being to "lib"
> what "sbin" is to "bin"?
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list