Topic: Submission guidelines

As I'm getting ready to submit the first pass at the package system, I just thought I'd try and find out what is reccommended for submitting code, and in my case in particular, third party libraries. I made a new topic so that it might be useful to other people if they look.

I am a little confused about third party libraries. I have had to compile libnpk myself but I haven't changed the library myself. Should I include the source for the library into the maratis svn tree or should I just include the libraries and headers? Maybe along with a readme on how to rebuild the library if needed, with link to the svn repo or something? Should I supply debug libraries (with windows pdb files) or release libraries?

Is there any specific directory structure I should be following? At the moment I have:

npk
|---win32
|   |---bin
|   |   `npk.exe
|   `---libnpk.lib
|---linux
|   |---bin
|   |   `npk
|   `---libnpk.a
|---osx
|   |---bin
|   |   `
|   `
`---include
    |---npk.h
    |---npk_base.h
    |---npk_conf.h
    |---npk_dev.h
    `---npk_error.h

Also, I'm aware that I should only submit code which compiles and runs, I, however, don't have access to a Mac, so I cannot build libnpk myself, or test it. Is this acceptable? What are the recommended defines for not compiling untested code per platform?

Another question that's sort of libnpk specific, there is a flag for building libnpk in "dev mode" which allows writing to npk files. If Maratis editor is to publish packages from code, it will need to be built against a dev library. However, there's no need for Maratis player to be built against the larger library, should I therefore make 2 libraries to link to, a libnpk-dev for the editor and libnpk for the player? Or just link to the larger library for both?

Last edited by Nistur (2012-01-13 22:22:58)

Re: Submission guidelines

The code of the lib should be send to svn/3rdparty/npk

Actually the 3rdparty libs should be all built by scons at least, it is not completely clean yet on svn, there is still some pre-compiled libs because of the visual studio project and the xcode project.

It is hard to support fully the visual proj and the xcode proj, so the priority is to have the scons build compiling.
I never put any hand to scons, Davide Bacchet did all the work, so I'm not sure right now how to add a new lib. But I'll have a look tomorrow and I'll tell you, or I will try to contact Davide.

For libnpk, best would be to build 2 libs, but it looks light, so if it's complicated to do that's not a big deal.

Re: Submission guidelines

That's fine. Just wanted to clarify it. The difference in size in this case is, for linux, 128k vs 70k. Neither size is huge. I will try and get scons building libnpk, and get it compiling into the VS10 solution too. I will also see if I can find a copy of VC++Express2005 to update the solution for that too.

Re: Submission guidelines

Also, I have a mac so I can test it and update the xcode project.

If there is too much chance that committing all your files will break the compilation,
you can send me first a patch and I'll try to test it on every platform before committing to svn.