IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

[protobuf] portabilité ? cross-compilation ?


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Par défaut [protobuf] portabilité ? cross-compilation ?
    Bonjour,

    J'aimerai compiler protocol buffer pour un systeme embarque base sur uTRON (un OS tres mysterieux et peu pratique, si on peut parler d'OS dans ce cas...).

    De base uTRON n'a pas de libraries du genre pthread etc..., mais je pense pouvoir me debrouiller pour implementer les threads correctement si necessaire.

    Mon souci vient plutot du build de protocol buffers qui repose sur les autotools.

    Je ne maitrise pas les autotools, mais si quelqu'un pouvait me guider un peu dans la solution vers laquelle se tourner?

    En fait j'envisage 2 solutions:

    Soit autotools peut utiliser un autre compilateur que GCC, et passer les options necessaires a la compilation auquel cas je peux quand meme utiliser autotools pourvu que mon compilateur soit dans le path au moment du make. Dans ce cas j'ai une chance de generer des librairies statiques compatibles avec mon systeme.
    (ca m'a l'air faisable, mais pour l'instant je ne suis pas tres sur de comment faire)

    Soit ce n'est pas facile d'utiliser les autotools sans utiliser GCC pour generer des librairies statiques, et dans ce cas j'aurais surement plus vite fait d'ecrire des makefiles pour l'ensemble du build.

    Un autre point est que le build genere tout plein de projet qui ne me sont pas utiles directement: je doute de pouvoir tester en local avec les tests unitaires fournis, sachant que les binaries ne vont pas marcher sur la machine executant le build.
    De plus, je pense utiliser le protoc precompile pour windows (le compilateur utilise au moment du build ne marcherait que sous windows a priori), donc pas besoin de compiler protoc lui meme...

    Je cherche dans les fichiers am/ac, mais il ya beaucoup d'infos dans ces fichiers, donc si quelqu'un pouvait m'orienter un peu ce serait gentil. (ou sont definies les targets de chacune des librairies, comment desactiver le build de protoc et les tests unitaires)

    Si vous avez des infos sur quelles librairies autres que les librairies standard est base protocol buffers je serais tres heureux de l'apprendre (j'ai vu pthreads, mais j'imagine qu'il doit y en avoir d'autres...). J'aimerais reussir a isoler les classes qui vont necessiter une modification pour supporter mon nouveau systeme.
    Pour l'instant je pense me tourner vers les classes utilisant les macros "#ifdef __WIN32__" qui m'ont l'air de bonnes candidates pour les problemes de portabilite...

    Je vais deja essayer de compiler les librairies statiques a part sous windows, et voir ce que ca donne...

    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Ca fait beaucoup de questions tout cela. Je vais déjà essayer de t'aiguiller sur certains points...

    Soit autotools peut utiliser un autre compilateur que GCC, et passer les options necessaires a la compilation auquel cas je peux quand meme utiliser
    C'est tout à fait possible de changer de compilateur. Il suffit de positionner les variables CC et CPPFLAGS au moment de lancer autoconf. Le mieux est encore de positionner les CPPFLAGS dans le configure.ac, en fonction de la valeur de CC. Pour le linker, il faut positionner les variables LD (j'ai un doute mais ça doit être cela) et LDFLAGS.
    Maintenant, j'espère que ton compilateur n'est pas trop exotique. Il faudrait que tu puisses tester sur un petit exemple.

    Un autre point est que le build genere tout plein de projet qui ne me sont pas utiles directement: je doute de pouvoir tester en local avec les tests unitaires fournis, sachant que les binaries ne vont pas marcher sur la machine executant le build.
    tu peux faire configure --help pour voir les options possibles. Il peut exister une option pour désactiver la compilation des tests.

    Je cherche dans les fichiers am/ac, mais il ya beaucoup d'infos dans ces fichiers, donc si quelqu'un pouvait m'orienter un peu ce serait gentil. (ou sont definies les targets de chacune des librairies, comment desactiver le build de protoc et les tests unitaires)
    ./configure --help déjà.
    Les targets ne sont pas directement définies dans les Makefile.am mais tu peux regarder les variables _LIBRARIES pour connaître le nom des librairies.

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/12/2008, 02h01
  2. gcj pour cross compiler pour PPC
    Par obelix dans le forum Langage
    Réponses: 7
    Dernier message: 09/10/2006, 09h38
  3. Cross-compil pour MAC
    Par Ulmo dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 29/09/2006, 19h49
  4. Cross compil "ntohs"
    Par youte dans le forum Linux
    Réponses: 5
    Dernier message: 21/06/2006, 09h28
  5. cross compilation
    Par jowy dans le forum C++Builder
    Réponses: 11
    Dernier message: 26/08/2005, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo