Verdunkelte Neubauten: eclipse.exe selbstgemacht
Dieser Artikel wurde von Falk Hartmann geschrieben. Falk ist leitet die Softwareentwicklung bei der Firma ubigrate. Sein besonderes Interesse gilt der modellgetriebenen Entwicklung in den Bereichen intelligente Geräte und Geräteintegration.
Ein Versuch, die eclipse.exe aus den Eclipse-Quellen für Windows selbst zu bauen, kann zu einer zeitraubenden Angelegenheit werden – zumindest, wenn man C-seitig nicht fit genug ist, jederzeit am International Obfuscated C Code Contest teilnehmen zu können. Ein aktueller Versuch eines Neubaus der eclipse.exe aus dem 3.3.2 eclipse-Quelltext (eclipse-sourceBuild-srcIncluded-3.3.2.zip) offenbarte einige kleine Fallstricke.
Als allererstes stellt man fest, dass das mit den Sourcen gelieferte make-File (features/org.eclipse.equinox.executable/library/win32/make_mingw.mak) zwar auf MinGW aufsetzt, nebenbei jedoch auf Implementierungen einiger Befehle zurückgreift, welche in MinGW nicht zu finden sind. Eine zusätzliche Installation von cygwin löste dieses Problem (Achtung: Pfad so setzen, dass MinGW vor cygwin zum Zuge kommt).
Allerdings heißt der ins make-File eingebaute C-Compiler i586-pc-cygwin-gcc unter MinGW einfach mingw32-gcc.exe, was sich aber leicht ändern läßt.
Findet die gebaute eclipse.exe ihre “companion shared library” nicht, hat man mit großer Wahrscheinlichkeit vergessen, Default-Werte für Betriebssystem, Architektur und Fenstersystem anzugeben. Folgende Befehle helfen dem make-File auf die Sprünge (einbauen oder in der Shell ausführen):
export DEFAULT_OS=win32
export DEFAULT_OS_ARCH=x86
export DEFAULT_WS=win32
Die Konsolenanwendung eclipsec.exe kommt standardmäßig ohne Icon daher, dies läßt sich durch Einfügen von $(RES) in den Compiler-Aufruf ändern:
$(CC) $(CONSOLEFLAGS) -o $(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) <strong>$(RES)</strong> $(LIBS)
Schließlich stellt man fest, dass die erzeugten Dateien (eclipse.exe, eclipsec.exe, eclipse_xxxx.dll) um ein Vielfaches größer sind als erwartet. Der Befehl strip (aus MinGW) kann benutzt werden, um die Dateigröße durch das Entfernen der Symboltabellen auf das übliche Niveau (ca. 70k für die eclipsec.exe) zu senken. Der Aufruf von strip läßt sich natürlich auch gleich ins make-File einbauen.
Kay sagt
am 23. Oktober 2008 @ 18:30
wow, ich dachte immer, die eclipse.exe wäre ein shortcut für “java -jar eclipse.jar” + nag screen oder so. War das bei früheren Elipse-Versionen mal so?