ayuda para compilar librerías de bennu

Started by Prg, January 19, 2009, 07:34:54 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

nah, los makefiles son 1 solos, lo que cambia son los scripts...

los Makefiles no se generan a mano, se generan con una serie de tool que pertenecen a un conjunto llamado autotools, que se ejecuta cuando ejecutas el configure, y este crea el Makefile, el Makefile base que se usa de template se llama Makefile.in, luego se genera un intermedio Makefile.am (que es en realidad el que usa el configure).

te sugiero googles un poco de autotools, makefiles, y demas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Me siento un imbecil hablando contigo, es que me he equivocado, me referia logicamente a los scripts, y lo que me jode es que en el fondo sabes de lo que hablo y te haces el tonto desapercibido.
Pues nada, si no quieres ayudarme ya no te molesto mas.

SplinterGU

no, te juro que muchas veces me pierdo con lo que me dices... no seria la primera vez que alguien se pone a tocar los mafiles creados por el configure a mano...

has un ls -lR completo del directorio donde tienes instalado el SDK, pasamelo y tambien pasame el path completo donde lo tienes.

no te prometo nada.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

#33
TARGET=/home/geca/Geca/BennuGD_Pandora/pandora-toolchain/bin/arm-angstrom-linux-gnueabi-gcc






Pandora Toolchain:

http://sebt3.openpandora.org/buildtools/?f=pandora-toolchain-20110313.tar.bz2

FreeYourMind

Estaba compilando con target LINUX, en estos 3 ficheros cambie el codigo de LINUX por PANDORA_OS (os_id = 1010)

bennugd/core/include/commons_defs.h
bennugd/core/bgdc/src/main_core.c
bennugd/core/bgdrtm/src/misc.c

SplinterGU

no, no, capturas no me sirven, pasame la salida del comando en un archivo de texto...

ls -lR > salida.txt

y me das el salida.txt
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

a mi me parece que te va a servir mas el script de caanoo, que el de linux.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Si claro por eso decia que modificando el de caanoo creo que se hace facilmente con tu experiencia.


SplinterGU

en serio, despues te quejas... te pedi un ls -lR > salida, no un ls -l > salida.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Puffff, pero si es la primera vez que veo esos comandos...
Ahora cojo el linux y lo pongo...

FreeYourMind

Yo habia puesto esto:

ls -lr > salida.txt

ya veo que es

ls -lR > salida.txt


Toma:

http://dl.dropbox.com/u/33372657/salida.txt

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Para compilar en GP2X usé el SDK de GPH (o el de open2X, según el caso) y el único cambio que hice fue en el build-wiz.sh, cambiar las rutas de los ficheros y punto.
Bueno, en el último tuve que modificar tres ficheros (creo que los mismos tres que tu) para añadir el OS_ID de GP2X, que hacía algunas cosas distintas a la WIZ (en concreto, el manejo de los tics, aka FPS), pero eso es otra historia.
Empieza probando a compilalrlo con target como si fuera un Linux, y si hay algo que no funcione como debiera, ya le creas su OS_ID y modificas lo que sea en el código.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU


#!/bin/sh

## -- PANDORA USER SETTINGS

## PANDORA - This should point to the root of your tool-chain {i.e. folder above the BIN dir}

PANDORA=~/Geca/BennuGD_Pandora/pandora-toolchain/arm-angstrom-linux-gnueabi

## HOST and TARGET - These should be the canonical tool names of your tool.
## For the sake of this script HOST and TARGET should be the same.
## Defaults would be 'arm-angstrom-linux-gnueabi' for a normal Pandora tool-chain.

HOST=arm-angstrom-linux-gnueabi
TARGET=arm-angstrom-linux-gnueabi
BUILD=`uname -m`
PKG_CONFIG_PATH=~/Geca/BennuGD_Pandora/pandora-toolchain/arm-angstrom-linux-gnueabi/lib/pkgconfig

## -- END PANDORA USER SETTINGS

export PANDORA
export HOST
export TARGET
export PKG_CONFIG_PATH

PREFIX=$PANDORA
export PREFIX

PATH=$PANDORA/bin:$PATH
export PATH

ln -s `whereis -b pkg-config | sed 's/pkg-config\: //g'` ~/Geca/BennuGD_Pandora/pandora-toolchain/arm-angstrom-linux-gnueabil/bin/pkg-config

# Do not edit below here
CC="${PANDORA}/../bin/${HOST}-gcc"
CXX="${PANDORA}/../bin/${HOST}-g++"
AR="${PANDORA}/../bin/${HOST}-ar"
STRIP="${PANDORA}/../bin/${HOST}-strip"
RANLIB="${PANDORA}/../bin/${HOST}-ranlib"

#CFLAGS="-DTARGET_PANDORA -O2 -ffast-math -fomit-frame-pointer -mcpu=arm920t -DARM -D_ARM_ASSEM_ -I${PANDORA}/include -I${PANDORA}/include/libxml2 -I${PANDORA}/include/SDL"
#CFLAGS="-DTARGET_PANDORA -mcpu=arm926ej-s -mtune=arm926ej-s -fsigned-char -O3 -msoft-float -fomit-frame-pointer -fstrict-aliasing -mstructure-size-boundary=32 -fexpensive-optimizations -fweb -frename-registers -falign-functions=16 -falign-loops -falign-labels -falign-jumps -finline -finline-functions -fno-common -fno-builtin -fsingle-precision-constant -DARM -D_ARM_ASSEM_ -I${PANDORA}/include -I${PANDORA}/include/libxml2 -I${PANDORA}/include/SDL"
CFLAGS="-DTARGET_PANDORA -mcpu=arm926ej-s -mtune=arm926ej-s -O3 -DARM -D_ARM_ASSEM_ -I${PANDORA}/include -I${PANDORA}/include/libxml2 -I${PANDORA}/include/SDL"

LDFLAGS="-L${PANDORA}/lib"
PKG_CONFIG="${PANDORA}/bin/pkg-config"

export CC
export CXX
export AR
export STRIP
export RANLIB
export CFLAGS
export LDFLAGS
export PKG_CONFIG

echo Current settings.
echo
echo Install root/Working dir = $PANDORA
echo Tool locations     = $PANDORA/bin
echo Host/Target         = $HOST / $TARGET
echo

echo CC         = $CC
echo CXX        = $CXX
echo AR         = $AR
echo STRIP      = $STRIP
echo RANLIB     = $RANLIB

echo CFLAGS     = $CFLAGS
echo LDFLAGS    = $LDFLAGS
echo PKG_CONFIG = $PKG_CONFIG

echo "### Building 3rd party software ###"
cd 3rdparty/des-4.04b
make clean
make
cd -

echo "### Building BennuGD Core ###"

cd core
./configure --prefix=${PREFIX} --target=${TARGET} --host=${HOST} --build=${BUILD} --enable-shared && make clean && make
if [ $? -ne 0 ]; then
    echo "*** ABORT ***"
    exit 1
fi
cd -

echo "### Building BennuGD Modules ###"

cd modules
./configure --prefix=${PREFIX} --target=${TARGET} --host=${HOST} --build=${BUILD} --enable-shared && make clean && make
if [ $? -ne 0 ]; then
    echo "*** ABORT ***"
    exit 1
fi
cd -

echo "### Building BennuGD Tools ###"

cd tools/moddesc
./configure --prefix=${PREFIX} --target=${TARGET} --host=${HOST} --build=${BUILD} --enable-shared && make clean && make
if [ $? -ne 0 ]; then
    echo "*** ABORT ***"
    exit 1
fi
cd -

echo "### Copying files to bin folder ###"

mkdir -p bin/$TARGET 2>/dev/null
cp 3rdparty/des-4.04b/libdes.so bin/$TARGET
cp core/bgdi/src/.libs/bgdi bin/$TARGET
cp core/bgdc/src/bgdc bin/$TARGET
cp core/bgdrtm/src/.libs/libbgdrtm.so bin/$TARGET
cp modules/mod*/.libs/mod*.so bin/$TARGET
cp modules/lib*/.libs/lib*.so bin/$TARGET
cp tools/moddesc/moddesc bin/$TARGET

echo "### Build done! ###"

exit 0


bien, esto es lo maximo que puedo hacer por ti, realmente era simple, si hubieses comparado las ramas de los SDK (caanoo vs pandora) lo ibas a sacar facil...

no se si los flags de compilacion (-mcpu=arm926ej-s -mtune=arm926ej-s -O3 -DARM -D_ARM_ASSEM_) te van a servir para pandora... eso lo vas a tener que arreglar vos, en base a algun otro proyecto que tengas de pandora...

suerte con eso.

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Gracias, manana sera lo primero que mire, ahora es fiesta a ver si pillo xD