XMRM kompilieren
Auf der Suche nach einem Morphing-Programm für Linux bin ich auf xmrm gestoßen. Das stammt wirklich noch aus der Steinzeit (1998) und läßt sich dementsprechend nicht ohne weiteres auf einem modernen System kompilieren. Zwar gibt es eine statisch gelinkte Version, aber die ist wohl noch für 486er optimiert, nicht mehr unbedingt zeitgemäß...
Deswegen habe ich mich dran gemacht, das mal so anzupassen, daß es sich auf meinem Gentoo kompilieren läßt. Dabei hilfreich zur Seite stand mir dieser Artikel, aber der sagt einem nicht alles. Deswegen, hier meine diffs:
Deswegen habe ich mich dran gemacht, das mal so anzupassen, daß es sich auf meinem Gentoo kompilieren läßt. Dabei hilfreich zur Seite stand mir dieser Artikel, aber der sagt einem nicht alles. Deswegen, hier meine diffs:
(rot=raus, grün=rein)
...wobei natürlich beim letzteren die COMPLIE_FLAGS entsprechend dem Zielsystem anzupassen sind.
Das ganze funktioniert übrigens tatsächlich nur mit einer xforms-Library Version 0.88 (ich habe es mit 1.0.90 versucht, beim Öffnen einen Projekts stürzt er dann gnadenlos ab. Müßte sich mal einer drum kümmern, der da mehr Ahnung von hat als ich...
)
So, jetzt such ich nur noch jemanden, der Ahnung hat vom ebuild-Bauen, dann könnte man das direkt mal den Gentoos mitteilen, daß wir was für ihren Portage-Tree haben (sobald das xforms-Problem gefixt ist, weil: so ein kleines xforms gibt es nicht mehr für Gentoo). Pete, mach mal!
Zuletzt die traurige Nachricht: Trotz Optimierung läufts nicht wirklich schneller... eher sogar langsamer...
init.cc:
5,6d4
< #include <stdlib.h>
<
io.cc
1157,1159c1157
< //control.akima_P[i] = proj.akima_points[i];
< control.akima_P[i][0] = proj.akima_points[i][0];
< control.akima_P[i][1] = proj.akima_points[i][1];
---
> control.akima_P[i] = proj.akima_points[i];
1393,1397c1391,1392
< //proj.akima_points[i] = control.akima_P[i];
< {
< proj.akima_points[i][0] = control.akima_P[i][0];
< proj.akima_points[i][1] = control.akima_P[i][1];
< }
---
> proj.akima_points[i] = control.akima_P[i];
>
1728,1730c1723
< //number = ".000.";
< strcpy(number,".000.");
<
---
> number = ".000.";
morphvec.cc
20c20
< extern int max_x,max_y;
---
> extern max_x,max_y;
xmrm_main.cc
311c311
< //control.ControlClass(); // call constructor
---
> control.ControlClass(); // call constructor
xmrm_mpeg_main.cc
6,7d5
< #include "const.h"
<
41,42c39
< //char number_str[6]; // holds '.###.'
< char number_str[7]; // holds '.###.'
---
> char number_str[6]; // holds '.###.'
74,75c71
< //backup_class->number_str = ".000.";
< strcpy(backup_class->number_str,".000.");
---
> backup_class->number_str = ".000.";
424,425c420
< //work_class->even = ".even";
< strcpy(work_class->even,".even");
---
> work_class->even = ".even";
Makefile
20,21c20
< #CC = gcc
< CC = g++
---
> CC = gcc
30c29
< COMPILE_FLAGS = -march=athlon-xp -O3 -pipe -c
---
> #COMPILE_FLAGS = -O3 -m486 -c
33c32
< #COMPILE_FLAGS = -O -c
---
> COMPILE_FLAGS = -O -c
40,41c39
< #LIBS = -L/usr/lib -ltiff -ljpeg -lgz -lforms -lXpm $(SYSLIB)
< LIBS = -L/usr/lib -ltiff -ljpeg -lforms -lXpm $(SYSLIB)
---
> LIBS = -L/usr/lib -ltiff -ljpeg -lgz -lforms -lXpm $(SYSLIB)
...wobei natürlich beim letzteren die COMPLIE_FLAGS entsprechend dem Zielsystem anzupassen sind.
Das ganze funktioniert übrigens tatsächlich nur mit einer xforms-Library Version 0.88 (ich habe es mit 1.0.90 versucht, beim Öffnen einen Projekts stürzt er dann gnadenlos ab. Müßte sich mal einer drum kümmern, der da mehr Ahnung von hat als ich...

So, jetzt such ich nur noch jemanden, der Ahnung hat vom ebuild-Bauen, dann könnte man das direkt mal den Gentoos mitteilen, daß wir was für ihren Portage-Tree haben (sobald das xforms-Problem gefixt ist, weil: so ein kleines xforms gibt es nicht mehr für Gentoo). Pete, mach mal!

Zuletzt die traurige Nachricht: Trotz Optimierung läufts nicht wirklich schneller... eher sogar langsamer...

Kommentare
Ansicht der Kommentare: Linear | Verschachtelt