Restructure libs source to support multi platform