Ich möchte ein Haskell-Projekt verkabeln, um es auf Hackage hochzuladen. Es besteht aus einer Standard-.hs-Datei, die eine ausführbare Bootstrap-Datei erstellt, und acht Nicht-Standard-.lhs-Dateien, die von der Bootstrap-Programmdatei verarbeitet werden, um die .hs-Dateien zu erzeugen, die die ausführbare Produktionsdatei bilden.Wie man eine Bootstrap-Datei in einem Cabal-Paket erstellt und verwendet
Mit anderen Worten, mein Projekt ist ein benutzerdefinierter kompilierter Präprozessor (mit HTML Markup, Code Grooming, hier Dokumente), der in sich selbst geschrieben ist. Es hängt von einer Bootstrap-Version ab, die den Literate-Code für die Produktionsversion übersetzen kann, aber nicht für den allgemeinen Gebrauch geeignet ist. Also ich nicht möchte die Bootstrap-Version ein separates Paket sein; es soll nur einmal hier verwendet werden.
Ich habe ein Makefile benutzt, was in Cabal möglich ist, aber nicht im Sinne von Cabal. Was ist ein sauberer Weg, dies zu tun, der die Allgemeinheit von Cabal maximal ausnutzt? Ich habe keine Vorschläge dafür in der Online-Dokumentation gesehen, kurz, um entweder Distribution.Simple neu zu schreiben oder ein Makefile zu verwenden.
Schön! Ich experimentiere jetzt damit. Mein Bootstrap-Preprozessor-Code ist ziemlich kurz; Eine Option wäre, dass ich sie einfach in Setup.hs einfüge! – Syzygies