Je suis en train de porter une application sur MacOS X - mais le système de construction du développeur d'origine utilise NMAKE, et idéalement, ils aimeraient le conserver au lieu de passer à un nouveau. J'ai réussi à faire fonctionner NMAKE sous OSX en utilisant wine (construit avec MacPorts) et ajouté le support d'Objective C aux fichiers de construction, et j'ai créé un wrapper PE 'run.exe' lié au Unix que le vin peut charger mais utilise POSIX à rappeler dans des choses comme gcc et ld, comme cela est décrit sur différents sites en ligne comme un moyen d'échapper à partir de vin dans Unix.Utiliser nmake sur OSX?
Cependant, j'ai quelques problèmes spécifiques. Ils sont assez mineurs pour que je puisse continuer avec le port, mais cela signifie que je dois parfois exécuter des builds plusieurs fois, à cause du timing.
Fondamentalement, lorsque wine.exe rappelle dans le shell et donc gcc, le lien entre les processus fils semble être rompu. gcc et ld ne renverront jamais un code d'erreur même en cas d'échec, car ils ne peuvent pas obtenir le code de sortie de leurs enfants engendrés. ar imprimera réellement il ne peut pas trouver son enfant et retourner immédiatement, causant des problèmes quand ld essaye de lier des fichiers d'objet aux bibliothèques qui sont encore assemblées.
Est-ce que quelqu'un d'autre a essayé quelque chose de similaire et vu le même problème, sur OSX ou ailleurs? Y a-t-il une solution évidente?
faciliter votre vie, passer à quelque chose comme CMake? ou maintenez des systèmes de construction séparés: xcode, visual studio, autotools ou makefiles raw gnu - pour moi ce que vous faites n'est pas à l'épreuve du temps –
Il y a la possibilité de passer à un système de construction complètement nouveau, mais évidemment ils veulent quelque chose fonctionnera à la fois sur Windows et OSX, fortement contre la maintenance de plusieurs systèmes. Ils ont également fortement préféré rester avec nmake, car c'est ce à quoi ils sont habitués :) Je pense que si ce n'était pas pour le problème du processus de vin de l'enfant, ce serait une solution entièrement à l'épreuve du futur, cependant. –