我正在尝试将一个SIP堆栈库(pjSIP)移植到PSP控制台(使用PSPSDK工具链),但是我对makefile有太多的麻烦(使得适当的变化和解决链接问题)。关于将SIP库移植到PSP的帮助
有谁知道一个良好的文字,书籍或东西得到移植库的一些见解?
这个项目提供的唯一文档移植似乎太专用于主要的操作系统。
我正在尝试将一个SIP堆栈库(pjSIP)移植到PSP控制台(使用PSPSDK工具链),但是我对makefile有太多的麻烦(使得适当的变化和解决链接问题)。关于将SIP库移植到PSP的帮助
有谁知道一个良好的文字,书籍或东西得到移植库的一些见解?
这个项目提供的唯一文档移植似乎太专用于主要的操作系统。
看看被移植到PSP的其他库。在Linux版本的库和PSP版本之间做差异应该会显示出来。
另外,试着去了解POSIX如何兼容PSP,这将告诉你移植库的工作有多大。
移植是非常特定于平台的,所以我不认为你会发现关于这个问题很多普通文献。
把我的心顶,有些东西你可能会遇到:
我做了一些更多的研究,发现这个帖子在论坛ps2dev:
的PSP是不是Unix系统,而PSPSDK不与POSIX兼容。它在某些地方很接近,但是你不能指望只需要在POSIX系统上编译好的代码并使其工作。例如:
- pspsdk使用newlib,它缺少一些glibc的功能和头文件。
- libc中默认情况下不联系,所以典型的autoconf测试将无法建立
- 的autoconf一无所知PSP
- 定义PSP_MODULE_INFO和运行上的可执行PSP-修正,进口是必要的,否则也不会运行
您应该查看已经移植的所有其他库和程序(在psp和pspware存储库中)。例如,所有的SDL库都使用autoconf。
我认为这提供了更多的细节到我正在寻找的东西中,并且还显示了@ [Jonathan Arkell]关于已经移植过的库的点。
感谢您的回复。
PSP不是UNIX,不符合POSIX标准,但开源工具链由gcc 4.3,bintutils 1.16.1和newlib 1.16组成。
大多数C库已经存在,并且可以编译大部分代码。图书馆的很多已经只是用下面的参数调用配置脚本移植:
LDFLAGS="-L$(psp-config --pspsdk-path)/lib -lc -lpspuser" ./configure --host psp --prefix=$(pwd)/../target/psp
然而,你可能需要修补配置和configure.ac脚本知道主机MIPS一个Allegrex(PSP的CPU),以这样做,你搜索MIPS * - -)线,并将它克隆到像一个Allegrex:
mips*-*-*)
noconfigdirs="$noconfigdirs target-libgloss"
;;
mipsallegrex*-*-*)
noconfigdirs="$noconfigdirs target-libgloss"
;;
然后你运行make命令,并希望newlib有你所需要的,如果没有的话你只需要创建你缺少的功能的替代品。