Cygwin 32bit
Si vous regardez le référentiel lui-même, c'est-à-dire l'un des miroirs ( http://mirror.switch.ch/ftp/mirror/cygwin/x86/release/make/ ), vous trouverez quatre fichiers pertinents:
make-3.81-2-src.tar.bz2 09-Feb-2008 20:50 1.1M
make-3.81-2.tar.bz2 09-Feb-2008 20:50 350K
make-3.82.90-1-src.tar.bz2 02-Dec-2011 18:05 1.3M
make-3.82.90-1.tar.bz2 02-Dec-2011 18:05 442K
Il existe deux versions, 3.82.90-1 et une version plus ancienne, 3.81-2, qui ont approximativement la même taille (ordre de grandeur). Les plus gros paquets correspondants (1 Mo) sont les sources.
C’est exactement ce que me propose l’ outil de configuration de cygwin .
Cygwin 64bit
Ici, les fichiers proposés sont ( http://mirror.switch.ch/ftp/mirror/cygwin/x86_64/release/make/ ):
make-3.82-3-src.tar.bz2 14-Mar-2013 11:26 1.6M
make-3.82-3.tar.bz2 14-Mar-2013 11:26 473K
make-3.82.90-1-src.tar.bz2 30-Mar-2013 12:12 1.9M
make-3.82.90-1.tar.bz2 30-Mar-2013 12:12 1.2M
Cela correspond à votre scénario décrit.
Généralement, pour étudier les différences entre ces deux versions, consultez l’ Changelog
archive la plus récente.
Pour en dire un peu plus: Habituellement ( Debian utilise un schéma similaire ), le numéro de version précédant le trait d'union est le numéro de version du paquet original, tel que publié par l'auteur du logiciel (c'est-à-dire l' équipe de mise à jour GNU ). Le nombre après le mot-clé donne une sorte de niveau de patch, appliqué par le mainteneur du paquet (c'est-à-dire l' équipe cygwin ).
Pour prouver regarder make.cygport
dans les paquets sources (par exemple make-3.82-3-src.tar.bz2
)
NAME="make"
VERSION="3.82"
RELEASE=3
Les correctifs appliqués (par cygwin) sont classés dans make-3.82-3.src.patch
.
Ainsi, il a été décidé d’inclure un port de cygwin make 3.82
et make 3.82.90
dans la distribution cygwin à 64 bits. (Pourquoi l'équipe de création de GNU a décidé que la version 3.82.90 devrait suivre la version 3.82, je ne sais vraiment pas ...)
Quelle est la différence entre ces versions (en amont)? NEWS
dans l'archive source d'origine à l'intérieur de l'archive source cygwin nous dit:
Version 3.82.90
Une liste complète des bogues corrigés dans cette version est disponible ici:
http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=101&set=custom
AVERTISSEMENT: incompatibilité avec les versions antérieures! Cette version de make adhère à la gestion de la barre oblique inversée / nouvelle ligne, en introduisant les différences suivantes:
- Chaque barre oblique inverse / nouvelle ligne dans une valeur de variable est remplacée par un espace;
plusieurs barres obliques inverses / nouvelles lignes consécutives ne se condensent pas dans un seul espace.
- Dans les recettes, un préfixe de recette après une barre oblique inverse-nouvelles lignes est supprimé.
Nouvelle fonctionnalité: la fonctionnalité "serveur de travaux" est désormais prise en charge sous Windows.
Mise en œuvre contribué par Troy Runkel
Nouvelle fonctionnalité: "! =" Opérateur d’affectation du shell comme alternative à la fonction $ (shell ...). Implémenté pour la compatibilité avec les makefiles BSD.
AVERTISSEMENT: incompatibilité avec les versions antérieures!
Variables se terminant par "!" précédemment défini comme "variable! = valeur" sera maintenant
interprété comme une assignation de shell. Modifiez votre affectation pour ajouter des espaces
entre les "!" et "=": "variable! = valeur"
Nouvelle option de ligne de commande: --trace active le traçage des cibles. Lorsqu'elle est activée,
la recette à invoquer est imprimée même si elle serait sinon supprimée
par .SILENT ou par un préfixe "@". De plus, avant que chaque recette ne soit exécutée, le
nom du makefile et le numéro de répertoire où elle a été définie sont affichés, ainsi que les
conditions préalables qui ont amené la cible à être considérée comme périmée.
En cas d'échec, le nom du makefile et le numéro de la recette ayant échoué sont
affichés.
Un paramètre .RECIPEPREFIX est mémorisé par recette et les variables développées
dans cette recette utilisent également ce paramètre de préfixe de recette.
Dans la sortie -p, les paramètres .RECIPEPREFIX sont affichés et toutes les
variables spécifiques à la cible sont sorties comme si elles étaient dans un fichier makefile, et non comme des commentaires.
Donc, cette incompatibilité avec les versions antérieures est probablement la raison pour laquelle les deux versions sont fournies par cygwin.