Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Membre Expert
    Inscrit en
    avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 1 495
    Points : 1 986
    Points
    1 986

    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 Fred Kwariz
    Chef de projet en SSII
    Inscrit en
    octobre 2011
    Messages
    887
    Détails du profil
    Informations personnelles :
    Nom : Homme Fred Kwariz
    Âge : 42
    Localisation : France, Moselle (Lorraine)

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

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

    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 : 1 986
    Points
    1 986

    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 Fred Kwariz
    Chef de projet en SSII
    Inscrit en
    octobre 2011
    Messages
    887
    Détails du profil
    Informations personnelles :
    Nom : Homme Fred Kwariz
    Âge : 42
    Localisation : France, Moselle (Lorraine)

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

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

    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 :
    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 :
    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 : 1 986
    Points
    1 986

    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 :
    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 :
    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 :
    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 : 1 986
    Points
    1 986

    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 : 1 986
    Points
    1 986

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •