Mono für Windows 98 kompilieren
-
Ich hab mal testweise Mono kompiliert und es hat auch geklappt. Nun will ich es mal so kompilieren, daß es auch unter Windows 98 läuft. In der Technical FAQ auf der Mono-Seite steht folgendes:
www.mono-project.com/FAQ:_Technical schrieb:
Can Mono run on Windows 9x, or ME editions?
Mono requires Unicode versions of Win32 APIs to run, and only a handful of the "W" functions is supported under Win9x. There is Microsoft Layer for Unicode that provides implementation of these APIs on 9x systems.
Unfortunately it uses linker trick for delayed load that is not supported by ld, so some sort of adapter is necessary. You will need MSLU and one of the following libs to link Mono to unicows.dll http://mono.eurosoft.od.ua/files/unimono.zip or alternatively search the net for "libunicows".
No changes to the Mono source code are required, the only thing is to make sure that linker will resolve imports to adapter library instead of Win32 libs. This is achieved by inserting -lunimono before -lkerner32/user32 in the linker's specs file.
Nun weiß ich aber nicht mehr wirklich weiter. Der Befehl -lkernel32 (nicht -lkerner32) steht in so machen Dateien drin, einige im Projektordner des Mono-Quellcodes, einige direkt bei den GCC-Sachen. Aber in welcher von denen muß ich jetzt auf die Unicode-Lib verlinken?
Ich weiß, wie man Mono kompiliert und ich weiß generell, wie man die Library libunicows auf der Kommandozeile in ein GCC-Projekt einbindet. Nun fehlt mir nur noch die Verbindung zwischen beidem: Wo bindet man die libunicows in Mono ein? Welches ist die sogenannte linker's spec file? Es gibt eine Datei, die ganz konkret "spec" heißt, nur gehört die zum GCC und nicht zum Mono-Projekt und nun weiß ich nicht weiter, welche Dateien ich jetzt bearbeiten soll/darf. Habt Ihr da eine Idee?P.S.: Ich möchte hier keine Grundsatzdiskussion über Sinn und Unsinn der Kompilierung von Mono für Windows 98 und der Tatsache, daß Windows 98 veraltet ist und sowieso von keinem mehr benutzt wird etc. führen. Wer der Meinung ist, mein Vorhaben wäre sinnlos, der braucht ja nicht zu antworten.