summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog21
-rw-r--r--ChangeLog.pre-2-021
-rw-r--r--ChangeLog.pre-2-1021
-rw-r--r--ChangeLog.pre-2-221
-rw-r--r--ChangeLog.pre-2-421
-rw-r--r--ChangeLog.pre-2-621
-rw-r--r--ChangeLog.pre-2-821
-rw-r--r--configure.in153
-rw-r--r--gdk/Makefile.am11
-rw-r--r--gtk/Makefile.am5
10 files changed, 307 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 50b1dfdecc..255978ee44 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+Fri Mar 1 00:46:49 2002 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add a --enable-explicit-deps option to control
+ whether dependency libraries are written into .la files and .pc
+ files. Default is auto: if static libraries are off and shlib
+ dependencies are found, don't write deps.
+
+ * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script
+ used to strip dependencies out of .la files.
+
+ * Makefile.am: Add a slightly modified distcheck rule that passes
+ --enable-gtk-doc to the configure inside.
+ (So that 'make dist' succeeds inside.)
+
+ * configure.in: If pango was compiled with
+ --disable-explicit-deps, then repeat the checks for X and
+ freetype ourselves so we don't depend on linking to libraries
+ that pango doesn't reveal in the link line. Add some more paranoia
+ for whether what we detect ourselves matches what Pango backends
+ we found.
+
2002-03-03 Tor Lillqvist <tml@iki.fi>
* configure.in: Output gdk-pixbuf/gdk_pixbuf.rc.
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 50b1dfdecc..255978ee44 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,24 @@
+Fri Mar 1 00:46:49 2002 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add a --enable-explicit-deps option to control
+ whether dependency libraries are written into .la files and .pc
+ files. Default is auto: if static libraries are off and shlib
+ dependencies are found, don't write deps.
+
+ * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script
+ used to strip dependencies out of .la files.
+
+ * Makefile.am: Add a slightly modified distcheck rule that passes
+ --enable-gtk-doc to the configure inside.
+ (So that 'make dist' succeeds inside.)
+
+ * configure.in: If pango was compiled with
+ --disable-explicit-deps, then repeat the checks for X and
+ freetype ourselves so we don't depend on linking to libraries
+ that pango doesn't reveal in the link line. Add some more paranoia
+ for whether what we detect ourselves matches what Pango backends
+ we found.
+
2002-03-03 Tor Lillqvist <tml@iki.fi>
* configure.in: Output gdk-pixbuf/gdk_pixbuf.rc.
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 50b1dfdecc..255978ee44 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,24 @@
+Fri Mar 1 00:46:49 2002 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add a --enable-explicit-deps option to control
+ whether dependency libraries are written into .la files and .pc
+ files. Default is auto: if static libraries are off and shlib
+ dependencies are found, don't write deps.
+
+ * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script
+ used to strip dependencies out of .la files.
+
+ * Makefile.am: Add a slightly modified distcheck rule that passes
+ --enable-gtk-doc to the configure inside.
+ (So that 'make dist' succeeds inside.)
+
+ * configure.in: If pango was compiled with
+ --disable-explicit-deps, then repeat the checks for X and
+ freetype ourselves so we don't depend on linking to libraries
+ that pango doesn't reveal in the link line. Add some more paranoia
+ for whether what we detect ourselves matches what Pango backends
+ we found.
+
2002-03-03 Tor Lillqvist <tml@iki.fi>
* configure.in: Output gdk-pixbuf/gdk_pixbuf.rc.
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 50b1dfdecc..255978ee44 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,24 @@
+Fri Mar 1 00:46:49 2002 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add a --enable-explicit-deps option to control
+ whether dependency libraries are written into .la files and .pc
+ files. Default is auto: if static libraries are off and shlib
+ dependencies are found, don't write deps.
+
+ * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script
+ used to strip dependencies out of .la files.
+
+ * Makefile.am: Add a slightly modified distcheck rule that passes
+ --enable-gtk-doc to the configure inside.
+ (So that 'make dist' succeeds inside.)
+
+ * configure.in: If pango was compiled with
+ --disable-explicit-deps, then repeat the checks for X and
+ freetype ourselves so we don't depend on linking to libraries
+ that pango doesn't reveal in the link line. Add some more paranoia
+ for whether what we detect ourselves matches what Pango backends
+ we found.
+
2002-03-03 Tor Lillqvist <tml@iki.fi>
* configure.in: Output gdk-pixbuf/gdk_pixbuf.rc.
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 50b1dfdecc..255978ee44 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,24 @@
+Fri Mar 1 00:46:49 2002 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add a --enable-explicit-deps option to control
+ whether dependency libraries are written into .la files and .pc
+ files. Default is auto: if static libraries are off and shlib
+ dependencies are found, don't write deps.
+
+ * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script
+ used to strip dependencies out of .la files.
+
+ * Makefile.am: Add a slightly modified distcheck rule that passes
+ --enable-gtk-doc to the configure inside.
+ (So that 'make dist' succeeds inside.)
+
+ * configure.in: If pango was compiled with
+ --disable-explicit-deps, then repeat the checks for X and
+ freetype ourselves so we don't depend on linking to libraries
+ that pango doesn't reveal in the link line. Add some more paranoia
+ for whether what we detect ourselves matches what Pango backends
+ we found.
+
2002-03-03 Tor Lillqvist <tml@iki.fi>
* configure.in: Output gdk-pixbuf/gdk_pixbuf.rc.
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 50b1dfdecc..255978ee44 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,24 @@
+Fri Mar 1 00:46:49 2002 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add a --enable-explicit-deps option to control
+ whether dependency libraries are written into .la files and .pc
+ files. Default is auto: if static libraries are off and shlib
+ dependencies are found, don't write deps.
+
+ * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script
+ used to strip dependencies out of .la files.
+
+ * Makefile.am: Add a slightly modified distcheck rule that passes
+ --enable-gtk-doc to the configure inside.
+ (So that 'make dist' succeeds inside.)
+
+ * configure.in: If pango was compiled with
+ --disable-explicit-deps, then repeat the checks for X and
+ freetype ourselves so we don't depend on linking to libraries
+ that pango doesn't reveal in the link line. Add some more paranoia
+ for whether what we detect ourselves matches what Pango backends
+ we found.
+
2002-03-03 Tor Lillqvist <tml@iki.fi>
* configure.in: Output gdk-pixbuf/gdk_pixbuf.rc.
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 50b1dfdecc..255978ee44 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,24 @@
+Fri Mar 1 00:46:49 2002 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add a --enable-explicit-deps option to control
+ whether dependency libraries are written into .la files and .pc
+ files. Default is auto: if static libraries are off and shlib
+ dependencies are found, don't write deps.
+
+ * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script
+ used to strip dependencies out of .la files.
+
+ * Makefile.am: Add a slightly modified distcheck rule that passes
+ --enable-gtk-doc to the configure inside.
+ (So that 'make dist' succeeds inside.)
+
+ * configure.in: If pango was compiled with
+ --disable-explicit-deps, then repeat the checks for X and
+ freetype ourselves so we don't depend on linking to libraries
+ that pango doesn't reveal in the link line. Add some more paranoia
+ for whether what we detect ourselves matches what Pango backends
+ we found.
+
2002-03-03 Tor Lillqvist <tml@iki.fi>
* configure.in: Output gdk-pixbuf/gdk_pixbuf.rc.
diff --git a/configure.in b/configure.in
index df49f5ad38..c960c9c4ff 100644
--- a/configure.in
+++ b/configure.in
@@ -275,6 +275,34 @@ else
fi
AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
+dnl ******************************************************
+dnl * See whether to include shared library dependencies *
+dnl ******************************************************
+
+AC_ARG_ENABLE(explicit-deps,
+ [ --enable-explicit-deps=[yes/no/auto] use explicit dependencies in .pc files [default=auto]],
+ enable_explicit_deps="$enableval",
+ enable_explicit_deps=auto)
+
+AC_MSG_CHECKING([Whether to write dependencies into .pc files])
+case $enable_explicit_deps in
+ auto)
+ deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
+ if test "X$deplib_check_method" == Xnone || test "x$enable_static" = xyes ; then
+ enable_explicit_deps=yes
+ else
+ enable_explicit_deps=no
+ fi
+ ;;
+ yes|no)
+ ;;
+ *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
+ ;;
+esac
+AC_MSG_RESULT($enable_explicit_deps)
+
+AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
+
# define a MAINT-like variable REBUILD which is set if Perl
# and awk are found, so autogenerated sources can be rebuilt
@@ -823,14 +851,59 @@ AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
GDK_EXTRA_LIBS=$GDK_WLIBS
GDK_EXTRA_CFLAGS=
+FREETYPE_LIBS=
+FREETYPE_CFLAGS=
+if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "x11" ; then
+ #
+ # Checks for FreeType
+ #
+ have_freetype=false
+ AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+ if test "x$FREETYPE_CONFIG" != "xno" ; then
+ FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
+ FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
+
+ AC_CHECK_LIB(freetype, FT_New_Face, have_freetype=true
+ ,:,$FREETYPE_LIBS)
+
+ if $have_freetype ; then
+ gtk_save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
+
+ AC_MSG_CHECKING([For sufficiently new FreeType (at least 2.0.1)])
+ AC_TRY_COMPILE([
+#include <freetype/freetype.h>
+#include FT_ERRORS_H
+ ],
+ [(void)1;],:,have_freetype=yes)
+ if test x$have_freetype = xyes ; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+
+ CPPFLAGS="$gtk_save_cppflags"
+ fi
+ fi
+ AC_SUBST(FREETYPE_LIBS)
+ AC_SUBST(FREETYPE_CFLAGS)
+fi
+
if test "x$gdktarget" = "xx11"; then
# We start off with the libraries from Pango
+ if $PKG_CONFIG --exists pangoxft ; then : ; else
+ AC_MSG_ERROR([pangox Pango backend is required for x11 target])
+ fi
+
## be sure we also have Pango built with xft support
if $PKG_CONFIG --exists pangoxft ; then
PANGO_PACKAGES="pangox pangoxft"
have_xft=true
AC_DEFINE(HAVE_XFT)
+ if x$have_freetype != xyes ; then
+ AC_MSG_ERROR([pangoxft Pango backend found but did not find freetype libraries])
+ fi
else
PANGO_PACKAGES="pangox"
have_xft=false
@@ -838,10 +911,57 @@ if test "x$gdktarget" = "xx11"; then
AM_CONDITIONAL(HAVE_XFT, $have_xft)
+ #
+ # If Pango included the shared library dependencies from X11 in
+ # the pkg-config output, then we use that (to avoid duplicates).
+ # but if they were omitted to avoid binary compatibility problems
+ # then we need to repeat the checks.
+ #
x_libs="`$PKG_CONFIG --libs $PANGO_PACKAGES`"
+ case x_libs in
+ *-lX11*) pango_omitted_x_deps=no ;;
+ *) pango_omitted_x_deps=yes ;;
+ esac
+
x_cflags="`$PKG_CONFIG --cflags $PANGO_PACKAGES`"
x_extra_libs=
+ if test $pango_omitted_x_deps = yes ; then
+ AC_PATH_XTRA
+
+ if test x$no_x = xyes ; then
+ AC_MSG_ERROR([X development libraries not found])
+ fi
+
+ x_libs="$X_LIBS -lX11 $X_EXTRA_LIBS"
+
+ #
+ # Checks for Xft/XRender
+ #
+ XFT_LIBS=""
+ XFT_CFLAGS=""
+ if test $have_xft = true ; then
+ gtk_save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $x_cflags"
+ have_xft=false
+
+ AC_CHECK_LIB(Xrender, XRenderFindFormat,
+ [AC_CHECK_LIB(Xft, XftFontOpen,
+ [AC_CHECK_HEADER(X11/Xft/XftFreetype.h,
+ have_xft=true,:)],
+ :,-lXrender -lXext $x_libs $FREETYPE_LIBS)]
+ ,:,-lXext $x_libs)
+
+ CPPFLAGS="$gtk_save_cppflags"
+
+ if $have_xft ; then
+ x_libs="-lXft -lXrender -lXext $X_LIBS $FREETYPE_LIBS $X_EXTRA_LIBS"
+ else
+ AC_MSG_ERROR([pangoxft Pango backend found, but Xft not found])
+ fi
+ fi
+ fi
+
## Strip the .la files
x_libs_for_checks=""
@@ -987,7 +1107,11 @@ if test "x$gdktarget" = "xx11"; then
fi
GDK_EXTRA_CFLAGS=
- GDK_EXTRA_LIBS="$x_extra_libs"
+ if test $pango_omitted_x_deps = yes ; then
+ GDK_EXTRA_LIBS="$x_extra_libs $x_libs $GDK_EXTRA_LIBS"
+ else
+ GDK_EXTRA_LIBS="$x_extra_libs $GDK_EXTRA_LIBS"
+ fi
AM_CONDITIONAL(USE_X11, true)
else
@@ -1024,13 +1148,16 @@ AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
if test "x$gdktarget" = "xlinux-fb"; then
- AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
- if test x$FREETYPE_CONFIG = xno ; then
- AC_MSG_ERROR([*** freetype-config not found])
+ if test x$have_freetype != xyes ; then
+ AC_MSG_ERROR([Using linux-fb backend but freetype was not found])
fi
- FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
- FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
+ ft2_libs="`$PKG_CONFIG --libs pangoft2`"
+ case ft2_libs in
+ *-lfreetype*) pango_omitted_ft2_deps=no ;;
+ *) pango_omitted_ft2_deps=yes ;;
+ esac
+
CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
if test x$enable_shadowfb = xyes ; then
@@ -1044,8 +1171,10 @@ if test "x$gdktarget" = "xlinux-fb"; then
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
fi
- GDK_EXTRA_CFLAGS="$FREETYPE_CFLAGS"
- GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
+ GDK_EXTRA_CFLAGS=""
+ if test $pango_omitted_ft2_deps = yes ; then
+ GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
+ fi
AM_CONDITIONAL(USE_LINUX_FB, true)
else
@@ -1105,6 +1234,14 @@ GDK_PACKAGES=$PANGO_PACKAGES
GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
+#
+# If we aren't writing explicit dependencies, then don't put the extra libraries we need
+# into the pkg-config files
+#
+if test $enable_explicit_deps != yes ; then
+ GDK_EXTRA_LIBS=
+fi
+
AC_SUBST(GDK_PACKAGES)
AC_SUBST(GDK_EXTRA_LIBS)
AC_SUBST(GDK_EXTRA_CFLAGS)
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index 3cdb3d8ed9..3accc9fd47 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -172,7 +172,16 @@ EXTRA_HEADERS =
#
configexecincludedir = $(libdir)/gtk-2.0/include
#configexecinclude_DATA = gdkconfig.h
-install-exec-local: gdkconfig.h
+
+if DISABLE_EXPLICIT_DEPS
+sanitize-la:
+ $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gdktargetlib)
+else
+sanitize-la:
+ @true
+endif
+
+install-exec-local: gdkconfig.h sanitize-la
$(mkinstalldirs) $(DESTDIR)$(configexecincludedir)
file=$(DESTDIR)$(configexecincludedir)/gdkconfig.h; \
if test -r $$file && cmp -s gdkconfig.h $$file; then :; \
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 8c52c0f858..13666a29cd 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -569,6 +569,11 @@ libgtk_target_ldflags = $(gtk_win32_symbols) -lwsock32
endif
EXTRA_LTLIBRARIES = libgtk-x11-1.3.la libgtk-linux-fb-1.3.la libgtk-win32-1.3.la
+if DISABLE_EXPLICIT_DEPS
+install-exec-local:
+ $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
+endif
+
# Install a RC file for the default GTK+ theme, and key themes
install-data-local: install-ms-lib install-libtool-import-lib
$(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0