سؤال

لدي مشروع معقد للغاية (C ++) باستخدام Autoconf / Automke، والذي يتضمن بعض الملفات "التي تم إنشاؤها" (FOO.YY -> FOO.CC). تتم الإنشاءات الفعلية باستخدام "برنامج نصي للتحكم" (Gentoo .ebuild لأولئك المألوفين بالمفهوم)، على منصات مختلفة.

الآن، واحدة من المنصات المستهدفة لا تدعم Foo.yy -> Foo.cc خطوة، وعلي استخدام ملف Foo.cc الذي تم إنشاؤه على مربع Linux.

الآن لدي طريقتان للذهاب حول هذا:

1) تحقق في foo.cc في مستودع المشروع وتكوين التصحيح بطريقة ما foo.cc؛

2) تحقق في foo.cc في مستودع البرنامج النصي للتحكم، والحصول على طوابع وقت التحكم البرنامج النصي وإعطاء رسالة الخطأ.

يمكنني أن أفعل 2) لا مشكلة، لكن لا أعتقد أنه المكان المناسب لوضع foo.cc.

من ناحية أخرى، لا أعرف الكثير عن Autoconf / Automke، ولن أعرف كيفية تطبيق رسالة خطأ / خطأ في الطابع الزمني في Configure.in (أو Whereever).

ما هي اقتراحاتكم، ولن يعرف أي شخص هنا كيفية الذهاب حول الحل 1)؟

يحرر: حل باستخدام الحل 3)، والتبديل المربع الهدف إشكالية حتى يتمكن من القيام FOO.YY -> FOO.CC الخطوة نفسها. لي حلت المشكلة.

لكنني سأترك السؤال مفتوح - كيفية القيام بالشيكات الطابع الطابع / رسائل خطأ مفهومة مع Autoconf / Automae؟

هل كانت مفيدة؟

المحلول

من 8.8 في دليل Automake:

سيتم تضمين الملفات الوسيطة الناتجة عن "YACC" (أو 'LEX') في أي توزيع مصنوع. وبهذه الطريقة لا يحتاج المستخدم إلى الحصول على "YACC" أو "LEX".

هذا يجعل الأمر يبدو كما لو أن المشكلة التي تصفها لا ينبغي أن تكون موجودة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top