我正在嘗試將一個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有你所需要的,如果沒有的話你只需要創建你缺少的功能的替代品。