gtkmozembed 0.90.6
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +163 -0
- data/README +46 -0
- data/Rakefile +13 -0
- data/ext/gtkmozembed/Makefile +163 -0
- data/ext/gtkmozembed/depend +6 -0
- data/ext/gtkmozembed/extconf.rb +127 -0
- data/ext/gtkmozembed/gtkmozembed-enum-types.c +103 -0
- data/ext/gtkmozembed/gtkmozembed-enum-types.h +26 -0
- data/ext/gtkmozembed/gtkmozembed-enum-types.o +0 -0
- data/ext/gtkmozembed/gtkmozembed.so +0 -0
- data/ext/gtkmozembed/rbgtkmozembed-init.cpp +84 -0
- data/ext/gtkmozembed/rbgtkmozembed-init.o +0 -0
- data/ext/gtkmozembed/rbgtkmozembed.c +634 -0
- data/ext/gtkmozembed/rbgtkmozembed.h +39 -0
- data/ext/gtkmozembed/rbgtkmozembed.o +0 -0
- data/ext/gtkmozembed/rbgtkmozembedversion.h +25 -0
- data/ext/gtkmozembed/ruby-gtkmozembed.pc +3 -0
- data/extconf.rb +49 -0
- data/lib/gtkmozembed.rb +31 -0
- data/sample/COPYING +340 -0
- data/sample/README +5 -0
- data/sample/ruby-gecko.rb +223 -0
- data/test/gtk-moz-embed-test-utils.rb +2 -0
- data/test/run-test.rb +35 -0
- data/test/test-gtk-moz-embed.rb +39 -0
- metadata +108 -0
data/ChangeLog
ADDED
@@ -0,0 +1,163 @@
|
|
1
|
+
2011-01-30 Kouhei Sutou <kou@cozmixng.org>
|
2
|
+
|
3
|
+
* ext/gtkmozembed/extconf.rb: add missing dependency.
|
4
|
+
|
5
|
+
* Rakefile: remove needless dependency.
|
6
|
+
|
7
|
+
2011-01-22 Masaaki Aoyagi
|
8
|
+
|
9
|
+
* src/lib/: -> lib/.
|
10
|
+
|
11
|
+
* src/: -> ext/gtkmozembed/.
|
12
|
+
|
13
|
+
* extconf.rb: -> ext/gtkmozembed/extconf.rb
|
14
|
+
|
15
|
+
* ext/gtkmozembed/extconf.rb: support directory structure change.
|
16
|
+
|
17
|
+
* extconf.rb: add.
|
18
|
+
|
19
|
+
* Rakefile: add.
|
20
|
+
|
21
|
+
2010-09-28 Kouhei Sutou <kou@cozmixng.org>
|
22
|
+
|
23
|
+
* test/run-test.rb: add missing path.
|
24
|
+
|
25
|
+
* test/run-test.rb: fix path.
|
26
|
+
|
27
|
+
2010-09-23 Kouhei Sutou <kou@cozmixng.org>
|
28
|
+
|
29
|
+
* extconf.rb: support Ruby/GLib2 directory structure change.
|
30
|
+
|
31
|
+
2010-03-19 Kouhei Sutou <kou@cozmixng.org>
|
32
|
+
|
33
|
+
* extconf.rb: add libxul-embedding to PACKAGED_IDS for xulrunner
|
34
|
+
1.9.2.
|
35
|
+
Reported by OBATA Akio. Thanks!!!
|
36
|
+
|
37
|
+
2010-02-28 Kouhei Sutou <kou@cozmixng.org>
|
38
|
+
|
39
|
+
* extconf.rb: generate collected flags type. [#2925285]
|
40
|
+
Reported by tobi. Thanks!!!
|
41
|
+
|
42
|
+
2010-01-02 Kouhei Sutou <kou@cozmixng.org>
|
43
|
+
|
44
|
+
* extconf.rb: fix -Wl,-rpath syntax. [#2924766]
|
45
|
+
Reported by OBATA Akio. Thanks!!!
|
46
|
+
|
47
|
+
2009-08-02 Kouhei Sutou <kou@cozmixng.org>
|
48
|
+
|
49
|
+
* extconf.rb: add seamonky to detect target list.
|
50
|
+
Suggested by OBATA Akio. Thanks!!!
|
51
|
+
|
52
|
+
* extconf.rb: auto-generate src/depend for existing GtkMozEmbed
|
53
|
+
package.
|
54
|
+
* src/depend: remove.
|
55
|
+
Reported by OBATA Akio. Thanks!!!
|
56
|
+
|
57
|
+
2009-05-31 Kouhei Sutou <kou@cozmixng.org>
|
58
|
+
|
59
|
+
* extconf.rb: add missing existent check.
|
60
|
+
Patch by OBATA Akio. Thanks!!!
|
61
|
+
|
62
|
+
2009-03-07 Kouhei Sutou <kou@cozmixng.org>
|
63
|
+
|
64
|
+
* extconf.rb, src/rbgtkmozembed.c: generate enum types automatically.
|
65
|
+
|
66
|
+
* test/run-test.rb, test/gtk-moz-embed-test-utils.rb: setup test
|
67
|
+
environment.
|
68
|
+
|
69
|
+
* src/lib/gtkmozembed.rb, test/test-gtk-moz-embed.rb: add aliases
|
70
|
+
for more readable constant name.
|
71
|
+
|
72
|
+
* extconf.rb, src/rbgtkmozembed.[ch], rbgtkmozembed-init.cpp:
|
73
|
+
support libxul-embedding-unstable.
|
74
|
+
|
75
|
+
2007-12-28 Kouhei Sutou <kou@cozmixng.org>
|
76
|
+
|
77
|
+
* src/rbgtkmozembed.c: used RSTRING_PTR() and RSTRING_LEN().
|
78
|
+
|
79
|
+
2007-07-08 Masahiro Sakai <sakai@tom.sfc.keio.ac.jp>
|
80
|
+
|
81
|
+
* src/rbgtkmozembed.c: use rb_block_proc() directly instead of using
|
82
|
+
G_BLOCK_PROC().
|
83
|
+
|
84
|
+
2006-11-05 Masao Mutoh <mutoh@highway.ne.jp>
|
85
|
+
|
86
|
+
* extconf.rb: Check xulrunner/firefox/mozilla packages.
|
87
|
+
|
88
|
+
2006-06-28 Mirko Maischberger <mirko@lilik.it>
|
89
|
+
In response to #1511917
|
90
|
+
* extconf.rb: mozpath stripped.
|
91
|
+
|
92
|
+
2006-06-17 Masao Mutoh <mutoh@highway.ne.jp>
|
93
|
+
* sample/ruby-gecko.rb: Remove Gtk.init.
|
94
|
+
|
95
|
+
2006-06-14 Mirko Maischberger <mirko@lilik.it>
|
96
|
+
This should close bug #1495276
|
97
|
+
* src/rbgtkmozembed.c: set the moz comp_path in Init if
|
98
|
+
DEFAULT_MOZILLA_FIVE_HOME is defined.
|
99
|
+
* extconf.rb: Now defaults to xulrunner and defines
|
100
|
+
DEFAULT_MOZILLA_FIVE_HOME according to pkg-config.
|
101
|
+
|
102
|
+
2005-10-10 Masao Mutoh <mutoh@highway.ne.jp>
|
103
|
+
* REAMDE: Revised.
|
104
|
+
* extconf.rb, src/rbgtkmozembed.c: Added Gtk::MozEmbed::BUILD_VERSION.
|
105
|
+
|
106
|
+
2005-09-13 09:51 Mirko Maischberber <mirko@lilik.it>
|
107
|
+
GtkMozEmbed is now a core ruby-gnome2 package.
|
108
|
+
* extconf.rb: modified to be a part of ruby-gnome2 instead. This
|
109
|
+
is not a standalone package anymore.
|
110
|
+
|
111
|
+
2005-03-26 20:00 Mirko Maischberger <mirko@lilik.it>
|
112
|
+
* extconf.rb: fixed LD_LIBRARY_PATH oddity, now this is handled
|
113
|
+
with -Wl,-rpath option of gcc.
|
114
|
+
* extconf.rb: fixed bugs and cleaned.
|
115
|
+
Reported by Kazuhiro NISHIYAMA, Paul van Tilburg
|
116
|
+
|
117
|
+
2005-03-17 19:58 Mirko Maischberger <mirko@lilik.it>
|
118
|
+
* src/rbgtkmozembed.c: added Gtk::MozEmbed#on_new_window and
|
119
|
+
Gtk::MozEmbed#no_new_window to handle the new_window signal
|
120
|
+
correctly.
|
121
|
+
* sample/ruby-gecko.rb: Cleaned.
|
122
|
+
|
123
|
+
2005-03-07 19:58 Mirko Maischberger <mirko@lilik.it>
|
124
|
+
* src/rbgtkmozembed.c: Added the #render_data method,
|
125
|
+
removed the "<<" overloading.
|
126
|
+
* sample/ruby-gecko.rb: Cleaned.
|
127
|
+
|
128
|
+
2005-03-07 09:50 Mirko Maischberger <mirko@lilik.it>
|
129
|
+
* extconf.rb: Modified to compile as a standalone package.
|
130
|
+
* src/rbgtkmozembed.c: Added the stream related
|
131
|
+
functions. #open_stream, #append_data, #close_stream.
|
132
|
+
* COPYING.LIB.README: Some clarifications on licensing.
|
133
|
+
|
134
|
+
2005-02-20 12:55 Mirko Maischberger <mirko@lilik.it>
|
135
|
+
|
136
|
+
* extconf.rb: The extconf script now generates a start up script
|
137
|
+
for the sample program automatically. The script sets the
|
138
|
+
MOZILLA_FIVE_HOME and LD_LIBRARY_PATH taking the value from
|
139
|
+
mozilla-gtkmozembed.pc at compile time.
|
140
|
+
|
141
|
+
Based on this
|
142
|
+
http://sourceforge.net/mailarchive/message.php?msg_id=10867575
|
143
|
+
suggestion from Masao.
|
144
|
+
|
145
|
+
2005-02-19 22:27 Mirko Maischberger <mirko@lilik.it>
|
146
|
+
|
147
|
+
* src/rbgtkmozembed.c: GtkMozEmbed
|
148
|
+
|
149
|
+
2005-02-19 19:50 Mirko Maischberger <mirko@lilik.it>
|
150
|
+
|
151
|
+
* sample/: COPYING, README, ruby-gecko.rb: Initial import of
|
152
|
+
RubyGecko sample app.
|
153
|
+
|
154
|
+
2005-02-19 19:49 Mirko Maischberger <mirko@lilik.it>
|
155
|
+
|
156
|
+
* extconf.rb, src/rbgtkmozembed.c, src/lib/gtkmozembed.rb: Initial
|
157
|
+
import of gtkmozembed ruby binding sources.
|
158
|
+
|
159
|
+
2005-02-19 19:45 Mirko Maischberger <mirko@lilik.it>
|
160
|
+
|
161
|
+
* COPYING.LIB, COPYING.LIB.README, README: Legalese and
|
162
|
+
informational files.
|
163
|
+
|
data/README
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
Ruby/GtkMozEmbed
|
2
|
+
=========
|
3
|
+
Ruby/GtkMozEmbed is a Ruby binding of GtkMozEmbed a widget embedding a
|
4
|
+
Mozilla Gecko renderer.
|
5
|
+
|
6
|
+
Requirements
|
7
|
+
------------
|
8
|
+
Ruby: http://www.ruby-lang.org/
|
9
|
+
GTK+: http://www.gtk.org/
|
10
|
+
Pango: http://www.pango.org/
|
11
|
+
Mozilla 1.7.x or Mozilla-Firefox 1.0.x http://www.mozilla.org/
|
12
|
+
|
13
|
+
Install
|
14
|
+
-------
|
15
|
+
0. install ruby-1.{8|9}.x, GTK+, mozilla/firefox,
|
16
|
+
Ruby/GLib2, Ruby/Pango, Ruby/GTK2.
|
17
|
+
1. ruby extconf.rb
|
18
|
+
2. make
|
19
|
+
3. su
|
20
|
+
4. make install
|
21
|
+
|
22
|
+
Copying
|
23
|
+
-------
|
24
|
+
Copyright (c) 2005 Ruby-GNOME2 Project Team
|
25
|
+
Copyright (c) 2005 Mirko Maischberger <mirko@lilik.it>
|
26
|
+
|
27
|
+
This program is free software.
|
28
|
+
You can distribute/modify this program under the terms of
|
29
|
+
the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1.
|
30
|
+
|
31
|
+
(The sample application ruby-gecko.rb is released under the GPL)
|
32
|
+
|
33
|
+
Please note.
|
34
|
+
I've placed all my library code under the terms of the GNU/LGPL and
|
35
|
+
the test application under the GNU/GPL. After doing this I've seen
|
36
|
+
that the GtkMozEmbed code is released under the triple license
|
37
|
+
MPL-1.1/GPL/LGPL, but some portions of Mozilla code might still be
|
38
|
+
covered by the MPL-1.1 only.
|
39
|
+
|
40
|
+
If you are unsure, please check that all the code that you are going
|
41
|
+
to use in your project is covered by compatible liceses.
|
42
|
+
|
43
|
+
|
44
|
+
Project Website
|
45
|
+
---------------
|
46
|
+
http://ruby-gnome2.sourceforge.jp/
|
data/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require './../glib2/lib/gnome2-raketask'
|
4
|
+
|
5
|
+
package = GNOME2Package.new do |_package|
|
6
|
+
_package.summary = "Ruby/GtkMozEmbed is a Ruby binding of GtkMozEmbed a widget embedding a Mozilla Gecko renderer."
|
7
|
+
_package.description = "Ruby/GtkMozEmbed is a Ruby binding of GtkMozEmbed a widget embedding a Mozilla Gecko renderer."
|
8
|
+
_package.dependency.gem.runtime = ["gtk2"]
|
9
|
+
_package.win32.packages = []
|
10
|
+
_package.win32.dependencies = []
|
11
|
+
end
|
12
|
+
package.define_tasks
|
13
|
+
|
@@ -0,0 +1,163 @@
|
|
1
|
+
|
2
|
+
SHELL = /bin/sh
|
3
|
+
|
4
|
+
#### Start of system configuration section. ####
|
5
|
+
|
6
|
+
srcdir = /home/kou/work/ruby/ruby-gnome2/gtkmozembed/ext/gtkmozembed
|
7
|
+
topdir = /usr/lib/ruby/1.8/x86_64-linux
|
8
|
+
hdrdir = $(topdir)
|
9
|
+
VPATH = $(srcdir):$(topdir):$(hdrdir)
|
10
|
+
exec_prefix = $(prefix)
|
11
|
+
prefix = $(DESTDIR)/usr
|
12
|
+
sharedstatedir = $(prefix)/com
|
13
|
+
mandir = $(prefix)/share/man
|
14
|
+
psdir = $(docdir)
|
15
|
+
oldincludedir = $(DESTDIR)/usr/include
|
16
|
+
localedir = $(datarootdir)/locale
|
17
|
+
bindir = $(exec_prefix)/bin
|
18
|
+
libexecdir = $(prefix)/lib/ruby1.8
|
19
|
+
sitedir = $(DESTDIR)/usr/local/lib/site_ruby
|
20
|
+
htmldir = $(docdir)
|
21
|
+
vendorarchdir = $(vendorlibdir)/$(sitearch)
|
22
|
+
includedir = $(prefix)/include
|
23
|
+
infodir = $(prefix)/share/info
|
24
|
+
vendorlibdir = $(vendordir)/$(ruby_version)
|
25
|
+
sysconfdir = $(DESTDIR)/etc
|
26
|
+
libdir = $(exec_prefix)/lib
|
27
|
+
sbindir = $(exec_prefix)/sbin
|
28
|
+
rubylibdir = $(libdir)/ruby/$(ruby_version)
|
29
|
+
docdir = $(datarootdir)/doc/$(PACKAGE)
|
30
|
+
dvidir = $(docdir)
|
31
|
+
vendordir = $(libdir)/ruby/vendor_ruby
|
32
|
+
datarootdir = $(prefix)/share
|
33
|
+
pdfdir = $(docdir)
|
34
|
+
archdir = $(rubylibdir)/$(arch)
|
35
|
+
sitearchdir = $(sitelibdir)/$(sitearch)
|
36
|
+
datadir = $(datarootdir)
|
37
|
+
localstatedir = $(DESTDIR)/var
|
38
|
+
sitelibdir = $(sitedir)/$(ruby_version)
|
39
|
+
|
40
|
+
CC = gcc
|
41
|
+
LIBRUBY = $(LIBRUBY_SO)
|
42
|
+
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
|
43
|
+
LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
|
44
|
+
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
|
45
|
+
|
46
|
+
RUBY_EXTCONF_H =
|
47
|
+
CFLAGS = -fPIC -fno-strict-aliasing -g -g -O2 -fPIC $(cflags) -Wall -I/usr/include/gtk-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/atk-1.0 -I/usr/lib/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -pthread -I/usr/include/xulrunner-1.9.1/unstable -DXPCOM_GLUE -DDEFAULT_MOZILLA_FIVE_HOME='"/usr/lib/xulrunner-devel-1.9.1/lib"'
|
48
|
+
INCFLAGS = -I. -I/home/kou/work/ruby/ruby-gnome2/gtk2/ext/gtk2 -I/home/kou/work/ruby/ruby-gnome2/gtk2/ext/gtk2 -I/home/kou/work/ruby/ruby-gnome2/gtk2/ext/gtk2 -I/home/kou/work/ruby/ruby-gnome2/glib2/ext/glib2 -I/home/kou/work/ruby/ruby-gnome2/glib2/ext/glib2 -I/home/kou/work/ruby/ruby-gnome2/glib2/ext/glib2 -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/home/kou/work/ruby/ruby-gnome2/gtkmozembed/ext/gtkmozembed
|
49
|
+
DEFS =
|
50
|
+
CPPFLAGS = -DHAVE_RB_DEFINE_ALLOC_FUNC -DHAVE_RB_BLOCK_PROC -DHAVE_OBJECT_ALLOCATE -DHAVE_NODE_ATTRASGN -DHAVE_GTKMOZEMBED_GLUE_CPP -DRUBY_GTKMOZEMBED_COMPILATION
|
51
|
+
CXXFLAGS = $(CFLAGS)
|
52
|
+
ldflags = -L. -rdynamic -Wl,-export-dynamic -pthread -L/usr/lib/xulrunner-devel-1.9.1/lib -Wl,-rpath,/usr/lib/xulrunner-devel-1.9.1/lib
|
53
|
+
dldflags =
|
54
|
+
archflag =
|
55
|
+
DLDFLAGS = $(ldflags) $(dldflags) $(archflag)
|
56
|
+
LDSHARED = $(CXX) -shared
|
57
|
+
AR = ar
|
58
|
+
EXEEXT =
|
59
|
+
|
60
|
+
RUBY_INSTALL_NAME = ruby1.8
|
61
|
+
RUBY_SO_NAME = ruby1.8
|
62
|
+
arch = x86_64-linux
|
63
|
+
sitearch = x86_64-linux
|
64
|
+
ruby_version = 1.8
|
65
|
+
ruby = /usr/bin/ruby1.8
|
66
|
+
RUBY = $(ruby)
|
67
|
+
RM = rm -f
|
68
|
+
MAKEDIRS = mkdir -p
|
69
|
+
INSTALL = /usr/bin/install -c
|
70
|
+
INSTALL_PROG = $(INSTALL) -m 0755
|
71
|
+
INSTALL_DATA = $(INSTALL) -m 644
|
72
|
+
COPY = cp
|
73
|
+
|
74
|
+
#### End of system configuration section. ####
|
75
|
+
|
76
|
+
preload =
|
77
|
+
|
78
|
+
libpath = . $(libdir)
|
79
|
+
LIBPATH = -L. -L$(libdir)
|
80
|
+
DEFFILE =
|
81
|
+
|
82
|
+
CLEANFILES = mkmf.log
|
83
|
+
DISTCLEANFILES = rbgtkmozembedversion.h gtkmozembed-enum-types.h gtkmozembed-enum-types.c
|
84
|
+
|
85
|
+
extout =
|
86
|
+
extout_prefix =
|
87
|
+
target_prefix =
|
88
|
+
LOCAL_LIBS =
|
89
|
+
LIBS = $(LIBRUBYARG_SHARED) -lxpcomglue -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lglib-2.0 -lgthread-2.0 -lrt -lgmodule-2.0 -lpango-1.0 -lpangocairo-1.0 -lcairo -lgio-2.0 -latk-1.0 -lpangoft2-1.0 -lfreetype -lfontconfig -lxpcomglue -ldl -lpthread -lrt -ldl -lcrypt -lm -lc
|
90
|
+
SRCS = rbgtkmozembed.c gtkmozembed-enum-types.c rbgtkmozembed-init.c
|
91
|
+
OBJS = rbgtkmozembed.o gtkmozembed-enum-types.o rbgtkmozembed-init.o
|
92
|
+
TARGET = gtkmozembed
|
93
|
+
DLLIB = $(TARGET).so
|
94
|
+
EXTSTATIC =
|
95
|
+
STATIC_LIB =
|
96
|
+
|
97
|
+
BINDIR = $(bindir)
|
98
|
+
RUBYCOMMONDIR = $(sitedir)$(target_prefix)
|
99
|
+
RUBYLIBDIR = $(sitelibdir)$(target_prefix)
|
100
|
+
RUBYARCHDIR = $(sitearchdir)$(target_prefix)
|
101
|
+
|
102
|
+
TARGET_SO = $(DLLIB)
|
103
|
+
CLEANLIBS = $(TARGET).so $(TARGET).il? $(TARGET).tds $(TARGET).map
|
104
|
+
CLEANOBJS = *.o *.a *.s[ol] *.pdb *.exp *.bak
|
105
|
+
|
106
|
+
all: $(DLLIB)
|
107
|
+
static: $(STATIC_LIB)
|
108
|
+
|
109
|
+
clean:
|
110
|
+
@-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
|
111
|
+
|
112
|
+
distclean: clean
|
113
|
+
@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
|
114
|
+
@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
|
115
|
+
|
116
|
+
realclean: distclean
|
117
|
+
install: install-so install-rb
|
118
|
+
|
119
|
+
install-so: $(RUBYARCHDIR)
|
120
|
+
install-so: $(RUBYARCHDIR)/$(DLLIB)
|
121
|
+
$(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
|
122
|
+
$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
|
123
|
+
install-rb: pre-install-rb install-rb-default
|
124
|
+
install-rb-default: pre-install-rb-default
|
125
|
+
pre-install-rb: Makefile
|
126
|
+
pre-install-rb-default: Makefile
|
127
|
+
$(RUBYARCHDIR):
|
128
|
+
$(MAKEDIRS) $@
|
129
|
+
|
130
|
+
site-install: site-install-so site-install-rb
|
131
|
+
site-install-so: install-so
|
132
|
+
site-install-rb: install-rb
|
133
|
+
|
134
|
+
.SUFFIXES: .c .m .cc .cxx .cpp .C .o
|
135
|
+
|
136
|
+
.cc.o:
|
137
|
+
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
|
138
|
+
|
139
|
+
.cxx.o:
|
140
|
+
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
|
141
|
+
|
142
|
+
.cpp.o:
|
143
|
+
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
|
144
|
+
|
145
|
+
.C.o:
|
146
|
+
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
|
147
|
+
|
148
|
+
.c.o:
|
149
|
+
$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
|
150
|
+
|
151
|
+
$(DLLIB): $(OBJS) Makefile
|
152
|
+
@-$(RM) $@
|
153
|
+
$(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
###
|
158
|
+
install:
|
159
|
+
if test -n "$(pkgconfigdir)"; then \
|
160
|
+
$(MAKEDIRS) $(pkgconfigdir); \
|
161
|
+
$(INSTALL_DATA) ../ruby-gtkmozembed.pc $(pkgconfigdir); \
|
162
|
+
fi
|
163
|
+
|
@@ -0,0 +1,127 @@
|
|
1
|
+
=begin
|
2
|
+
extconf.rb for Ruby/GtkMozEmbed extention library
|
3
|
+
=end
|
4
|
+
|
5
|
+
require 'pathname'
|
6
|
+
|
7
|
+
base_dir = Pathname(__FILE__).dirname.parent.parent.expand_path
|
8
|
+
top_dir = base_dir.parent
|
9
|
+
top_build_dir = Pathname(".").parent.parent.parent.expand_path
|
10
|
+
|
11
|
+
mkmf_gnome2_dir = top_dir + "glib2" + 'lib'
|
12
|
+
version_suffix = ""
|
13
|
+
unless mkmf_gnome2_dir.exist?
|
14
|
+
if /(-\d+\.\d+\.\d+)\z/ =~ base_dir.basename.to_s
|
15
|
+
version_suffix = $1
|
16
|
+
mkmf_gnome2_dir = top_dir + "glib2#{version_suffix}" + 'lib'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
$LOAD_PATH.unshift(mkmf_gnome2_dir.to_s)
|
21
|
+
|
22
|
+
module_name = "gtkmozembed"
|
23
|
+
package_ids = ["libxul-embedding-unstable",
|
24
|
+
"libxul-embedding",
|
25
|
+
"xulrunner-gtkmozembed",
|
26
|
+
"firefox-gtkmozembed",
|
27
|
+
"seamonkey-gtkmozembed",
|
28
|
+
"mozilla-gtkmozembed"]
|
29
|
+
|
30
|
+
require 'mkmf-gnome2'
|
31
|
+
|
32
|
+
["glib2", "atk", "pango", "gdk_pixbuf2", "gtk2"].each do |package|
|
33
|
+
directory = "#{package}#{version_suffix}"
|
34
|
+
build_dir = "#{directory}/tmp/#{RUBY_PLATFORM}/#{package}/#{RUBY_VERSION}"
|
35
|
+
add_depend_package(package, "#{directory}/ext/#{package}",
|
36
|
+
top_dir.to_s,
|
37
|
+
:top_build_dir => top_build_dir.to_s,
|
38
|
+
:target_build_dir => build_dir)
|
39
|
+
end
|
40
|
+
rcairo_options = {}
|
41
|
+
rcairo_source_dir_names = ["rcairo"]
|
42
|
+
if /mingw|cygwin|mswin32/ =~ RUBY_PLATFORM
|
43
|
+
rcairo_source_dir_names.unshift("rcairo.win32")
|
44
|
+
end
|
45
|
+
rcairo_source_dir_names.each do |rcairo_source_dir_name|
|
46
|
+
rcairo_source_dir = top_dir.parent.expand_path + rcairo_source_dir_name
|
47
|
+
if rcairo_source_dir.exist?
|
48
|
+
rcairo_options[:rcairo_source_dir] = rcairo_source_dir.to_s
|
49
|
+
break
|
50
|
+
end
|
51
|
+
end
|
52
|
+
check_cairo(rcairo_options)
|
53
|
+
|
54
|
+
setup_win32(module_name, base_dir)
|
55
|
+
|
56
|
+
package_id = nil
|
57
|
+
package_ids.each do |v|
|
58
|
+
if PKGConfig.exist?(v)
|
59
|
+
package_id = v
|
60
|
+
$stderr.puts "#{v} is found."
|
61
|
+
break
|
62
|
+
else
|
63
|
+
$stderr.puts "#{v} is not found."
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
unless package_id
|
68
|
+
$stderr.puts "No gtkmozembed is found. Abort."
|
69
|
+
exit 1
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
#
|
74
|
+
# detect GTK+ configurations
|
75
|
+
#
|
76
|
+
|
77
|
+
PKGConfig.have_package('gtk+-2.0')
|
78
|
+
PKGConfig.have_package(package_id)
|
79
|
+
|
80
|
+
mozilla_library_path = PKGConfig.libs_only_L(package_id)
|
81
|
+
mozilla_path = mozilla_library_path.strip.sub(/^-L/, "")
|
82
|
+
|
83
|
+
if mozilla_path
|
84
|
+
# please comment the CFLAGS line if you don't want a default comp_path
|
85
|
+
$CFLAGS << " -DDEFAULT_MOZILLA_FIVE_HOME='\"#{mozilla_path}\"' "
|
86
|
+
$LDFLAGS << " -Wl,-rpath,#{mozilla_path}"
|
87
|
+
else
|
88
|
+
$stderr.puts "${package_id}.pc cannot be found."
|
89
|
+
exit 1
|
90
|
+
end
|
91
|
+
|
92
|
+
if have_library("xpcomglue")
|
93
|
+
have_header("gtkmozembed_glue.cpp") or exit 1
|
94
|
+
CONFIG['LDSHARED'].gsub!(/\$\(CC\)/, "$(CXX)")
|
95
|
+
elsif have_library("gtkembedmoz")
|
96
|
+
have_func('gtk_moz_embed_new') or exit 1
|
97
|
+
have_func('gtk_moz_embed_set_profile_path') or exit 1
|
98
|
+
else
|
99
|
+
exit 1
|
100
|
+
end
|
101
|
+
|
102
|
+
make_version_header("GTKMOZEMBED", package_id, ".")
|
103
|
+
|
104
|
+
create_pkg_config_file('Ruby/GtkMozEmbed', package_id)
|
105
|
+
$defs << "-DRUBY_GTKMOZEMBED_COMPILATION"
|
106
|
+
create_makefile_at_srcdir(module_name, (base_dir + "ext" + module_name).to_s) do
|
107
|
+
enum_type_prefix = "gtkmozembed-enum-types"
|
108
|
+
include_paths = PKGConfig.cflags_only_I(package_id)
|
109
|
+
include_paths = include_paths.split.collect do |path|
|
110
|
+
path.strip.sub(/^-I/, '')
|
111
|
+
end
|
112
|
+
headers = include_paths.inject([]) do |result, path|
|
113
|
+
gtkmozembed_h = File.join(path, "gtkmozembed.h")
|
114
|
+
result += [gtkmozembed_h] if File.exist?(gtkmozembed_h)
|
115
|
+
result
|
116
|
+
end
|
117
|
+
glib_mkenums(enum_type_prefix, headers, "GTK_TYPE_", ["gtkmozembed.h"],
|
118
|
+
:force_flags => [/Flags/])
|
119
|
+
end
|
120
|
+
pkg_config_dir = with_config("pkg-config-dir")
|
121
|
+
if pkg_config_dir.is_a?(String)
|
122
|
+
File.open("Makefile", "ab") do |makefile|
|
123
|
+
makefile.puts
|
124
|
+
makefile.puts("pkgconfigdir=#{pkg_config_dir}")
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|