كيف أخبر autoconf بعدم التحقيق في Fortran و C ++ وما إلى ذلك عندما يتم تصميم الحزمة الخاصة بي فقط في C؟

StackOverflow https://stackoverflow.com/questions/4292683

سؤال

لقد كان هذا يزعجني لسنوات ، لكنني كنت أتجاهل ذلك ، كما أظن أن كل شخص آخر يفعله.

AM_INIT_AUTOMAKE([dist-bzip2])
AC_PROG_CC
AC_PROG_LIBTOOL
AC_C_INLINE
AM_PROG_CC_C_O

مع ما ورد أعلاه في ملف config.ac ، سوف يذهب التكوين وتجد لي برنامج التحويل البرمجي C ، ولكن بعد ذلك يستمر:

checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking the maximum length of command line arguments... 1966080

هذا لا يضر بأي شيء حقًا ، إنه يضيف ضوضاء بصرية ويجعل الأمور يستغرق وقتًا أطول قليلاً-لا يهدأ ، إنه ليس مهمًا ، لكنه كان يزعجني لسنوات.

لقد حاولت استخدام-مع TAGS = C ، AC_LANG ([C]) واثنين من الحيل الأخرى مع متغيرات الصدفة (بالتأكيد تشعر وكأنها طريقة خاطئة ...) لمعرفة ما إذا كان بإمكاني إيقاف تشغيل هذا.

هل يعرف أي شخص طريقة AutoConf/Automake/Libtool المباركة للحصول على تكوين التحقيق فقط لـ C؟

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

المحلول

إذا كنت تستخدم Libtool 1.5 أو قبل ذلك ، فيجب عليك اللجوء إلى خدعة قذرة. ضع هذا في التكوين الخاص بك: AC:

m4_defun([_LT_AC_LANG_CXX_CONFIG], [:])
m4_defun([_LT_AC_LANG_F77_CONFIG], [:])

أو يمكنك التبديل إلى Libtool 2.2 أو لاحقًا ، فإنه يكتشف تلقائيًا (وأكثر ذكاءً) ما يبحث عنه المجمعون.

نصائح أخرى

كما يقول Ptomato ، فإن الطريقة الصحيحة للقيام بذلك هي استخدام libtool الحديثة. في config.ac:

# Set up libtool. The argument enables support for win32 DLLs
# and replaces AC_LIBTOOL_WIN32_DLL.
LT_INIT([win32-dll])
# Add C support to libtool
AC_PROG_CC
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top