diff options
-rw-r--r-- | ChangeLog | 21 | ||||
-rw-r--r-- | ChangeLog.pre-2-0 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 21 | ||||
-rw-r--r-- | configure.in | 153 | ||||
-rw-r--r-- | gdk/Makefile.am | 11 | ||||
-rw-r--r-- | gtk/Makefile.am | 5 |
10 files changed, 307 insertions, 9 deletions
@@ -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 |