tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tsp-devel] Re: Portage sur carte PPC 3 eme épisode


From: Stef Euskadi
Subject: Re: [Tsp-devel] Re: Portage sur carte PPC 3 eme épisode
Date: Tue, 12 Dec 2006 21:45:24 +0100


Salut,

Au fait, rappelez-vous que j'ai fait des modifs dans TARGA pour vous
permettre de ne pas perdre les hosts/URLs passés en arguments de
l'application.

N'hésitez pas à me transmettre d'autres besoins.

A+

Euskadi.


Le 07/12/06, Eric Noulard <address@hidden> a écrit :
2006/12/7, Eric Noulard <address@hidden>:
> Bonjours
>
> J'ai repris une activé d'utilisation de TSP sur des cartes PowerPC
> avec un linux embarqué.
> La dernière fois que j'avais utilisé TSP pour cet usage (ou pour tout
> les usages tout courts), la version utilisait encore les autotools
> s'appelais 0.7.3.
> Forcement avec une 0.8.2 ça ne marche pas pareil.
>  Mon problème est de deux ordres :
>   - j'utilise un compilo croisé sur x86 pour cible PPC
>   - Ma libc est plutôt minimaliste et je n'ai pas besoin de tout
> compiler pour embarqué sur la cartes.
>
> Le problème du compiler croisé peut éventuellement passer avec un mode
> debug de cmake (précision du "CC", de "AR" et de "RANLIB") mais je

CMake ne supporte pas la cross-compilation
http://www.cmake.org/pipermail/cmake/2006-September/010959.html
http://www.cmake.org/pipermail/cmake/2006-September/010946.html
Néanmoins dans ton cas, il devrait suffir de "surcharger"

SET(CMAKE_C_COMPILER whatever-cross-cc)
SET(CMAKE_AR whatever cross-ar)
SET(CMAKE_RANLIB whatever crossranlib)
cf http://www.cmake.org/Wiki/CMake_Useful_Variables

Je te suggère de faire ces surcharges dans le CMakeList.txt principal de TSP
en ajoutant une option du genre:

OPTION(CROSS_PPC_TARGET
  "Build for PPC Target" OFF)

puis ensuite

IF(CROSS_PPC_TARGET)
SET(CMAKE_C_COMPILER whatever-cross-cc)
SET(CMAKE_AR whatever cross-ar)
SET(CMAKE_RANLIB whatever crossranlib)
ENDIF (CROSS_PPC_TARGET)

> n'arrive pas a désactivé la compilation de tsp_cfg qui lui me réclame
> la libxml2 que je n'ai pas sur ma petite flash et libc.

C'est parce que notre CMakeList.txt n'a aucune notion de cross compil'
et du coup il trouve probablement la libxml2 du host donc il veut compiler
les éléments qui utilise la libxml2.

SI tu ne veux pas t'embeter tu peux entourer par un
IF(CROSS_PPC_TARGET) la détection de la libXML2.
D'ailleurs dans le cadre d'une cross-compil' idéale il faudrait
conditionner la recherche de certains composants au fait qu'on
ne cross-compile pas.

IF(CROSS_PPC_TARGET)
  ################ XML2 Check ####################
FIND_PACKAGE(XML2)
IF (XML2_XMLWRITER_SUPPORTED)
  ADD_DEFINITIONS(-DXMLWRITER_SUPPORTED)
ENDIF (XML2_XMLWRITER_SUPPORTED)
ENDIF(CROSS_PPC_TARGET)

En résumé la plupart des FindXXX du CMakeLists.txt principal
devrait être entourés IF(CROSS...)

> tsp_cfg dont je ne connais absolument pas l'usage (c'est que je ne
> dois pas en voir besoin alors ;-) )

Exacte, c'est une lib qui implémente la gestion des fichiers de configuration
TSP (consumer pour l'instant) de façon "unifie" :))
Actuellement seul l'ascii_writer l'utilise.

>
> Est-ce que mon utilisation de cmake est juste ? Je voudrais juste
> généré les lib blackboard, le serveur et c'est tout (enfin je crois).
>
> Ensuite, est-il possible de préciser la cible du répertoire des
> binaires et bibliothèques ? Actuellement ce répertoire s'appelle Linux
> et faire plutôt un LinuxPPC serait plus pratique et façile.

Oui c'est simple, il suffit de positionner les variables,
LIBRARY_OUTPUT_PATH
EXECUTABLE_OUTPUT_PATH

tu peux regarder dans le CMakeLists.txt principal dans
le cas NON WIN32
SET(LIBRARY_OUTPUT_PATH
${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}/${CMAKE_BUILD_TYPE}/lib)
  SET(EXECUTABLE_OUTPUT_PATH
${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}/${CMAKE_BUILD_TYPE}/bin)

De la même façon que pour le reste:

IF(CROSS_....)
SET(LIBRARY_OUTPUT_PATH
${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}/${CMAKE_BUILD_TYPE}/lib)
  SET(EXECUTABLE_OUTPUT_PATH
${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}/${CMAKE_BUILD_TYPE}/bin)
ENDIF(CROSS)
>
> Voila
>
>  Un jour qui sait, toute les futures cartes d'entrées sorties de
> simulation  utiliseront TSP pour leur maintenance, mais pour
> que cela arrive il faudra arriver à y faire tourner ce nouveau TSP ;-)

Si tu n'y arrives pas seul on t'y aidera ne t'inquiete pas :))
--
Erk

_______________________________________________
Tsp-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/tsp-devel





--
--
Euskadi.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]