View previous topic :: View next topic |
Author |
Message |
Gregor
Joined: 05 May 2006 Posts: 72 Location: Portland, OR
|
Posted: Tue Nov 21, 2006 5:19 pm Post subject: MiniD with DSSS |
|
|
I made a dsss.conf to compile MiniD with DSSS, and added MiniD to the sources list. It's therefore now possible to 'dsss net install minid'
This works on both DMD and GDC, so my earlier posts about getting it working on GDC are sort of irrelevent. DSSS uses a far cleaner solution.
For reference, this is the dsss.conf:
Code: | name = minid
[minid]
exclude = minid/test.d minid/mdcl.d
buildflags = -circular
[minid/mdcl.d]
target = mdcl
|
I needed the -circular flag to make it work on GDC (which otherwise doesn't support circular dependencies very well).
Jarret: If you have any interest in merging dsss.conf into MiniD, that'd be nifty |
|
Back to top |
|
|
JarrettBillingsley
Joined: 20 Jun 2006 Posts: 457 Location: Pennsylvania!
|
Posted: Fri Nov 24, 2006 11:22 am Post subject: |
|
|
Sweet! Out of curiosity, how did you get it to work with GDC? Has GDC 0.20 come out? I'd like to know as a reference for those who are just using GDC without DSSS.
What do I have to do to merge dsss.conf into MiniD? |
|
Back to top |
|
|
Gregor
Joined: 05 May 2006 Posts: 72 Location: Portland, OR
|
Posted: Fri Nov 24, 2006 11:13 pm Post subject: |
|
|
gdc has a -fonly flag that can make circular dependencies work, it's just a bit of a PITA to use. DSSS has a flag for it.
The patch is at http://dsss.brainsware.org/sources/minid.diff . The dsss.conf is pretty simple, the change to minid/types.d is a difference between DMD and GDC.
For those who don't grok diff format, here's the dsss.conf:
Code: | name = minid
[minid]
exclude = minid/test.d minid/mdcl.d
buildflags = -circular
[minid/mdcl.d]
target = mdcl
|
It builds both a library and the mdcl binary. |
|
Back to top |
|
|
JarrettBillingsley
Joined: 20 Jun 2006 Posts: 457 Location: Pennsylvania!
|
Posted: Sun Nov 26, 2006 8:12 am Post subject: |
|
|
Alright, I've put in a version statement in types.d to switch between the DMD and GDC versions of that variadic function. On a side note, do you know what version GDC defines? Is it version(GNU) or version(GDC) or something? I can't find any documentation on it.
Secondly, does the dsss.conf have to go in the MiniD repo, and if so, where? |
|
Back to top |
|
|
Gregor
Joined: 05 May 2006 Posts: 72 Location: Portland, OR
|
Posted: Mon Nov 27, 2006 12:07 pm Post subject: |
|
|
Firstly, va_list works with both DMD and GDC, there's no need to version() them. va_list resolves to void * on DMD and something platform-specific on GDC.
That being said, it's version (GNU).
Secondly, if you want to keep dsss.conf in the repository, it should be next to the minid/ directory, that's where it expects to be to find the files as specified. |
|
Back to top |
|
|
JarrettBillingsley
Joined: 20 Jun 2006 Posts: 457 Location: Pennsylvania!
|
Posted: Mon Nov 27, 2006 10:58 pm Post subject: |
|
|
Huh, didn't know that about va_list. Thanks.
I'll be sure to put dsss.conf in the repo soon. |
|
Back to top |
|
|
|