p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre Expert
    Inscrit en
    avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 1 495
    Points : 2 231
    Points
    2 231

    Par défaut [Cairo] Makefile pour GCC/Win32

    Salut,

    Y'a t'il un makefile cairo pour gcc en environnement windows (mingw32) ? La construction depuis le shell msys avec configure est longue et pas toujours reproductible...

    Merci.

  2. #2
    Expert Confirmé

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    octobre 2011
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2011
    Messages : 887
    Points : 3 276
    Points
    3 276

    Par défaut

    Citation Envoyé par minnesota Voir le message
    Salut,

    Y'a t'il un makefile cairo pour gcc en environnement windows (mingw32) ? La construction depuis le shell msys avec configure est longue et pas toujours reproductible...

    Merci.
    Bonsoir,

    normalement le script configure crée le Makefile à partir duquel le build est fait. Si c'est une question de temps (et de reproductibilité ?) autant directement télécharger les binaires, non ?

  3. #3
    Membre Expert
    Inscrit en
    avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 1 495
    Points : 2 231
    Points
    2 231

    Par défaut

    salut,

    Oui tu as raison pour les binaires, mais j'aimerais pouvoir travailler avec la dernière version, c'est pour faire une interface en svg... Dans un dossier, j'en ai un pour libpng, un pour zlib, un pour cairo, un pour pixman, ect, et si je devais mettre à jour n'importe quelle source, j'aimerais pouvoir reconstruire le plus simplement possible les Lib concernées par la ou les mises à jour... tout en conservant la structure de mon dossier... le souci, c'est que pour cairo, il faut d'abord faire un install de zlib, de libpng, mais sur cette machine le script configure plante (il trouve pas zlib), et je ne sais pas encore utiliser le package-config...

    Merci pour ton aide...

  4. #4
    Expert Confirmé

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    octobre 2011
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2011
    Messages : 887
    Points : 3 276
    Points
    3 276

    Par défaut

    Bonjour,

    ok, donc tu as une arborescence du genre :

    Repo/
    ├── cairo-1.12.2
    ├── ....................
    ├── fontconfig-2.10.0
    ├── freetype-2.4.10
    ├── libpng-1.5.12
    ├── pixman-0.27.2
    └── zlib-1.2.7

    Tu as fait le configure/make/make install pour les sous-projets. Pour la zlib tu as du faire un truc du genre (peut-être sans le "local" tout dépend où par défaut sont installés les binaires, includes, docs ...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    make -f win32/Makefile.gcc BINARY_PATH=/usr/local/bin INCLUDE_PATH=/usr/local/include LIBRARY_PATH=/usr/local/lib install
    Normalement après ce step tu dois pouvoir faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ~> pkg-config --list-all | grep -i zlib
    zlib                                zlib - zlib compression library
    ~> pkg-config --modversion zlib
    1.2.7
    À quel moment de la construction de la zlib as-tu une erreur ?

  5. #5
    Membre Expert
    Inscrit en
    avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 1 495
    Points : 2 231
    Points
    2 231

    Par défaut

    Salut kwariz et merci pour ton aide,

    Pour l'arborescence, c'est bien ça, sauf que les noms de dossiers sont dépourvus des numéros de version.

    Grâce à toi pour zlib ça a abouti, voici mon script (au stade d'ébauche pour l'instant: make_zlib.cmd), que je lance à partir de "Repo/" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    title release...
    set edi_path=V:\dev_env\dev_edi
     
    set mingw32_path=%edi_path%\tdm-gcc\MinGW32
    set mingw32_bin=%mingw32_path%\bin
     
    set msys_path=%edi_path%\msys
    set msys_bin=%msys_path%\bin
    set msys_lib=%msys_path%\lib
     
    md %edi_path%\pkgconfig>NUL
    set PKG_CONFIG_PATH=%edi_path%\pkgconfig
     
    set path=%mingw32_bin%;%msys_bin%
    ::===============================================
     
    set zlib_path=%edi_path%\zlib
    set INCLUDE_PATH=%zlib_path:\=/%/include
    set LIBRARY_PATH=%zlib_path:\=/%/lib
    set  BINARY_PATH=%zlib_path:\=/%/bin
     
    cd zlib
    echo o| del %zlib_path%\lib\pkgconfig\*.pc
    mingw32-make.exe -f win32\Makefile.gcc install
    move /y %zlib_path%\lib\pkgconfig\*.pc %PKG_CONFIG_PATH%
    pkg-config --list-all
    pkg-config --modversion zlib
    del *.o
    cd..
     
    pause
    et voici un extrait de la sortie

    >move /y V:\dev_env\dev_edi\zlib\lib\pkgconfig\*.pc V:\dev_env\dev_edi\pkgconfig
    V:\dev_env\dev_edi\zlib\lib\pkgconfig\zlib.pc

    >pkg-config --list-all
    zlib zlib - zlib compression library

    >pkg-config --modversion zlib
    1.2.7

    >del *.o

    >cd..
    zlib.pc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    prefix=/usr/local
    exec_prefix=/usr/local
    libdir=V:/dev_env/dev_edi/zlib/lib
    sharedlibdir=V:/dev_env/dev_edi/zlib/lib
    includedir=V:/dev_env/dev_edi/zlib/include
     
    Name: zlib
    Description: zlib compression library
    Version: 1.2.7
     
    Requires:
    Libs: -L${libdir} -L${sharedlibdir} -lz
    Cflags: -I${includedir}
    mais la construction de libpng plante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    title release...
     
    set edi_path=V:\dev_env\dev_edi
     
    set mingw32_path=%edi_path%\tdm-gcc\MinGW32
    set mingw32_bin=%mingw32_path%\bin
     
    set msys_path=%edi_path%\msys
    set msys_bin=%msys_path%\bin
    set msys_lib=%msys_path%\lib
     
     
    md %edi_path%\pkgconfig>NUL
    set PKG_CONFIG_PATH=%edi_path%\pkgconfig
     
    set path=%mingw32_bin%;%msys_bin%;%PKG_CONFIG_PATH%
    ::===============================================
    cd libpng
    (echo #!/bin/sh
    echo ./configure --with-pkgconfigdir=V:/dev_env/dev_edi/pkgconfig
    echo make
    echo make install)>build.sh
    sh build.sh
    cd..
    pause
    checking for zlibVersion in -lz... no
    checking for z_zlibVersion in -lz... no
    configure: error: zlib not installed
    make: *** No targets specified and no makefile found. Stop.
    make: Nothing to be done for `install'.
    encore merci

  6. #6
    Membre Expert
    Inscrit en
    avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 1 495
    Points : 2 231
    Points
    2 231

    Par défaut

    Pour libpng, l'installation c'est bien fait dans le bon dossier "dev_edi\pkgconfig", mais je pense qu'il faudra le renommer en "packages" ou "common", "libs", je sais pas encore, enfin, s'il y a des suggestions... Dès que j'ai un instant, je continue pour les autres dépendances et je publierais les scripts ébauche avant de finaliser tout ça...

  7. #7
    Membre Expert
    Inscrit en
    avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 1 495
    Points : 2 231
    Points
    2 231

    Par défaut

    Je clos ce sujet qui a la base concerné cairo, j'en ouvrirais un autre pour gcc et la compilation de lib... faudrait juste que je trouve quel serait le forum adéquat...

    merci à la seule personne qui a participé à ce sujet

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. makefile pour code divisé en module
    Par mencaglia dans le forum Outils pour C & C++
    Réponses: 1
    Dernier message: 05/12/2006, 12h05
  2. Makefile pour bibliothèque graphique
    Par Hyuge dans le forum Ada
    Réponses: 3
    Dernier message: 23/10/2006, 02h12
  3. Installer boost pour GCC et CodeBlocks
    Par Spartan03 dans le forum Code::Blocks
    Réponses: 9
    Dernier message: 18/07/2006, 16h13
  4. Compiler un programme perl pour palteforme Win32
    Par LE NEINDRE dans le forum Modules
    Réponses: 1
    Dernier message: 11/01/2006, 14h27
  5. ./configure pour gcc ?
    Par Albus dans le forum Linux
    Réponses: 6
    Dernier message: 03/05/2004, 12h47

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