I am assigned a task which is to port a windows project into linux. I am relatively new to the porting concept. However I find this as interesting. But to my wonder I don’t see much discussion or help on porting at web and forums. Usually people try to port an application to linux by using WINE but I think that it is not actual porting of the application but instead we are running a windows executable inside linux process through some virtual layer… but that is not porting as much as I have understood. Also to write a portable code is not as difficult as to try to port an existing Windows specific application code into the linux platform.
I have a windows application/project built in C/C++ using windows API and MFC at some spots. Now the application need to be ported to Linux. I want to understand that are there any rules & guidelines specific to the porting. Currently I have situation somewhat like this:
Application has a MS COM Component depending on various libraries present in the shape of DLLs.
This COM (Component Object Model) serves the basic and fundamental logic of the application. But it uses several other 3rd party libraries and some self built libraries present in the form of DLL. Some of these DLLs are using MFC library.
Can any body suggest me that what formula I shall apply and follow any theory of porting in my situation. Currently I am planning to try to convert all the DLLs in a Linux Dynamic shared library and exclude all the MFC/Win API specific part from the code(that can be analyzed later). But What I have confliction is that is there any replacement of MS COM technology in Linux or I have to convert that COM into the Shared Library as well such that a separate process is forked in linux which contain a shared object or some thing like that. I really need the expert programmers guidance and any kind of information will be appreciated.