FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

MiniD with DSSS

 
Post new topic   Reply to topic     Forum Index -> MiniD
View previous topic :: View next topic  
Author Message
Gregor



Joined: 05 May 2006
Posts: 72
Location: Portland, OR

PostPosted: Tue Nov 21, 2006 5:19 pm    Post subject: MiniD with DSSS Reply with quote

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 Smile
Back to top
View user's profile Send private message AIM Address
JarrettBillingsley



Joined: 20 Jun 2006
Posts: 457
Location: Pennsylvania!

PostPosted: Fri Nov 24, 2006 11:22 am    Post subject: Reply with quote

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
View user's profile Send private message
Gregor



Joined: 05 May 2006
Posts: 72
Location: Portland, OR

PostPosted: Fri Nov 24, 2006 11:13 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
JarrettBillingsley



Joined: 20 Jun 2006
Posts: 457
Location: Pennsylvania!

PostPosted: Sun Nov 26, 2006 8:12 am    Post subject: Reply with quote

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
View user's profile Send private message
Gregor



Joined: 05 May 2006
Posts: 72
Location: Portland, OR

PostPosted: Mon Nov 27, 2006 12:07 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
JarrettBillingsley



Joined: 20 Jun 2006
Posts: 457
Location: Pennsylvania!

PostPosted: Mon Nov 27, 2006 10:58 pm    Post subject: Reply with quote

Huh, didn't know that about va_list. Thanks.

I'll be sure to put dsss.conf in the repo soon. Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> MiniD All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group