Ok, das sollte einfach sein, aber ich kann das nicht herausfinden. Ich habe zwei Projekte, ProjectA und ProjectB. ProjectB hängt vom alten Projekt ProjectA ab. Jetzt möchte ich ProjectB bauen. Und ich möchte jetzt nicht die Verzeichnisstruktur für ProjectA ändern. Problem ist, ich habe immer -outputdir bin mit ProjectA benutzt.Verknüpfen separater Projekte in GHC
ProjectA sah wie folgt aus:
ProjectA/
bin/
(*.o, *.hi in proper paths, sometimes also *.p_o and *.p_hi)
Foo/
ModuleX.hs
ModuleA.hs
ModuleB.hs
Jetzt habe ich einen anderen Ordner mit ProjectB haben, mit seinen eigenen separaten -outputdir. Ich muss nur auf die alten Projektobjektdateien verlinken (ohne dass ProjectA-Dateien neu kompiliert werden müssen). Ich realisiere, dass ich ProjectA wahrscheinlich verbalisieren kann ... aber gibt es keinen einfacheren Weg?
scheint es mir, dass Sie ein Build-System benötigen. Wenn Sie nicht mögen Cabal (oder Makefiles) versuchen, schütteln (http://community.haskell.org/~ndm/shake/) – Jonke
Danke, ich werde Schütteln überprüfen, aber ich brauche nicht wirklich einen Ersatz zu machen. In der Tat bin ich ein ziemlich glücklicher Benutzer von make jetzt. Das Problem ist, dass GHC diese seltsame Art der Suche nach .o und .hi Dateien zu haben scheint, die nicht ausreichend anpassbar sind. Mit anderen Worten, wenn ich -outputdir bin ... hinzufügen wird es nach vorkompilierten Dateien in bin suchen, und ich kann keine Möglichkeit finden, das zu ProjectA/bin zu ändern – Samee