X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2Fblog-0014.html-inc;h=1945937aa5a7d7c8d752ce5a2e560b4c3f8a62d7;hb=da83ccc8b83acfd0c6ae5335472ac909495dca5d;hp=f5d4032823b6c03d8dddcead7217e725791e5374;hpb=f060e594ff77e262c6f1e29a23acb092a1bb7ae2;p=sdlgit%2FSDL-Site.git diff --git a/pages/blog-0014.html-inc b/pages/blog-0014.html-inc index f5d4032..1945937 100644 --- a/pages/blog-0014.html-inc +++ b/pages/blog-0014.html-inc @@ -1,26 +1,38 @@

-The beginnings of modular design for SDL Perl +New build system! Needs testing!

-
“Do or do not... there is no try.”
-
--yoda
+
+
+
+
+
Rome was not built,
+in one day,
 feature creep,
+existed back then too.
+
+

+
kmx++ recently worked on a brand new Build system for Alien::SDL and SDL_perl. We have managed to test it in Windows and Linux environments. We would still appreciate testing on all environments. However none of us have a shiny Mac to try this on. So if you have a Mac please consider testing the following:

+
  • Download Alien::SDL 
  • + +
    • install it
    • +
    • select build by source
    • +
    +
  • Download SDL::perl
  • + +
    • Extract it
    • +
    • perl Build.PL
    • +
    • perl Build
    • +
    • See if Bundling works ( Maybe Brian's article may help )
    • +
Thank you very much!

-

The design before


-The bindings before were all in one huge XS file. This was then exported into the SDL module. This means that the XS file has to handle with macros if any component (e.x SDL_Mixer) is not compiled. Moreover having ever binding in one XS file prevents use to treat C structs as object with only one point of free and malloc. This would be BEGIN and DESTROY in Perl. Also the monolithic design introduces a lot of bugs because we have to use free and malloc all over the place. Lastly SDL monolithic design has the constructor for all structs in both Perl and in XS.
-
-

The design we are aiming for

Simple one XS per Module. This would also simplify the Build code.
-
-

First Step


-We have began with SDL Rect. It is in github master branch now. We are in the progress of making it back compatible. Originally SDL::Rect took named variables as parameters for new(). Now since the constructor is in XS we have only unnamed parameters.
-
-
-

Before


-SDL::Rect->new( -x => 0, -y => 0, -width => 0, -height => 0);
-
-

After


-SDL::Rect->new(0, 0, 0, 0);
-
-Ideally we would like both ways of constructing Rect. -


-

\ No newline at end of file +EDIT: 
+ After some  reports back we have found out that SDL_gfx needs 
+
+

+http://cblfs.cross-lfs.org/index.php/SDL_gfx#64Bit
+
+

+We are working to get this done.
+


+

\ No newline at end of file