Heu déjà en général le "./configure" il sert à des trucs comme ça justement. A faire la préparation, à configurer le make selon les options qu'on veut.
En général si le script "configure" est bien foutu, il suffit de taper "./configure --help" pour avoir la liste des options qu'il te permet de personnaliser. Et si ça se trouve, y'a le type d'architecture (ça ne m'étonnerait pas des masses d'ailleurs).
Sinon, regarder dans le makerfile, c'est là que sont définies les variables comme $CFLAGS qui indiquent les options utilisées lors de la compilation avec gcc. Si ./configure ne te permet pas de modifier l'archi cible, tu peux modifier ça dans le makefile avant de relancer ton script "make" (attention à sauvegarder avant la version pour l'autre processeur, pour au final avoir les 2 versions, ppc et intel, pour pouvoir faire le "lipo")
CFLAGS (et consorts) sont fait pour ça : définir des flags qui ne sont pas gérés par le "configure" ou le "make" Ca m'étonnerait fort qu'un "configure" gère l'architecture, ce n'est pas son boulot ???
Par exemple, pour développer avec les bibliothèques de Fink, on définit :
J'ai regardé l'aide du configure. Il y est indiqué que pour spécifier une architecture particulière, il faut utiliser la variable d'environnement CFLAGS. Donc on ne peut rien faire dans le configure.
A chaque fois il me créé bien une bibli libbsb.a, mais lorsque je compile dans Xcode mon projet qui l'utilise, j'ai toujours le même message : "warning ../Frameworks/libbsb.a archive's cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (can't load from it)"
Une fois que tu as donné une valeur à CFLAGS (ou CPPFLAGS ou CXXFLAGS, etc), il me semble qu'il est de bon ton de relancer ./configure avant le make, le script configure pouvant aussi se servir de ces flags pour configurer le makefile. En tout cas ça coute pas grand chose et comme ça peut être la cause de ton pb...
Sinon, selon le shell que tu utilises, la syntaxe pour donner une valeur à une variable d'environnement peut varier, attention ("var=valeur", "set var=valeur", etc)
Bon, j'ai réussi à trouver un Mac PPC (merci papa ...), à compiler la bibliothèque dessus, puis à "l'assembler" avec la mienne i386 grâce à Lipo. Donc c'est OK pour cette méthode.
Il me reste à solutionner comment me passer du Mac PPC pour la suite, car j'en aurais pas toujours un sous la main ...
Ben il doit le prendre en compte, puisque la technote d'Apple que je site plus haut indique cette méthode pour construire une bibliothèque UB basée sur un configure ....
Mais, bon, pour l'instant, moi j'ai pas réussi .....
Réponses
Ca c'est pour faire de l'universal binary directement... C'est mieux même.
A faire la préparation, à configurer le make selon les options qu'on veut.
En général si le script "configure" est bien foutu, il suffit de taper "./configure --help" pour avoir la liste des options qu'il te permet de personnaliser. Et si ça se trouve, y'a le type d'architecture (ça ne m'étonnerait pas des masses d'ailleurs).
Sinon, regarder dans le makerfile, c'est là que sont définies les variables comme $CFLAGS qui indiquent les options utilisées lors de la compilation avec gcc. Si ./configure ne te permet pas de modifier l'archi cible, tu peux modifier ça dans le makefile avant de relancer ton script "make" (attention à sauvegarder avant la version pour l'autre processeur, pour au final avoir les 2 versions, ppc et intel, pour pouvoir faire le "lipo")
Ca m'étonnerait fort qu'un "configure" gère l'architecture, ce n'est pas son boulot ???
Par exemple, pour développer avec les bibliothèques de Fink, on définit :
J'ai regardé l'aide du configure. Il y est indiqué que pour spécifier une architecture particulière, il faut utiliser la variable d'environnement CFLAGS. Donc on ne peut rien faire dans le configure.
Puis, j'ai essayé :
CFLAGS="-arch ppc"
make
CFLAGS="-O -g -isysroot -arch ppc"
make
CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
LDFLAGS="-arch i386 -arch ppc"
make
A chaque fois il me créé bien une bibli libbsb.a, mais lorsque je compile dans Xcode mon projet qui l'utilise, j'ai toujours le même message :
"warning ../Frameworks/libbsb.a archive's cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (can't load from it)"
En tout cas ça coute pas grand chose et comme ça peut être la cause de ton pb...
Sinon, selon le shell que tu utilises, la syntaxe pour donner une valeur à une variable d'environnement peut varier, attention ("var=valeur", "set var=valeur", etc)
Définition CFLAGS
./configure
Définition CFLAGS
make
Voilà ce que j'ai lorsque je fais un make :
Donc c'est OK pour cette méthode.
Il me reste à solutionner comment me passer du Mac PPC pour la suite, car j'en aurais pas toujours un sous la main ...
Mais, bon, pour l'instant, moi j'ai pas réussi .....
[Fichier joint supprimé par l'administrateur]