Frage

Ich versuche zur Zeit in den Hafen ein SIP-Stack-Bibliothek (pjSIP) an die PSP-Konsole (mit dem PSPSDK Toolchain), aber ich habe zu viel Mühe mit den Makefiles (die richtigen Änderungen vornehmen und die Lösung von Problemen verknüpft).

Kennt jemand einen guten Text, Buch oder etwas einen Einblick zu bekommen auf Bibliotheken zu portieren?

Die einzige Dokumentation dieses Projekt auf Portierung bietet scheint zu den wichtigsten Betriebssystemen zu gewidmet.

War es hilfreich?

Lösung

Sie auch in anderen Bibliotheken, die wurden auf die PSP portiert. Doing diffs zwischen einer Linux-Version einer Bibliothek und einer PSP-Version sollten Sie zeigen.

Versuchen Sie auch, um zu wissen, wie kompatibel POSIX das PSP ist, dass werden Ihnen sagen, wie groß die Aufgabe, die Bibliothek der Portierung vorbei ist.

Andere Tipps

Die PSP nicht UNIX ist und nicht konform POSIX, aber die Open-Source-Werkzeugkette von gcc besteht 4.3, bintutils 1.16.1 und newlib 1.16.

Die meisten der C-Bibliothek ist bereits vorhanden und kann die meisten Ihrer Code kompilieren. Viele Bibliotheken wurden portiert nur durch das Konfigurationsskript mit den folgenden Argumenten aufrufen:

LDFLAGS="-L$(psp-config --pspsdk-path)/lib -lc -lpspuser" ./configure --host psp --prefix=$(pwd)/../target/psp

Allerdings Sie können Ihre configure und configure.ac Skripte patchen müssen, um den Host-Mips allegrex (die PSP CPU) zu wissen, dass Sie für einen Mips * suchen zu tun - - ) Linie und Klon es das allegrex wie:

mips*-*-*)
    noconfigdirs="$noconfigdirs target-libgloss"
    ;;
mipsallegrex*-*-*)
    noconfigdirs="$noconfigdirs target-libgloss"
    ;;

Dann führen Sie den Befehl make und hoffen, dass newlib hat alles, was Sie brauchen, wenn es nicht dann tut man muss nur Alternativen erstellen, um die Funktionen, die Sie fehlen.

Porting ist sehr plattformspezifisch, so dass ich glaube nicht, dass Sie viel allgemeine Literatur zum Thema finden.

Aus der Spitze von meinem Kopf, einige Dinge, die auftreten können:

  • endianness
  • Wortgröße
  • verfügbare Bibliotheken
  • Compiler Unterschiede
  • Linker Unterschiede (Sie haben bereits gesehen, dass ein)
  • Peripherie-Hardware Unterschiede
  • ...

Ich habe einige mehr Forschung und fand diesen Beitrag bei ps2dev Forum:

  

Die PSP ist nicht ein Unix-System, und die PSPSDK nicht konform POSIX. Es ist nah an einigen Stellen, aber man kann keinen Code nehmen erwartet, nur die auf einem POSIX-System einwandfrei kompiliert und nutzen. Zum Beispiel:

     
      
  • PSPSDK verwendet newlib, die einige der glibc-Funktionen und Header fehlt.
  •   
  • libc nicht standardmäßig so typische autoconf Tests verknüpft ist fehl
  • bauen   
  • autoconf weiß nichts über das PSP
  •   
  • definieren PSP_MODULE_INFO und läuft psp-Fixup-Einfuhren auf die ausführbare Datei benötigt werden, sonst wird es nicht ausgeführt
  •   
     

Sie sollten bei allen anderen Bibliotheken und Programme suchen, die (in der psp und pspware Repositories) portiert wurden. Alle SDL Libs verwenden autoconf, zum Beispiel.

Ich denke, das näher in das, was liefert die ich suchte, und zeigen auch die @ [Jonathan Arkell] Punkt der Suche in Bibliotheken, die bereits portiert.

Vielen Dank für Ihre Antworten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top