Re: [sablevm-jchevm] Windows port

Enrico Migliore <[email protected]> Wed, 12 Apr 2006 13:08:05 +0200
Newsgroups gmane.comp.java.vm.sablevm.devel
Organization -
Message-ID <[email protected]>
Etienne Gagnon wrote:

>Enrico Migliore wrote:
>  
>
>>I'm figuring the folder layout structure, to put somewhere, please let
>>me know if you find it reasonable:
>>
>>win32
>>  |_____src                (proposal A)
>>  |_____include
>>
>>
>>arch
>>  |_____win32
>>                 |______src         (proposal B)
>>                 |______include
>>    
>>
>
>It is too soon to go this way.  For now, as I said, you should simply go
>the #ifdef way.  The problem of a hierarchy, like above, is that it
>duplicates much code.  Look at src/libsablevm/system.c.  You'll see that
>many, many platforms share the same code.  So, a hierarchy is only
>useful if some code has to be distinct for each system.
>
>FYI, I dislike separate include directories, unless there's a good
>reason for doing so.  (See src/libsablevm/include : it has a purpose, as
>these files are useful to *users* of sablevm).  I also dislike separate
>compilation of each .c, as there is no reason for separate compilation
>on modern systems (actually, separate compilation can eliminate many
>optimization opportunities, and it forces you to export many symbols
>that shouldn't be exported, like static functions).  Sorry for my
>compiler background showing up...
>
>  
>
Got it. I'll leave the current directories tree intact, and use #ifdef .

I'll keep the MSVC design file in a different directory and configure 
the build system to point to ~/src

>>For this initial part of the port, I can make a local copy of the files
>>that require Windows specific functions, in the folder: "src" and
>>"include", and work on them.
>>    
>>
>
>Hmmm....  First, you should get a SableVM sandbox, and do regular
>check-ins. ;-)   But, first, we need to settle the legal issues.
>
>I'll get in touch with you in private about it.
>
>  
>
Ok

>>I already did a quite complex port in the past (FreeDOS's filesystem
>>ported to some embedded platforms) and it took me 6 months, to make a
>>clean and reliable work.
>>    
>>
>
>Great.  I don't expect SableVM's port to be such a difficult task.
>Hopefully. :-)
>
>  
>
It wasn't that difficult: it took me that much because it was an 
after-dinner work  and because I:

 1. Debugged almost all the source code
 2. Added a certain number of black-box tests
 3. Tested on floppy disk, on a USB and on flash device

Enrico