1 --- fontforge-20040404/fontforge/freetype.c.orig 2003-07-01 22:38:00.000000000 +0200
2 +++ fontforge-20040404/fontforge/freetype.c 2003-08-08 23:03:00.000000000 +0200
6 static int freetype_init_base() {
7 - libfreetype = dlopen("libfreetype" SO_EXT,RTLD_LAZY);
8 + libfreetype = dlopen(LIBFREETYPE_SONAME,RTLD_LAZY);
9 if ( libfreetype==NULL )
12 --- fontforge-20050310/fontforge/start.c.orig 2005-02-18 05:32:53.000000000 +0100
13 +++ fontforge-20050310/fontforge/start.c 2005-04-30 15:04:22.807032552 +0200
17 # if !defined(_NO_SNPRINTF) && !defined(VMS)
18 - snprintf( full, sizeof(full), "%s/%s", LIBDIR, buf );
19 + snprintf( full, sizeof(full), "%s/%s%s", LIBDIR, buf, LIBUNINAMESLIST_SOEXT );
21 - sprintf( full, "%s/%s", LIBDIR, buf );
22 + sprintf( full, "%s/%s%s", LIBDIR, buf, LIBUNINAMESLIST_SOEXT );
24 libuninames = dlopen( full,RTLD_LAZY);
26 --- fontforge-20051205/fontforge/svg.c.orig 2005-10-18 06:44:21.000000000 +0200
27 +++ fontforge-20051205/fontforge/svg.c 2005-12-25 01:55:05.000000000 +0100
30 return( libxml!=NULL );
32 - libxml = dlopen( "libxml2" SO_EXT,RTLD_LAZY);
33 + libxml = dlopen(LIBXML2_SONAME,RTLD_LAZY);
37 --- fontforge-20051028/gdraw/gchardlg.c.orig 2005-09-30 03:19:49.000000000 +0200
38 +++ fontforge-20051028/gdraw/gchardlg.c 2005-10-29 21:25:59.401142888 +0200
41 DL_CONST void *libuninames=NULL;
43 - libuninames = dlopen( LIBDIR "/" "libuninameslist" SO_EXT,RTLD_LAZY);
44 + libuninames = dlopen( LIBDIR "/" "libuninameslist" LIBUNINAMESLIST_SOEXT,RTLD_LAZY);
46 if ( libuninames==NULL )
47 - libuninames = dlopen( "libuninameslist" SO_EXT,RTLD_LAZY);
48 + libuninames = dlopen( "libuninameslist" LIBUNINAMESLIST_SOEXT,RTLD_LAZY);
49 if ( libuninames!=NULL )
50 _UnicodeNameAnnot = dlsym(libuninames,"UnicodeNameAnnot");
52 --- pfaedit-030803/gdraw/gimagereadgif.c.orig 2003-03-11 00:37:19.000000000 +0100
53 +++ pfaedit-030803/gdraw/gimagereadgif.c 2003-08-08 22:55:56.000000000 +0200
55 static int loadgif() {
58 - libgif = dlopen("libungif" SO_EXT,RTLD_LAZY);
60 - libgif = dlopen("libgif" SO_EXT,RTLD_LAZY);
61 + libgif = dlopen(LIBUNGIF_SONAME,RTLD_LAZY);
63 GDrawIError("%s", dlerror());
65 --- pfaedit-030803/gdraw/gimagereadjpeg.c.orig 2003-03-11 00:37:19.000000000 +0100
66 +++ pfaedit-030803/gdraw/gimagereadjpeg.c 2003-08-08 22:56:50.000000000 +0200
68 static int loadjpeg() {
71 - libjpeg = dlopen("libjpeg" SO_EXT,RTLD_LAZY);
72 + libjpeg = dlopen(LIBJPEG_SONAME,RTLD_LAZY);
73 if ( libjpeg==NULL ) {
74 GDrawIError("%s", dlerror());
76 --- pfaedit-030803/gdraw/gimagereadpng.c.orig 2003-03-11 00:37:19.000000000 +0100
77 +++ pfaedit-030803/gdraw/gimagereadpng.c 2003-08-08 23:35:01.000000000 +0200
80 static int loadpng() {
81 # if !defined(_LIBPNG12)
82 - libpng = dlopen("libpng" SO_EXT,RTLD_LAZY);
83 + libpng = dlopen(LIBPNG_SONAME,RTLD_LAZY);
84 # else /* After version 1.2.1 (I think) dynamic libpng is called libpng12 */
85 - libpng = dlopen("libpng12" SO_EXT,RTLD_LAZY);
86 + libpng = dlopen(LIBPNG12_SONAME,RTLD_LAZY);
89 GDrawIError("%s", dlerror());
90 --- pfaedit-030803/gdraw/gimagereadtiff.c.orig 2003-03-11 00:37:19.000000000 +0100
91 +++ pfaedit-030803/gdraw/gimagereadtiff.c 2003-08-08 22:57:41.000000000 +0200
93 static int (*_TIFFClose)(TIFF *);
95 static int loadtiff() {
96 - libtiff = dlopen("libtiff" SO_EXT,RTLD_LAZY);
97 + libtiff = dlopen(LIBTIFF_SONAME,RTLD_LAZY);
98 if ( libtiff==NULL ) {
99 GDrawIError("%s", dlerror());
101 --- pfaedit-030803/gdraw/gimagewritejpeg.c.orig 2003-03-11 00:37:19.000000000 +0100
102 +++ pfaedit-030803/gdraw/gimagewritejpeg.c 2003-08-08 22:58:06.000000000 +0200
104 static int loadjpeg() {
107 - libjpeg = dlopen("libjpeg" SO_EXT,RTLD_LAZY);
108 + libjpeg = dlopen(LIBJPEG_SONAME,RTLD_LAZY);
109 if ( libjpeg==NULL ) {
110 GDrawIError("%s", dlerror());
112 --- pfaedit-030803/gdraw/gimagewritepng.c.orig 2003-03-11 00:37:19.000000000 +0100
113 +++ pfaedit-030803/gdraw/gimagewritepng.c 2003-08-08 23:35:28.000000000 +0200
116 static int loadpng() {
117 # if !defined(_LIBPNG12)
118 - libpng = dlopen("libpng" SO_EXT,RTLD_LAZY);
119 + libpng = dlopen(LIBPNG_SONAME,RTLD_LAZY);
120 # else /* After version 1.2.1 (I think) dynamic libpng is called libpng12 */
121 - libpng = dlopen("libpng12" SO_EXT,RTLD_LAZY);
122 + libpng = dlopen(LIBPNG12_SONAME,RTLD_LAZY);
124 if ( libpng==NULL ) {
125 GDrawIError("%s", dlerror());
126 --- fontforge-20051028/configure.in.orig 2005-10-29 05:05:40.000000000 +0200
127 +++ fontforge-20051028/configure.in 2005-10-29 22:15:47.408896664 +0200
128 @@ -148,12 +148,30 @@
129 AC_CHECK_FILE(/usr/local/include/libxml2/libxml,[CFLAGS="$CFLAGS -I/usr/local/include -I/usr/local/include/libxml2/"],
130 AC_DEFINE(_NO_LIBXML))])
132 +AC_DEFUN([CHECK_SONAME], [
135 + for d in /lib64 /lib /usr/lib64 /usr/lib /usr/X11R6/lib64 /usr/X11R6/lib ; do
136 + if test -f $d/${libname}.so ; then
140 + if test "$dir" = "NONE"; then
141 + libsoname=${libname}.so
143 + libsoname="`objdump -p ${dir}/${libname}.so | awk '/SONAME/ { print $[]2 }'`"
145 + AC_DEFINE_UNQUOTED([AS_TR_CPP([lib$1]_SONAME)], ["$libsoname"], [$1 SONAME])
148 dnl Some old versions of lib(un)gif don't work for us, they've got the
149 dnl Function argument in the wrong place. So two checks for gif.
151 AC_CHECK_LIB(ungif, DGifOpenFileName, [
152 echo -n checking for ExtensionBlock.Function in gif_lib.h...
153 -AC_TRY_COMPILE([#include <gif_lib.h>], [ ExtensionBlock foo; foo.Function=3; ], echo " " yes , [echo " " no
154 +AC_TRY_COMPILE([#include <gif_lib.h>], [ ExtensionBlock foo; foo.Function=3; ],
156 + CHECK_SONAME(ungif)], , [echo " " no
157 ac_cv_lib_ungif_DGifOpenFileName=no
158 AC_DEFINE(_NO_LIBUNGIF)])
159 ] , AC_DEFINE(_NO_LIBUNGIF))
160 @@ -163,19 +181,20 @@
161 dnl zlib.h because we never use it directly, only used inside libpng)
163 AC_CHECK_LIB(z, deflateEnd, : ,AC_DEFINE(_NO_LIBPNG), -lm)
164 -AC_CHECK_LIB(png, png_create_read_struct, : ,[
165 - AC_CHECK_LIB(png12, png_create_read_struct, AC_DEFINE(_LIBPNG12), AC_DEFINE(_NO_LIBPNG), -lz -lm)], -lz -lm)
166 +AC_CHECK_LIB(png, png_create_read_struct, [CHECK_SONAME(png)] ,[
167 + AC_CHECK_LIB(png12, png_create_read_struct, [AC_DEFINE(_LIBPNG12)
168 + CHECK_SONAME(png12)], AC_DEFINE(_NO_LIBPNG), -lz -lm)], -lz -lm)
169 AC_CHECK_HEADER(png.h, : , AC_DEFINE(_NO_LIBPNG))
170 -AC_CHECK_LIB(jpeg, jpeg_CreateDecompress, : ,AC_DEFINE(_NO_LIBJPEG))
171 +AC_CHECK_LIB(jpeg, jpeg_CreateDecompress, [CHECK_SONAME(jpeg)] ,AC_DEFINE(_NO_LIBJPEG))
172 AC_CHECK_HEADER(jpeglib.h, : , AC_DEFINE(_NO_LIBJPEG))
173 -AC_CHECK_LIB(tiff, TIFFOpen, : , AC_DEFINE(_NO_LIBTIFF), -lm )
174 +AC_CHECK_LIB(tiff, TIFFOpen, [CHECK_SONAME(tiff)] , AC_DEFINE(_NO_LIBTIFF), -lm )
175 AC_CHECK_HEADER(tiffio.h, : , AC_DEFINE(_NO_LIBTIFF))
178 AC_CHECK_LIB(xml2, xmlParseFile, : , AC_DEFINE(_NO_LIBXML), [-liconv -lz])
181 - AC_CHECK_LIB(xml2, xmlParseFile, : , AC_DEFINE(_NO_LIBXML))
182 + AC_CHECK_LIB(xml2, xmlParseFile, [CHECK_SONAME(xml2)] , AC_DEFINE(_NO_LIBXML))
187 if test "$gww_hasbytecode" = "yes" ; then
188 AC_CHECK_LIB(pthread, pthread_create, LIBS="$LIBS -lpthread", gww_hasbytecode="no")
191 +CHECK_SONAME(freetype)
192 if test \( "$gww_hasbytecode" = "yes" \) -a \( "$FreeType2_IncRoot" != "" \); then
194 AC_ARG_WITH(freetype-src,
196 STATIC_LIBS="$STATIC_LIBS -luninameslist"
197 AC_DEFINE(_STATIC_LIBUNINAMESLIST) ] , AC_DEFINE(_NO_LIBUNINAMESLIST))
199 +AC_DEFINE_UNQUOTED([LIBUNINAMESLIST_SOEXT],[".so.0"],[libuninameslist ext])
201 #AC_CHECK_LIB(intl, gettext, STATIC_LIBS="$STATIC_LIBS -lintl" ,HAVE_LIBINTL_H=0 )