o patch by Martin Sucha for pangocairo:

* makes gtk2 package depend on cairo package
  * adds required definitions to glib and pango
  * adds pangocairo library bindings
  * changes cairo external library name from cairo to libcairo-2

git-svn-id: trunk@13365 -
This commit is contained in:
florian 2009-07-05 19:34:48 +00:00
parent b9fddff9c4
commit 61f7422d22
11 changed files with 776 additions and 153 deletions

View File

@ -1,5 +1,5 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/05/09]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/09/04]
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
@ -115,10 +115,6 @@ FPC:=$(shell $(FPCPROG) -PB)
endif
ifneq ($(findstring Error,$(FPC)),)
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
else
ifeq ($(strip $(wildcard $(FPC))),)
FPC:=$(firstword $(FPCPROG))
endif
endif
else
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
@ -656,7 +652,6 @@ endif
ifeq ($(OS_TARGET),go32v2)
STATICLIBPREFIX=
SHORTSUFFIX=dos
IMPORTLIBPREFIX=
endif
ifeq ($(OS_TARGET),watcom)
STATICLIBPREFIX=
@ -664,7 +659,6 @@ OEXT=.obj
ASMEXT=.asm
SHAREDLIBEXT=.dll
SHORTSUFFIX=wat
IMPORTLIBPREFIX=
endif
ifeq ($(OS_TARGET),linux)
BATCHEXT=.sh
@ -701,7 +695,6 @@ STATICLIBPREFIX=
SHAREDLIBEXT=.dll
SHORTSUFFIX=os2
ECHO=echo
IMPORTLIBPREFIX=
endif
ifeq ($(OS_TARGET),emx)
BATCHEXT=.cmd
@ -710,7 +703,6 @@ STATICLIBPREFIX=
SHAREDLIBEXT=.dll
SHORTSUFFIX=emx
ECHO=echo
IMPORTLIBPREFIX=
endif
ifeq ($(OS_TARGET),amiga)
EXEEXT=
@ -750,20 +742,17 @@ ifeq ($(OS_TARGET),netware)
EXEEXT=.nlm
STATICLIBPREFIX=
SHORTSUFFIX=nw
IMPORTLIBPREFIX=imp
endif
ifeq ($(OS_TARGET),netwlibc)
EXEEXT=.nlm
STATICLIBPREFIX=
SHORTSUFFIX=nwl
IMPORTLIBPREFIX=imp
endif
ifeq ($(OS_TARGET),macos)
BATCHEXT=
EXEEXT=
DEBUGSYMEXT=.xcoff
SHORTSUFFIX=mac
IMPORTLIBPREFIX=imp
endif
ifeq ($(OS_TARGET),darwin)
BATCHEXT=.sh
@ -790,17 +779,14 @@ STATICLIBEXT=.a1
SHAREDLIBEXT=.so1
STATICLIBPREFIX=
SHORTSUFFIX=v1
IMPORTLIBPREFIX=
endif
ifeq ($(OS_TARGET),go32v2)
STATICLIBPREFIX=
SHORTSUFFIX=dos
IMPORTLIBPREFIX=
endif
ifeq ($(OS_TARGET),watcom)
STATICLIBPREFIX=
SHORTSUFFIX=wat
IMPORTLIBPREFIX=
endif
ifeq ($(OS_TARGET),linux)
BATCHEXT=.sh
@ -847,7 +833,6 @@ STATICLIBEXT=.ao2
SHAREDLIBEXT=.dll
SHORTSUFFIX=os2
ECHO=echo
IMPORTLIBPREFIX=
endif
ifeq ($(OS_TARGET),amiga)
EXEEXT=
@ -908,7 +893,6 @@ STATICLIBEXT=.a
SHAREDLIBEXT=.nlm
EXEEXT=.nlm
SHORTSUFFIX=nw
IMPORTLIBPREFIX=imp
endif
ifeq ($(OS_TARGET),netwlibc)
STATICLIBPREFIX=
@ -920,7 +904,6 @@ STATICLIBEXT=.a
SHAREDLIBEXT=.nlm
EXEEXT=.nlm
SHORTSUFFIX=nwl
IMPORTLIBPREFIX=imp
endif
ifeq ($(OS_TARGET),macos)
BATCHEXT=
@ -932,7 +915,6 @@ STATICLIBEXT=.a
EXEEXT=
DEBUGSYMEXT=.xcoff
SHORTSUFFIX=mac
IMPORTLIBPREFIX=imp
endif
endif
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
@ -8493,11 +8475,11 @@ gtk1_debug: x11_debug opengl_debug
gtk1_smart: x11_smart opengl_smart
gtk1_release: x11_release opengl_release
gtk1_shared: x11_shared opengl_shared
gtk2_all: x11_all
gtk2_shared: x11_shared
gtk2_smart: x11_smart
gtk2_debug: x11_debug
gtk2_release: x11_release
gtk2_all: x11_all cairo_all
gtk2_shared: x11_shared cairo_shared
gtk2_smart: x11_smart cairo_smart
gtk2_debug: x11_debug cairo_debug
gtk2_release: x11_release cairo_release
else
ifeq ($(findstring $(OS_TARGET),os2 emx),)
gtk1_all: opengl_all
@ -8506,6 +8488,11 @@ gtk1_smart: opengl_smart
gtk1_release: opengl_release
gtk1_shared: opengl_shared
endif
gtk2_all: cairo_all
gtk2_shared: cairo_shared
gtk2_smart: cairo_smart
gtk2_debug: cairo_debug
gtk2_release: cairo_release
endif
imlib_all: gtk1_all x11_all
imlib_shared: gtk1_shared x11_shared

View File

@ -227,11 +227,11 @@ gtk1_smart: x11_smart opengl_smart
gtk1_release: x11_release opengl_release
gtk1_shared: x11_shared opengl_shared
gtk2_all: x11_all
gtk2_shared: x11_shared
gtk2_smart: x11_smart
gtk2_debug: x11_debug
gtk2_release: x11_release
gtk2_all: x11_all cairo_all
gtk2_shared: x11_shared cairo_shared
gtk2_smart: x11_smart cairo_smart
gtk2_debug: x11_debug cairo_debug
gtk2_release: x11_release cairo_release
else
ifeq ($(findstring $(OS_TARGET),os2 emx),)
gtk1_all: opengl_all
@ -240,6 +240,12 @@ gtk1_smart: opengl_smart
gtk1_release: opengl_release
gtk1_shared: opengl_shared
endif
gtk2_all: cairo_all
gtk2_shared: cairo_shared
gtk2_smart: cairo_smart
gtk2_debug: cairo_debug
gtk2_release: cairo_release
endif
imlib_all: gtk1_all x11_all

View File

@ -55,7 +55,20 @@ interface
Uses CTypes;
const
LIB_CAIRO = 'cairo';
{$ifdef win32}
LIB_CAIRO = 'libcairo-2.dll';
{$IFDEF FPC}
{$ifndef NO_SMART_LINK}
{$smartlink on}
{$endif}
{$ENDIF}
{$else}
{$ifdef UseCustomLibs}
LIB_CAIRO = '';
{$else}
LIB_CAIRO = 'libcairo.so.2';
{$endif}
{$endif}
{$IFDEF FPC}
{$PACKRECORDS C}

File diff suppressed because it is too large Load Diff

View File

@ -8,6 +8,7 @@ version=2.2.2
[require]
libc=y
packages=cairo
packages_beos=x11
packages_haiku=x11
packages_linux=x11
@ -20,10 +21,10 @@ packages_darwin=x11
[target]
units=src/buildgtk2
exampledirs=examples
implicitunits=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
implicitunits=glib2 atk pango pangocairo gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
[compiler]
unitdir=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
unitdir=src src/glib src/atk src/pango src/pangocairo src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
includedir=$(GTK2X11INCLUDE)
[install]

View File

@ -26,6 +26,7 @@ begin
P.NeedLibC:= true; // true for headers that indirectly link to libc?
P.Dependencies.Add('x11',AllUnixOSes);
P.Dependencies.Add('cairo');
T:=P.Targets.AddUnit('src/atk/atk.pas');
T.IncludePath.Add('src/atk');
@ -129,6 +130,7 @@ begin
AddUnit('gdkglext');
AddUnit('gtkglext');
AddUnit('gdk2x',AllUnixOSes);
AddUnit('pangocairo');
end;
T:=P.Targets.AddUnit('src/gtk+/gdk-pixbuf/gdk2pixbuf.pas');
T.IncludePath.Add('src/gtk+/gdk-pixbuf');
@ -1213,6 +1215,14 @@ begin
AddInclude('pango-tabs.inc');
AddUnit('glib2');
end;
T:=P.Targets.AddUnit('src/pangocairo/pangocairo.pas');
T.IncludePath.Add('src/pangocairo');
with T.Dependencies do
begin
AddUnit('glib2');
AddUnit('pango');
end;
T:=P.Targets.AddUnit('src/gtkext/gtk2ext.pp');
T.IncludePath.Add('src/gtkext');

View File

@ -29,7 +29,7 @@ uses
{$ifdef unix}
,gdk2x
{$endif unix}
;
, pangocairo;
implementation

View File

@ -9,6 +9,7 @@
{$IFDEF read_interface_types}
TGDataForeachFunc = procedure (key_id:TGQuark; data:gpointer; user_data:gpointer);cdecl;
GDestroyNotify = procedure (data:gpointer);cdecl;
{$ENDIF read_interface_types}
{$IFDEF read_interface_rest}

View File

@ -29,7 +29,7 @@ unit gdk2; // keep unit name lowercase for kylix
interface
uses glib2, gdk2pixbuf, pango;
uses glib2, gdk2pixbuf, pango, cairo;
const
// OS dependent defines

View File

@ -1,7 +1,6 @@
// included by gdk2.pp
{$IFDEF read_interface_types}
Pcairo_t = pointer;
{$ENDIF read_interface_types}
//------------------------------------------------------------------------------

View File

@ -11,6 +11,7 @@
{$include pango-fontmap.inc}
{$include pango-glyph.inc}
{$include pango-item.inc}
{$include pango-glyph-item.inc}
{$include pango-layout.inc}
{$include pango-matrix.inc}
{ $include pango-enum-types.inc}