[ekiga] [windows] Major step in replacing gtk2 by gtk3
- From: Eugen Dedu <ededu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga] [windows] Major step in replacing gtk2 by gtk3
- Date: Mon, 2 Dec 2013 16:30:06 +0000 (UTC)
commit c71bcf359ac9733e94675d56aec176845a32b1f1
Author: Eugen Dedu <Eugen Dedu pu-pm univ-fcomte fr>
Date: Mon Dec 2 17:20:21 2013 +0100
[windows] Major step in replacing gtk2 by gtk3
- Download gtk3 instead of gtk2
- Copy gtk files in ekiga directory instead of relying on a separate
installer, since this is the current approach
- Download bundle instead of each library/header, it is easier to keep
track of gtk libraries; note that only required libraries will
however be put in the final .exe
- Do not download xml library anymore, since it is found in gtk bundle
Ekiga compiles well now, but the build gives some errors during final
.exe generation. These errors (and others) will be fixed in
subsequent commits.
win32/Makefile | 195 +++++---------------------------------------------------
1 files changed, 16 insertions(+), 179 deletions(-)
---
diff --git a/win32/Makefile b/win32/Makefile
index 91dd87e..7990dda 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -139,11 +139,6 @@ SPEEX_DIR := $(BUILDROOT)/speex-$(SPEEX_VER)
SPEEX_ARCHIVE := speex-$(SPEEX_VER).tar.gz
SPEEX_URL := http://downloads.xiph.org/releases/speex
-XML2_VER := 2.9.0
-XML2_DIR := libxml2-$(XML2_VER)
-XML2_URL := ftp://xmlsoft.org/libxml2
-XML2_ARCHIVE := libxml2-$(XML2_VER).tar.gz
-
EXPAT_VER = 2.1.0
EXPAT_DIR = $(BUILDROOT)/expat-$(EXPAT_VER)
EXPAT_ARCHIVE := expat-$(EXPAT_VER).tar.gz
@@ -160,10 +155,6 @@ BOOST_URL := http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VER)
BOOST_ARCHIVE := boost_$(shell echo $(BOOST_VER)|tr . _).tar.gz
BOOST_DIR := $(BUILDROOT)/boost_$(shell echo $(BOOST_VER)|tr . _)
-GETTEXT_VER := 0.18.1.1-2
-GETTEXT_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
-GETTEXT_ARCHIVE := gettext-runtime-dev_$(GETTEXT_VER)_win32.zip
-
LIBAV_VER := 9.9
LIBAV_URL := http://www.libav.org/releases
LIBAV_DIR := $(BUILDROOT)/libav-$(LIBAV_VER)
@@ -192,50 +183,9 @@ NSISSYTEM_DIR := /usr/share/nsis/Contrib/Modern\ UI
NSISPLUGIN_DIR := $(BUILDROOT)/nsisplugins
# gtk headers
-GTK_VER := 2.22.0-2
-GTK_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.22
-GTK_ARCHIVE := gtk+-dev_$(GTK_VER)_win32.zip
-
-# gtk library
-# this is an installer, not a zip of files to be manually installed
-# see http://gtk-win.sourceforge.net for more information
-GTK_BIN_VER := 2.22
-GTK_INSTALLER_URL := http://downloads.sourceforge.net/gtk-win
-GTK_BIN_EXE := gtk2-runtime-2.22.0-2010-10-21-ash.exe
-
-############## gtk headers dependencies
-# during building, ekiga uses gtk.h, which needs headers of various libraries
-GLIB_VER := 2.28.1-1
-GLIB_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28
-GLIB_ARCHIVE := glib-dev_$(GLIB_VER)_win32.zip
-
-ATK_VER := 1.32.0-1
-ATK_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32
-ATK_ARCHIVE := atk-dev_$(ATK_VER)_win32.zip
-
-CAIRO_VER := 1.10.2-1
-CAIRO_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
-CAIRO_ARCHIVE := cairo-dev_$(CAIRO_VER)_win32.zip
-
-PANGO_VER := 1.28.3-1
-PANGO_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.28
-PANGO_ARCHIVE := pango-dev_$(PANGO_VER)_win32.zip
-
-FREETYPE_VER := 2.4.4-1
-FREETYPE_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
-FREETYPE_ARCHIVE := freetype-dev_$(FREETYPE_VER)_win32.zip
-
-FONTCONFIG_VER := 2.8.0-2
-FONTCONFIG_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
-FONTCONFIG_ARCHIVE := fontconfig-dev_$(FONTCONFIG_VER)_win32.zip
-
-GDKPIXBUF_VER := 2.22.1-1
-GDKPIXBUF_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/gdk-pixbuf/2.22
-GDKPIXBUF_ARCHIVE := gdk-pixbuf-dev_$(GDKPIXBUF_VER)_win32.zip
-
-PNG_VER := 1.4.3-1
-PNG_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
-PNG_ARCHIVE := libpng-dev_$(PNG_VER)_win32.zip
+GTK_VER := 3.6.4-20130921
+GTK_URL := http://win32builder.gnome.org
+GTK_ARCHIVE := gtk+-bundle_$(GTK_VER)_win32.zip
LN:=ln
RM:=rm
@@ -471,7 +421,7 @@ $(LIBDIR)/libogg.a: binaries $(OGG_DIR)/config.status
### libspeex
update-sources::
- @echo --- Getting Vorbis ...
+ @echo --- Getting Speex ...
$(WGET) -P $(SRCDIR) $(SPEEX_URL)/$(SPEEX_ARCHIVE)
$(SPEEX_DIR)/config.status: binaries $(SRCDIR)/$(SPEEX_ARCHIVE)
@@ -592,132 +542,21 @@ $(LIBDIR)/$(OPAL_LIB): binaries $(OPAL_DIR)/config.status
$(MAKE) $(MAKEOPTS) VERBOSE=1 -C $(OPAL_DIR)
$(MAKE) -C $(OPAL_DIR) install
-### libgtk
+### gtk bundle
update-sources::
- @echo --- Getting GTK2+ ...
+ @echo --- Getting GTK3 libs + headers bundle...
$(WGET) -P $(SRCDIR) $(GTK_URL)/$(GTK_ARCHIVE)
-$(LIBDIR)/pkgconfig/gtk+-2.0.pc: $(SRCDIR)/$(GTK_ARCHIVE)
+$(LIBDIR)/pkgconfig/gtk+-3.0.pc: $(SRCDIR)/$(GTK_ARCHIVE)
unzip -u $(SRCDIR)/$(GTK_ARCHIVE) -d $(BUILDROOT)
+ sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(BINDIR)/glib-gettextize
sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/g*.pc
- touch $@
-
-### GTK Runtime
-update-sources::
- @echo --- Getting GTK2+ Runtime Library ...
- $(WGET) -P $(SRCDIR) $(GTK_INSTALLER_URL)/$(GTK_BIN_EXE)
-
-$(LIBDIR)/gtk+-$(GTK_BIN_VER)-setup.exe: $(SRCDIR)/$(GTK_BIN_EXE)
- $(CP) $(SRCDIR)/$(GTK_BIN_EXE) $(LIBDIR)/gtk+-$(GTK_BIN_VER)-setup.exe
- touch $@
-
-### libglib
-update-sources::
- @echo --- Getting GLib ...
- $(WGET) -P $(SRCDIR) $(GLIB_URL)/$(GLIB_ARCHIVE)
-
-$(LIBDIR)/pkgconfig/glib-2.0.pc: $(SRCDIR)/$(GLIB_ARCHIVE)
- unzip -u $(SRCDIR)/$(GLIB_ARCHIVE) -d $(BUILDROOT)
- sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/g*.pc $(BINDIR)/glib-gettextize
- chmod +x $(BINDIR)/glib-gettextize
- touch $@
-
-### atk
-update-sources::
- @echo --- Getting ATK ...
- $(WGET) -P $(SRCDIR) $(ATK_URL)/$(ATK_ARCHIVE)
-
-$(LIBDIR)/pkgconfig/atk-2.0.pc: $(SRCDIR)/$(ATK_ARCHIVE)
- unzip -u $(SRCDIR)/$(ATK_ARCHIVE) -d $(BUILDROOT)
sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/atk*.pc
- touch $@
-
-### png
-update-sources::
- @echo --- Getting PNG ...
- $(WGET) -P $(SRCDIR) $(PNG_URL)/$(PNG_ARCHIVE)
-
-$(LIBDIR)/pkgconfig/libpng.pc: $(SRCDIR)/$(PNG_ARCHIVE)
- unzip -u $(SRCDIR)/$(PNG_ARCHIVE) -d $(BUILDROOT)
- sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/libpng*.pc
- touch $@
-
-### libintl
-update-sources::
- @echo --- Getting Gettext ...
- $(WGET) -P $(SRCDIR) $(GETTEXT_URL)/$(GETTEXT_ARCHIVE)
-
-$(LIBDIR)/libintl.a: $(SRCDIR)/$(GETTEXT_ARCHIVE)
- unzip -u $(SRCDIR)/$(GETTEXT_ARCHIVE) -d $(BUILDROOT)
- touch $@
-
-### pango
-update-sources::
- @echo --- Getting Pango ...
- $(WGET) -P $(SRCDIR) $(PANGO_URL)/$(PANGO_ARCHIVE)
-
-$(LIBDIR)/pkgconfig/pango32.pc: $(SRCDIR)/$(PANGO_ARCHIVE)
- unzip -u $(SRCDIR)/$(PANGO_ARCHIVE) -d $(BUILDROOT)
sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/pango*.pc
- touch $@
-
-### cairo
-update-sources::
- @echo --- Getting Cairo ...
- $(WGET) -P $(SRCDIR) $(CAIRO_URL)/$(CAIRO_ARCHIVE)
-
-$(LIBDIR)/pkgconfig/cairo.pc: $(SRCDIR)/$(CAIRO_ARCHIVE)
- unzip -u $(SRCDIR)/$(CAIRO_ARCHIVE) -d $(BUILDROOT)
sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/cairo*.pc
+ sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/libxml*.pc
touch $@
-### gdk-pixbuf
-update-sources::
- @echo --- Getting GDK Pixbuf ...
- $(WGET) -P $(SRCDIR) $(GDKPIXBUF_URL)/$(GDKPIXBUF_ARCHIVE)
-
-$(LIBDIR)/pkgconfig/gdk-pixbuf-2.0.pc: $(SRCDIR)/$(GDKPIXBUF_ARCHIVE)
- unzip -u $(SRCDIR)/$(GDKPIXBUF_ARCHIVE) -d $(BUILDROOT)
- sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/gdk-pixbuf*.pc
-# remove -lpng14, which is not needed, to avoid downloading it
- sed -i -e 's#^\(Libs: .*\)-lpng14\(.*\)#\1\2#g' $(LIBDIR)/pkgconfig/gdk-pixbuf*.pc
- touch $@
-
-### freetype
-update-sources::
- @echo --- Getting Freetype ...
- $(WGET) -P $(SRCDIR) $(FREETYPE_URL)/$(FREETYPE_ARCHIVE)
-
-$(LIBDIR)/pkgconfig/freetype2.pc: $(SRCDIR)/$(FREETYPE_ARCHIVE)
- unzip -u $(SRCDIR)/$(FREETYPE_ARCHIVE) -d $(BUILDROOT)
- sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/freetype2.pc
- touch $@
-
-### fontconfig
-update-sources::
- @echo --- Getting Fontconfig ...
- $(WGET) -P $(SRCDIR) $(FONTCONFIG_URL)/$(FONTCONFIG_ARCHIVE)
-
-$(LIBDIR)/pkgconfig/fontconfig.pc: $(SRCDIR)/$(FONTCONFIG_ARCHIVE)
- unzip -u $(SRCDIR)/$(FONTCONFIG_ARCHIVE) -d $(BUILDROOT)
- sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/fontconfig.pc
- touch $@
-
-### libxml2
-update-sources::
- @echo --- Getting libXML2 ...
- $(WGET) -P $(SRCDIR) $(XML2_URL)/$(XML2_ARCHIVE)
-
-$(XML2_DIR)/config.status: binaries $(SRCDIR)/$(XML2_ARCHIVE)
- rm -f $(LIBDIR)/libxml2.a
- tar xfz $(SRCDIR)/$(XML2_ARCHIVE) -C $(BUILDROOT)
- cd $(XML2_DIR); ./configure $(confflags) --without-python
-
-$(LIBDIR)/libxml2.a: binaries $(XML2_DIR)/config.status
- rm -f $(LIBDIR)/libxml2.a
- $(MAKE) $(MAKEOPTS) -C $(XML2_DIR)
- $(MAKE) $(MAKEOPTS) -C $(XML2_DIR) install
-
### ekiga
update-sources::
@echo --- Getting Ekiga ...
@@ -747,11 +586,10 @@ endif
done; true
touch $@
-$(EKIGA_DIR)/config.status: binaries $(EKIGA_DIR)/configure $(LIBDIR)/$(PTLIB_LIB) $(LIBDIR)/$(OPAL_LIB) \
- $(LIBDIR)/pkgconfig/gtk+-2.0.pc $(LIBDIR)/pkgconfig/atk-2.0.pc $(LIBDIR)/pkgconfig/glib-2.0.pc \
- $(LIBDIR)/pkgconfig/libpng.pc $(LIBDIR)/pkgconfig/pango32.pc $(LIBDIR)/pkgconfig/cairo.pc
$(LIBDIR)/libxml2.a \
- $(LIBDIR)/pkgconfig/freetype2.pc $(LIBDIR)/pkgconfig/fontconfig.pc
$(LIBDIR)/pkgconfig/gdk-pixbuf-2.0.pc \
- $(LIBDIR)/libintl.a $(LIBDIR)/libboost_signals.dll $(LIBDIR)/libsasl2.a
+$(EKIGA_DIR)/config.status: binaries $(EKIGA_DIR)/configure \
+ $(LIBDIR)/$(PTLIB_LIB) $(LIBDIR)/$(OPAL_LIB) \
+ $(LIBDIR)/pkgconfig/gtk+-3.0.pc \
+ $(LIBDIR)/libboost_signals.dll $(LIBDIR)/libsasl2.a
rm -f $(EKIGA_DIR)/src/ekiga.exe
cd $(EKIGA_DIR); ACLOCAL_FLAGS="-I $(BUILDROOT)/share/aclocal" LDFLAGS="$(LDFLAGS)
-Wl,-subsystem,windows" ./configure $(confekiga)
@@ -779,7 +617,7 @@ $(TARGETDIR)/zips: binaries $(EKIGA_DIR)/src/ekiga.exe
for lib in $(PTLIB_LIB) $(OPAL_LIB) libboost_signals.dll; do \
install -m 755 $(LIBDIR)/$$lib $(EKIGA_PREFIX) ;\
done
- for lib in liblber.dll libldap.dll libxml2-2.dll libspeex-1.dll libspeexdsp-1.dll libtheora-0.dll
avcodec-54.dll avutil-52.dll libogg-0.dll; do \
+ for lib in liblber.dll libldap.dll libspeex-1.dll libspeexdsp-1.dll libtheora-0.dll avcodec-54.dll
avutil-52.dll libogg-0.dll; do \
install -m 755 $(BINDIR)/$$lib $(EKIGA_PREFIX) ;\
done
ifeq ($(MINGW32), 1)
@@ -853,10 +691,10 @@ $(NSISPLUGIN_DIR)/Processes.dll: $(SRCDIR)/Processes.zip
unzip -u -j $(SRCDIR)/Processes.zip setup-processes/bin/Processes.dll -d $(NSISPLUGIN_DIR)
touch $@
-$(TARGETDIR)/$(EKIGA_INSTALLER): $(TARGETDIR)/zips $(LIBDIR)/gtk+-$(GTK_BIN_VER)-setup.exe
$(NSISPLUGIN_DIR)/SystemLocal.dll $(NSISPLUGIN_DIR)/Processes.dll
+$(TARGETDIR)/$(EKIGA_INSTALLER): $(TARGETDIR)/zips $(NSISPLUGIN_DIR)/SystemLocal.dll
$(NSISPLUGIN_DIR)/Processes.dll
makensis -DEKIGA_VERSION=$(EKIGA_VER) -DEKIGA_DIR=$(EKIGA_DIR) \
-DINSTALLER_DIR=$(EKIGA_INSTALLER_DIR) -DLIB_DIR=$(LIBDIR) \
- -DTARGET_DIR=$(TARGETDIR) -DWITH_GTK=true -DGTK_VERSION=$(GTK_BIN_VER) \
+ -DTARGET_DIR=$(TARGETDIR) -DWITH_GTK=true \
-DNSISSYSTEMDIR=$(NSISSYTEM_DIR) -DNSISPLUGINDIR=$(NSISPLUGIN_DIR) \
-DDEBUG=$(DEBUG) $(EKIGA_INSTALLER_DIR)/ekiga.nsi
@@ -873,7 +711,6 @@ distclean:
$(RM) -rf $(INCLUDEDIR)
$(RM) -rf $(LIBDIR)
$(RM) -rf $(OGG_DIR)
- $(RM) -rf $(XML2_DIR)
$(RM) -rf $(BUILDROOT)/man
$(RM) -rf $(BUILDROOT)/manifest
$(RM) -rf $(OPAL_DIR)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]