LINUX.ORG.RU

Изменение configure-тестов?


0

0

Доброго времени суток! Подскажите пожалуйста, как разрешить такую проблему: Есть сторонняя программа (xpdf-3.0), полученная в исходниках. Ей требуется freetype2. Он есть, но похоже, что configure для xpdf создавался с учетом более старых версий freetype'а: при выполнении проверки наличия этой библиотеки тестовая программа не компилируется с предложением не использовать #include <freetype/freetype.h>, а вместо этого #include <ft2build.h> и так далее (это я нашел в config.log). В результате тест на freetype проваливается.

Я не разбираюсь в устройстве configure и возникает вопрос: как мне и чего подправить (configure.in?), чтобы тестовая программа компилировалась нормально?

С исходниками xpdf я и сам разберусь.

anonymous

Ну как, смотришь configure.in находишь нужное место, исправляешь. Потом запускаешь autoconf для того, чтобы configure перегенерить.

anonymous
()
Ответ на: комментарий от anonymous

>>Ну как, смотришь configure.in находишь нужное место, исправляешь.

Если бы я еще умел исправлять configure.in...

Там вот такое:
smr_CHECK_LIB(freetype2, freetype, [FreeType2 font rasterizer - version 2.0.5+], FT_Get_Name_Index, freetype/freetype.h, -lm)

if test x"$freetype2_LIBS" = x; then
smr_CHECK_LIB(freetype2, freetype, [FreeType2 font rasterizer - version 2.0.5+], FT_Get_Name_Index, freetype.h, -lm)
fi

AC_SUBST(freetype2_LIBS)
AC_SUBST(freetype2_CFLAGS)
if test "x$smr_have_freetype2_library" != xyes; then
no_x="yes"
fi

Где тут что? Предположим, что freetype/freetype.h - это прописывается как #include в conftest.c.
А мне надо прописать:
#include <ft2build.h>
#include FT_FREETYPE_H

А проверку на FT_Get_Name_Index можно выкинуть.
Каков вообще формат у этой smr_CHECK_LIB?

anonymous
()
Ответ на: комментарий от anonymous

>smr_CHECK_LIB(freetype2, freetype, [FreeType2 font rasterizer - version 2.0.5+], FT_Get_Name_Index, freetype/freetype.h, -lm)

не хочу соврать, но как помню можно просто поменять индекс хидеров и могет встанет на свои места.

alphex_kaanoken ★★★
()
Ответ на: комментарий от anonymous

Скачай где-нибудь redhat-овский xpdf-3.0.src.rpm, там в его состав входят нужные патчи, например, такой патч для freetype.


--- xpdf-3.00/splash/SplashFTFont.h.freetype217	2004-01-22 02:26:44.000000000 +0100
+++ xpdf-3.00/splash/SplashFTFont.h	2004-02-20 12:20:49.154096397 +0100
@@ -15,7 +15,8 @@
 #pragma interface
 #endif
 
-#include <freetype/freetype.h>
+#include <ft2build.h>
+#include FT_FREETYPE_H
 #include "SplashFont.h"
 
 class SplashFTFontFile;
--- xpdf-3.00/splash/SplashFTFontEngine.h.freetype217	2004-01-22 02:26:44.000000000 +0100
+++ xpdf-3.00/splash/SplashFTFontEngine.h	2004-02-20 12:20:49.155096296 +0100
@@ -15,7 +15,8 @@
 #pragma interface
 #endif
 
-#include <freetype/freetype.h>
+#include <ft2build.h>
+#include FT_FREETYPE_H
 #include "gtypes.h"
 
 class SplashFontFile;
--- xpdf-3.00/splash/SplashFTFontFile.h.freetype217	2004-01-22 02:26:44.000000000 +0100
+++ xpdf-3.00/splash/SplashFTFontFile.h	2004-02-20 12:20:49.157096092 +0100
@@ -15,7 +15,8 @@
 #pragma interface
 #endif
 
-#include <freetype/freetype.h>
+#include <ft2build.h>
+#include FT_FREETYPE_H
 #include "SplashFontFile.h"
 
 class SplashFontFileID;
--- xpdf-3.00/configure.in.freetype217	2004-01-22 02:26:44.000000000 +0100
+++ xpdf-3.00/configure.in	2004-02-20 12:30:42.988672656 +0100
@@ -306,15 +306,13 @@
 dnl ##### (Note: FT_Get_Name_Index was added in FT 2.0.5, and is
 dnl ##### the reason that Xpdf requires 2.0.5+.)
 smr_CHECK_LIB(freetype2, freetype, [FreeType2 font rasterizer - version 2.0.5+],
-              FT_Get_Name_Index, freetype/freetype.h, -lm)
-if test x"$freetype2_LIBS" = x; then
-  smr_CHECK_LIB(freetype2, freetype, [FreeType2 font rasterizer - version 2.0.5+],
-                FT_Get_Name_Index, freetype.h, -lm)
-fi
+              FT_Get_Name_Index, ft2build.h, -lm)
 AC_SUBST(freetype2_LIBS)
 AC_SUBST(freetype2_CFLAGS)
 if test "x$smr_have_freetype2_library" != xyes; then
   no_x="yes"
+else
+  AC_DEFINE_UNQUOTED(HAVE_FREETYPE_FREETYPE_H)
 fi
 
 dnl ##### Check for libpaper (Debian).

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.