Sebastian\’s Coding Blog

  • Categories

  • Advertisements

Case problems, DSSS

Posted by randomz on May 26, 2007

I recently took it on me to convert all the module names in Sofud to lower case, following a small remark in the D documentation: “By convention, package and module names are all lower case. This is because those names have a one-to-one correspondence with the operating system’s directory and file names, and many file systems are not case sensitive. All lower case package and module names will minimize problems moving projects between dissimilar file systems.”

Actually, I never had any problems with this, but to prevent any problems that might occur, I decided to do the conversion.

As had to be expected, it was a pain. The procedure was pretty straightforward: Change all the file names, then change all imports of all files, and then sift through the remaining compiler errors. But even though Sofud is still not huge in code size, there were a *lot* of compiler errors. So the whole procedure cost me some 4 hours I could have better invested if I had used lower case module names from the start, but you never stop learning.

I also started switching the Sofud build process to DSSS. DSSS looks pretty promising in that, if Sofud was to reside on the DSSS server, other DSSS packages could automatically pull it if they needed it. Also, a standardized way to distribute libraries and such is probably a good thing.

Using rebuild (an advancement of Bud which is part of the DSSS project) for the parts of my coding where I can’t apply DSSS has mysteriously solved all the troubles I ever had with bud, i.e. with using derelict under Linux. It just works. I like it. 🙂

The 1.0alpha1 release of Sofud could be drawing nearer. There are only a couple of points on my release todo list left:

  • Produce more usable error messages, i.e. improve the exception classes.
  • Make it work on Linux.
  • Find a (preferably automated) way to create the documentation without using Bud.
  • Complete 90% of source code documentation.
  • Write at least one or two chapters of the manual.

4 Responses to “Case problems, DSSS”

  1. J!0X said

    Yay, I love these problems. Often my complete code doesn’t work any more after changing only small things. That’s why CVS helps programmers.
    If you want to test linux support, you can send the source code to me and I will compile it.
    Happy coding 😉

  2. randomz said

    Actually, I have my own Ubuntu sitting on my hard disk and waiting for me to use it, so it’s no problem to compile it myself.
    I don’t actually have any worries about it not working in Linux, but there’s one function I only implemented for Windows, which is a function that converts relative paths to absolute paths. I have been too lazy to do it until now.

  3. J!0X said

    Well, does argv[0] not work?

  4. randomz said

    I have yet to try this under Linux, but under Windows, argv[0] doesn’t always contain the complete path of the program executable. I’d assume it’s the same under Linux.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: