PDA

Ver la versión completa : autotools, kdevelop, GP2X, gpu940 y otras hierbas...



efegea
13/05/2007, 14:09
Me estoy planteando seguir con mi engine 3D para presentar algún jueguecillo en el concurso GBAX, pero yo hasta ahora usaba mis propios Makefiles, pero quiero migrar a Kdevelop y las herramientas autotools (./configure y tal) pero ando un poco perdido en cuanto a tocar los archivos de las autotools.

Resulta que tengo que hacer que compile para GP2X con gpu940, para DS con libnds, para dreamcast con KOS y para linux con opengl, windows con el compilador cruzado mingw32.

Como veis lo tengo un poco complicado, ya que lo único que he tocado de autotools fue para el Media Center para que encontrase las librerias SDL y openGl y fue porque lo encontre en internet, pero me da a mí que lo que tengo que hacer ahora no va a estar en internet.

Pues eso ¿alguna ayudita, pista o sugerencia? ¿algun tutorial que no sea muy complicado? No tengo muchas ganas de marearme la cabeza [Ahhh]

^MiSaTo^
13/05/2007, 14:27
En el blog de D_Skywalk tienes como configurar Kdevelop para GP2X. No se lo que son las autotools (yo uso gedit y makefiles de to la vida aunque quiero migrar a Eclipse) así que en eso ni idea.
No se muy bien si eso te servirá pero la entrada de lo del KDevelop es esta:
http://david.dantoine.org/contenido/9/

efegea
13/05/2007, 14:52
gracias loka a ver si me sirve :brindis:

< - >
Bueno no es exactamente lo que busco pero muchas gracias :)

Topochan
13/05/2007, 16:12
mira cmake mejor que autotools, los de kde se han pasado por comodidad y multiplaforma. Un compañero me dijo que cmake es mas comodo y util que autotools, no me preguntes como se usa que nunca he usado esas herramientas.

Saludos

efegea
13/05/2007, 20:32
Ya, pero Kdevelop para sus proyectos usa autotools, no se puede usar cmake, al menos que yo sepa.

Misatillo las autotools son los programas que crean el archivo ./configure, y las reglas para crearlo.

Bueno supongo que al final tendré que tragarme los extensos manuales de las autotools, deseadme suerte. Total si todo me sale bien tendréis jueguecillos 3D para la GP2X ;)

^MiSaTo^
13/05/2007, 20:39
Ya, pero Kdevelop para sus proyectos usa autotools, no se puede usar cmake, al menos que yo sepa.

Misatillo las autotools son los programas que crean el archivo ./configure, y las reglas para crearlo.

Bueno supongo que al final tendré que tragarme los extensos manuales de las autotools, deseadme suerte. Total si todo me sale bien tendréis jueguecillos 3D para la GP2X ;)
Suerte hamigo [wei2]

efegea
13/05/2007, 21:58
Pues anda que empezamos bien, no me compila gpu940 [Ahhh]

< - >

/usr/local/open2x/bin/open2x-ld -o gpu940.elf -L../console -L../perftime -L../lib -L/usr/local/open2x/lib/gcc/arm-gp2x-linux/3.4.6 -L/usr/local/open2x/lib/gcc/arm-linux/4.0.2 -T script.ld -N -s
gpu940.o: In function `next_log_2':
/home/frajan/cvs/gpu940/bin/gpu940.c:206: undefined reference to `__assert_fail'
gpu940.o: In function `next_cmd':
/home/frajan/cvs/gpu940/bin/gpu940.c:287: undefined reference to `__assert_fail'
clip.o: In function `clip_poly':
/home/frajan/cvs/gpu940/bin/clip.c:63: undefined reference to `__assert_fail'
/home/frajan/cvs/gpu940/bin/clip.c:110: undefined reference to `__assert_fail'
codegen.o: In function `add_patch':
/home/frajan/cvs/gpu940/bin/codegen.c:316: undefined reference to `__assert_fail'
codegen.o:/home/frajan/cvs/gpu940/bin/codegen.c:341: more undefined references to `__assert_fail' follow
make[2]: *** [gpu940] Error 1
make[2]: Leaving directory `/home/frajan/cvs/gpu940/bin'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/frajan/cvs/gpu940'
make: *** [all] Error 2


A ver si ten&#233;is idea de que puede ser, yo estoy algo espeso...

civantoz
14/05/2007, 17:34
Aprovecho para meterle un power-up :) al hilo este, que como ver&#225;s a mi tambi&#233;n me interesa poder probar la biblioteca gpu940 y adem&#225;s casi que te puedo anotar un pwnd (http://www.gp32spain.com/foros/showthread.php?t=43296) jeje lo que pasa que tu hilo esta mejor explicado y teniendo algo mas de &#233;xito xDDD.
A ver si alguien que ya la haya probado se deja caer por aqu&#237; con algo de informaci&#243;n para ponerla a andar, por que en la pagina la verdad que no cuentan mucho.

Saludos

efegea
14/05/2007, 17:44
Hombre, gpu940 hacerla funcionar la he hecho funcionar antes, hace unos meses. Lo que no sé es como combinarla con las autotools. Aparte de que no me compila la versión actual.

Es que en Kdevelop se puede hacer de dos formas, especificando en el proyecto las librerías con las que enlazar, o modificando los scripts de las autotools. En el primer caso solo funcionaria para tí en tu pc, en el segundo caso cualquiera haciendo un ./configure podría compilarlo. A mí me interesa lo segundo de ahí que busque ayuda sobre las autotools.

Pero me tendré que tragar el manual en inglés de las autotools. En fin...

Propeller
14/05/2007, 18:09
Creo que lo que necesitas, as&#237; en breve y sencillo, est&#225; en una arc&#225;ica entrada de mi vetusto blog: http://lostsymmetry.blogspot.com/2005_09_01_archive.html

Suerte.

Propeller

civantoz
14/05/2007, 18:12
Pues cuando tengas un rato me podr&#237;as contar mas o menos donde pones la biblioteca y como configuras el Kdevelop para que te enlace bien, por que las pruebas que estuve haciendo yo son un fracaso :P ...

Ahora que lo de toquetear la configuraci&#243;n de las autoconf para que las pruebas fueran v&#225;lidas para cada usuario suena mucho mejor, eso si, si me pudieras ayudar con lo otro mientras para poder hacer mis pruebas ^^

Saludos!

efegea
14/05/2007, 18:27
Creo que lo que necesitas, así en breve y sencillo, está en una arcáica entrada de mi vetusto blog: http://lostsymmetry.blogspot.com/2005_09_01_archive.html

Suerte.

Propeller

¡Gracias! Tiene toda la pinta de ser lo que busco :brindis:


Pues cuando tengas un rato me podrías contar mas o menos donde pones la biblioteca y como configuras el Kdevelop para que te enlace bien, por que las pruebas que estuve haciendo yo son un fracaso :P ...

Ahora que lo de toquetear la configuración de las autoconf para que las pruebas fueran válidas para cada usuario suena mucho mejor, eso si, si me pudieras ayudar con lo otro mientras para poder hacer mis pruebas ^^

Saludos!

Es que nunca la he usado con Kdevelop, hasta ahora siempre me he hecho mis propios Makefiles y he programado en Kate. Así que no sé...

De todas formas, te cuento, las librerías las tengo en donde todo el toolchain, en /usr/local/open2x/lib, así que añado -L/usr/local/open2x/lib a las LDFLAGS, también en las CFLAGS pongo -I/usr/local/open2x/include para que me pille las cabeceras, y, también en las LDFLAGS, añado -lgl -lgpu940 si no recuerdo mal, para que enlace con esas librerías.

De todas formas lo digo de memoria que hace muchos meses que no lo toco.

civantoz
14/05/2007, 18:41
vale, ese es mi mayor problema, como sabes los LDFLAGS que hay que a&#241;adir? es una cosa que nunca he conseguido averiguar xD por que -lgl -lgpu940 y no -lGl -llibgpu940 por cambiarlo algo :P de algun lado salen esos nombres pero no me he coscao nunca y encima es una cosa que tiendo a saltarme en los makefiles bastante a menudo y luego a saber por que no enlazan bien las cosas... estoy en la parra :P

Saludos

efegea
14/05/2007, 18:44
vale, ese es mi mayor problema, como sabes los LDFLAGS que hay que añadir? es una cosa que nunca he conseguido averiguar xD por que -lgl -lgpu940 y no -lGl -llibgpu940 por cambiarlo algo :P de algun lado salen esos nombres pero no me he coscao nunca y encima es una cosa que tiendo a saltarme en los makefiles bastante a menudo y luego a saber por que no enlazan bien las cosas... estoy en la parra :P

Saludos

Ah eso es muy fácil.

Por ejemplo tienes libGL.so y libgpu940.so, pues le quitas el lib y el .so y ya tienes lo que añadir al -l es decir -lGL -lgpu940

Obviamente deben estar en la ruta de búsqueda, para eso usa -L

Ah un consejo, ¿estás usando C++? Si es así, tienes que rodear los #include de gpu940 con un extern "C" por ejemplo así:



#ifdef __cplusplus
extern "C" {
#endif

#include "GL/gl.h"

#ifdef __cplusplus
}
#endif

civantoz
14/05/2007, 18:53
Vale, gracias por todo ^^! ya pillo bien como va esto :D era una de mis asignaturas pendientes en cuanto a configuraci&#243;n de makefiles y dem&#225;s jajajaja xD a ver si luego esta noche puedo hacer mi primer tringulito en la gp2x por fin :P y gracias por el apunte para C++, pero por ahora estoy con C, como no estoy con ning&#250;n juego ni nada parecido, no necesito estructurar demasiado el c&#243;digo por ahora, con conseguir lo b&#225;sico de OpenGL me puedo dar con un canto en los dientes...

Saludos

D_Skywalk
14/05/2007, 20:11
efegea tio, te vas a tirar el tiempo de la compo configurando kdevelop xDDD

Bueno si te puedo hechar una mano en algo avisame, ya no se como lo llevas, en mi template para gp2x tienes las modificaciones que yo hice para GP2x y SDL para que funcionen en linux y GP2x, ser&#237;a un comienzo, no?

Ponme al d&#237;a y si se, te hecho un cable :D

Un Saludo y suerte compa!