Skip to content
This repository has been archived by the owner on Nov 17, 2020. It is now read-only.

Commit

Permalink
Merge libgdk and libgtk
Browse files Browse the repository at this point in the history
This commit does a number of things:
- remove some dead wchar configury from configure.ac and gdkconfig.h
- repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo
  macros for each included backend, include it in gdk.h and install
  it in $includedir instead of below $libdir
- drop the backend from the library names
- build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la
It does not yet enable building multiple backends at the same time.
  • Loading branch information
Matthias Clasen committed Dec 21, 2010
1 parent ae146a2 commit 07d49ee
Show file tree
Hide file tree
Showing 34 changed files with 105 additions and 216 deletions.
103 changes: 20 additions & 83 deletions configure.ac
Expand Up @@ -267,12 +267,6 @@ case $gdktarget in
*) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz or win32.]);;
esac

gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la

AC_SUBST(gdktargetlib)
AC_SUBST(gtktargetlib)

if test "x$enable_debug" = "xyes"; then
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
Expand Down Expand Up @@ -666,53 +660,6 @@ else
fi
fi

# `widechar' tests for gdki18n.h
AC_MSG_CHECKING(for wchar.h)
AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
if test $gdk_wchar_h = yes; then
AC_DEFINE(HAVE_WCHAR_H, 1, [Have wchar.h include file])
fi
AC_MSG_RESULT($gdk_wchar_h)

# Check for wctype.h (for iswalnum)
AC_MSG_CHECKING(for wctype.h)
AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
if test $gdk_wctype_h = yes; then
AC_DEFINE(HAVE_WCTYPE_H, 1, [Have wctype.h include file])
fi
AC_MSG_RESULT($gdk_wctype_h)

# in Solaris 2.5, `iswalnum' is in -lw
GDK_WLIBS=
AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])

oLIBS="$LIBS"
LIBS="$LIBS $GDK_WLIBS"
# The following is necessary for Linux libc-5.4.38
AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
AC_TRY_LINK([#include <stdlib.h>],[
#if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
# ifdef HAVE_WCTYPE_H
# include <wctype.h>
# else
# ifdef HAVE_WCHAR_H
# include <wchar.h>
# endif
# endif
#else
# define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
#endif
iswalnum((wchar_t) 0);
], gdk_working_wctype=yes, gdk_working_wctype=no)
LIBS="$oLIBS"

if test $gdk_working_wctype = no; then
AC_DEFINE(HAVE_BROKEN_WCTYPE, 1, [Is the wctype implementation broken])
GDK_WLIBS=
fi
AC_MSG_RESULT($gdk_working_wctype)
AC_SUBST(GDK_WLIBS)

# Check for uxtheme.h (for MS-Windows Engine)
AC_MSG_CHECKING(for uxtheme.h)
AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
Expand Down Expand Up @@ -883,7 +830,7 @@ fi
# Windowing system checks
########################################

GDK_EXTRA_LIBS="$GDK_WLIBS"
GDK_EXTRA_LIBS=
GDK_EXTRA_CFLAGS=

# GTK+ uses some X calls, so needs to link against X directly
Expand Down Expand Up @@ -1530,12 +1477,16 @@ AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
* This is a generated file. Please modify `configure.ac'
*/
#ifndef GDKCONFIG_H
#define GDKCONFIG_H
#ifndef __GDKCONFIG_H__
#define __GDKCONFIG_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
#error "Only <gdk/gdk.h> can be included directly."
#endif
#include <glib.h>
G_BEGIN_DECLS
#ifndef GSEAL
/* introduce GSEAL() here for all of Gdk and Gtk+ without the need to modify GLib */
Expand All @@ -1550,16 +1501,13 @@ _______EOF
cat >>$outfile <<_______EOF
$gdk_windowing
$gdk_wc
_______EOF
cat >>$outfile <<_______EOF
#ifdef __cplusplus
}
#endif /* __cplusplus */
G_END_DECLS
#endif /* GDKCONFIG_H */
#endif /* __GDKCONFIG_H__ */
_______EOF
Expand All @@ -1570,31 +1518,20 @@ _______EOF
mv $outfile gdk/gdkconfig.h
fi
],[
if test "x$gdktarget" = "xx11" ; then
gdk_windowing='
gdk_windowing=''
if expr "$gdktarget" : ".*x11.*" > /dev/null ; then
gdk_windowing+='
#define GDK_WINDOWING_X11'
elif test "x$gdktarget" = "xwin32" ; then
gdk_windowing='
fi
if expr "$gdktarget" : ".*win32.*" > /dev/null ; then
gdk_windowing+='
#define GDK_NATIVE_WINDOW_POINTER
#define GDK_WINDOWING_WIN32'
elif test "x$gdktarget" = "xquartz" ; then
fi
if expr "$gdktarget" : ".*quartz.*" > /dev/null ; then
gdk_windowing='
#define GDK_WINDOWING_QUARTZ'
fi
if test x$gdk_wchar_h = xyes; then
gdk_wc='
#define GDK_HAVE_WCHAR_H 1'
fi
if test x$gdk_wctype_h = xyes; then
gdk_wc="\$gdk_wc
#define GDK_HAVE_WCTYPE_H 1"
fi
if test x$gdk_working_wctype = xno; then
gdk_wc="\$gdk_wc
#define GDK_HAVE_BROKEN_WCTYPE 1"
fi
])

dnl
Expand Down
14 changes: 6 additions & 8 deletions demos/Makefile.am
Expand Up @@ -11,14 +11,12 @@ INCLUDES = \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)

DEPS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)

LDADDS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib) \
$(GTK_DEP_LIBS) \
DEPS = \
$(top_builddir)/gtk/libgtk-3.0.la

LDADDS = \
$(top_builddir)/gtk/libgtk-3.0.la \
$(GTK_DEP_LIBS) \
$(MATH_LIB)

noinst_PROGRAMS = \
Expand Down
8 changes: 3 additions & 5 deletions demos/gtk-demo/Makefile.am
Expand Up @@ -55,13 +55,11 @@ INCLUDES = \
$(GTK_DEP_CFLAGS)

DEPS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
$(top_builddir)/gtk/libgtk-3.0.la

LDADDS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib) \
$(GTK_DEP_LIBS) \
$(top_builddir)/gtk/libgtk-3.0.la \
$(GTK_DEP_LIBS) \
-lm

bin_PROGRAMS = gtk3-demo
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/gdk/Makefile.am
Expand Up @@ -45,7 +45,7 @@ INCLUDES = \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)

GTKDOC_LIBS = $(top_builddir)/gdk/$(gdktargetlib) $(GDK_DEP_LIBS)
GTKDOC_LIBS = $(top_builddir)/gdk/libgdk-3.0.la $(GDK_DEP_LIBS)

# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=gdk
Expand Down
3 changes: 1 addition & 2 deletions docs/reference/gtk/Makefile.am
Expand Up @@ -107,8 +107,7 @@ CPPFLAGS += \
-UGTK_DISABLE_SINGLE_INCLUDES

GTKDOC_LIBS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib) \
$(top_builddir)/gtk/libgtk-3.0.la \
$(GTK_DEP_LIBS)


Expand Down
25 changes: 11 additions & 14 deletions docs/tools/Makefile.am
@@ -1,22 +1,19 @@
include $(top_srcdir)/Makefile.decl

INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-I$(top_srcdir)/gdk \
-I$(top_srcdir)/gdk/x11 \
$(GTK_DEBUG_FLAGS) \
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-I$(top_srcdir)/gdk \
-I$(top_srcdir)/gdk/x11 \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)

DEPS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
DEPS = \
$(top_builddir)/gtk/libgtk-3.0.la

LDADDS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib) \
$(GTK_DEP_LIBS) \
$(GDK_DEP_LIBS) \
LDADDS = \
$(top_builddir)/gtk/libgtk-3.0.la \
$(GTK_DEP_LIBS) \
-lm

if USE_X11
Expand Down
3 changes: 1 addition & 2 deletions examples/Makefile.am
Expand Up @@ -45,8 +45,7 @@ INCLUDES = \
$(GTK_DEP_CFLAGS)

LDADD = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib) \
$(top_builddir)/gtk/libgtk-3.0.la \
$(GTK_DEP_LIBS)

noinst_PROGRAMS = hello-world window-default
31 changes: 11 additions & 20 deletions gdk/Makefile.am
Expand Up @@ -92,6 +92,7 @@ gdk_public_h_sources = \
gdkwindow.h

gdk_built_public_sources = \
gdkconfig.h \
gdkenumtypes.h

gdk_private_headers = \
Expand Down Expand Up @@ -145,6 +146,10 @@ common_sources = \
gdkmarshalers.c \
gdkmarshalers.h

libgdk_3_0_la_SOURCES = $(common_sources)
libgdk_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS)
libgdk_3_0_la_LDFLAGS = $(LDADD)

libgdk_x11_3_0_la_SOURCES = $(common_sources)
libgdk_x11_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS)
libgdk_x11_3_0_la_LDFLAGS = $(LDADD)
Expand All @@ -166,10 +171,10 @@ introspection_files = \
gdkenumtypes.c \
gdkenumtypes.h

Gdk-3.0.gir: $(gdktargetlib) Makefile
Gdk-3.0.gir: libgdk-3.0.la Makefile
Gdk_3_0_gir_SCANNERFLAGS = --warn-all
Gdk_3_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 cairo-1.0
Gdk_3_0_gir_LIBS = $(gdktargetlib)
Gdk_3_0_gir_LIBS = libgdk-3.0.la
Gdk_3_0_gir_FILES = $(introspection_files)
Gdk_3_0_gir_CFLAGS = $(INCLUDES)
INTROSPECTION_GIRS += Gdk-3.0.gir
Expand Down Expand Up @@ -210,10 +215,10 @@ x11_introspection_files = \
x11/xsettings-common.c \
x11/gdkx.h

GdkX11-3.0.gir: $(gdktargetlib) Gdk-3.0.gir Makefile
GdkX11-3.0.gir: libgdk-3.0.la Gdk-3.0.gir Makefile
GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --strip-prefix=Gdk
GdkX11_3_0_gir_INCLUDES = Gio-2.0 Gdk-3.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0
GdkX11_3_0_gir_LIBS = $(gdktargetlib)
GdkX11_3_0_gir_LIBS = libgdk-3.0.la
GdkX11_3_0_gir_FILES = $(x11_introspection_files)
GdkX11_3_0_gir_CFLAGS = $(INCLUDES) -L$(top_builddir)/gdk
INTROSPECTION_GIRS += GdkX11-3.0.gir
Expand Down Expand Up @@ -271,29 +276,15 @@ TESTS = abicheck.sh
endif


lib_LTLIBRARIES = $(gdktargetlib)

EXTRA_LTLIBRARIES = libgdk-x11-3.0.la libgdk-win32-3.0.la libgdk-quartz-3.0.la
noinst_LTLIBRARIES = libgdk-3.0.la

MAINTAINERCLEANFILES = $(gdk_built_sources) stamp-gdkenumtypes.h
EXTRA_DIST += $(gdk_built_sources)
EXTRA_HEADERS =

#
# Rule to install gdkconfig.h header file
#
configexecincludedir = $(libdir)/gtk-3.0/include
#configexecinclude_DATA = gdkconfig.h

install-exec-local: gdkconfig.h
$(mkinstalldirs) $(DESTDIR)$(configexecincludedir)
file=$(DESTDIR)$(configexecincludedir)/gdkconfig.h; \
if test -r $$file && cmp -s gdkconfig.h $$file; then :; \
else $(INSTALL_DATA) gdkconfig.h $$file; fi

install-exec-hook:
if DISABLE_EXPLICIT_DEPS
$(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gdktargetlib)
$(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/libgdk-3.0.la
endif

#note: not gdkconfig.h
Expand Down
1 change: 1 addition & 0 deletions gdk/gdk.h
Expand Up @@ -29,6 +29,7 @@

#define __GDK_H_INSIDE__

#include <gdk/gdkconfig.h>
#include <gdk/gdkapplaunchcontext.h>
#include <gdk/gdkcairo.h>
#include <gdk/gdkcolor.h>
Expand Down
2 changes: 1 addition & 1 deletion gdk/tests/Makefile.am
Expand Up @@ -12,7 +12,7 @@ AM_CPPFLAGS = \

progs_ldadd = \
$(GDK_DEP_LIBS) \
$(top_builddir)/gdk/libgdk-$(gdktarget)-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/libgdk-$(GTK_API_VERSION).la \
$(NULL)

#TEST_PROGS += check-gdk-cairo
Expand Down

0 comments on commit 07d49ee

Please sign in to comment.