[Ekiga-devel-list] win32 issues



I just joined back into this list again. I tried to cross compile ekiga
for win32. I was a bit lost what all these branches and tags are meant
for. So I took trunk for ekiga, tag v3_6_1 for opal and tag v2_6_1 for
ptlib. Presumably this is not the place where bug fixing towards an
Ekiga 3.2 for win32 is happening. Could you direct me?
I managed to address some of the win32 build issues which have already
been reported to this list.
1) opal, g722codec.c can not be compiled, as reported by Thierry
Simonnet
http://mail.gnome.org/archives/ekiga-devel-list/2009-February/msg00082.html .
Preprocessor output indeed shows dllimport functions. This is due to
plugin-config.h not being included as it is e.g. in g726codec.c . See
attached opal_G722dll.diff how one could fix this.
2) ptlib/src/ptlib/common/ptime.cxx issue is due to differences in the
definition of STDAPICALLTYPE in ptime.cxx and getdate.tab.c. At the
level of object files ptime.o was requesting _PTimeParse whereas
getdate.tab.o was providing _PTimeParse 12 . Attached
ptlib_ptime-stdcall.diff lets ptime.cxx use the dll naming scheme, i.e.
_PTimeParse 12
3) Ekiga's ldap support needs libsasl2 as reported by Michael
Cronenworth in
http://mail.gnome.org/archives/ekiga-devel-list/2009-February/msg00062.html .
This seems a major issue as it may require sasl enabled ldap as well.
cyrus-sasl-2.1.22 can be used in a win32 environment, the Pidgin
developers use it, see
http://developer.pidgin.im/wiki/BuildingWinPidgin#GetthePidginsourcecode . They even provide binaries compiled with Microsoft tools. So in the Makefile one could add:
LIBSASL2_VER := 2.1.22
LIBSASL2_DIR := $(BUILDROOT)/cyrus-sasl-$(LIBSASL2_VER)
LIBSASL2_ARCHIVE := cyrus-sasl-$(LIBSASL2_VER).zip
LIBSASL2_URL := http://developer.pidgin.im/static/win32
...
### libsasl2
update-sources::
	echo --- Getting libsasl2 ...
	$(WGET) -P $(SRCDIR) $(LIBSASL2_URL)/$(LIBSASL2_ARCHIVE)

$(LIBDIR)/libsasl2.a: $(SRCDIR)/$(LIBSASL2_ARCHIVE)
	rm -f $(LIBDIR)/libsasl2.a
	rm -rf $(LIBSASL2_DIR)
	unzip -u $(SRCDIR)/$(LIBSASL2_ARCHIVE) -d $(BUILDROOT)
	cp $(LIBSASL2_DIR)/lib/libsasl.lib $(LIBDIR)/libsasl2.a
Fortunately the Mingw Linker seems capable of handling Microsoft .lib
libraries.
I made a preliminary patch to ekiga/configure.ac which allows
configuration --with-libsasl2-dir=$(LIBSASL2_DIR), see attachment. This
allows Ekiga to be compiled with ldap support.
QUESTION ??? Do we have to compile Openldap with sasl support to use it
in Ekiga? Currently the win32 Openldap is configured
--with-cyrus-sasl=no .
I hope this helps a bit getting everything compiled. This seems a
prerequisite for getting things fixed in Ekigas code for win32.
Regards
Michael

diff -ur opal.orig/plugins/audio/G722/g722codec.c opal/plugins/audio/G722/g722codec.c
--- opal.orig/plugins/audio/G722/g722codec.c	2009-03-29 09:03:28.132407340 +0200
+++ opal/plugins/audio/G722/g722codec.c	2009-03-29 08:50:09.520407000 +0200
@@ -24,6 +24,10 @@
  * $Date: 2009-01-03 10:24:21 +0100 (Sa, 03. Jan 2009) $
  */
 
+#ifndef PLUGIN_CODEC_DLL_EXPORTS
+#include "plugin-config.h"
+#endif
+
 #include <codec/opalplugin.h>
 
 #include "VoIPCodecs/inttypes.h"
diff -ur opal.orig/plugins/audio/G722/Makefile.in opal/plugins/audio/G722/Makefile.in
--- opal.orig/plugins/audio/G722/Makefile.in	2009-03-29 09:03:28.132407340 +0200
+++ opal/plugins/audio/G722/Makefile.in	2009-03-29 09:00:45.868407000 +0200
@@ -35,6 +35,7 @@
 
 SRCDIR	= ./VoIPCodecs
 OBJDIR	= ./obj
+PLUGINDIR=../..
 
 CC		= CC@
 CXX		= CXX@
@@ -42,6 +43,7 @@
 PLUGINEXT	= PLUGINEXT@
 STDCCFLAGS	= STDCCFLAGS@
 LDFLAGS		= LDFLAGS@
+EXTRACFLAGS     =-I$(PLUGINDIR)
 
 SRCS	+= g722codec.c \
 	   $(SRCDIR)/g722_encode.c \
@@ -53,7 +55,7 @@
 
 $(OBJDIR)/%.o : %.c
 	@mkdir -p $(OBJDIR) >/dev/null 2>&1
-	$(CC) -I../../../include $(STDCCFLAGS) $(OPTCCFLAGS) $(CFLAGS) -c $< -o $@
+	$(CC) -I../../../include $(STDCCFLAGS) $(OPTCCFLAGS) $(CFLAGS) $(EXTRACFLAGS) -c $< -o $@
 
 PLUGIN	= ./g722_audio_pwplugin.$(PLUGINEXT)
 
diff -ur ptlib.orig/src/ptlib/common/ptime.cxx ptlib/src/ptlib/common/ptime.cxx
--- ptlib.orig/src/ptlib/common/ptime.cxx	2009-03-29 20:39:41.325934225 +0200
+++ ptlib/src/ptlib/common/ptime.cxx	2009-03-29 20:31:01.416408000 +0200
@@ -545,7 +545,9 @@
 
 extern "C" {
 
-#ifndef STDAPICALLTYPE
+#ifdef _WIN32
+#define STDAPICALLTYPE __stdcall
+#else
 #define STDAPICALLTYPE
 #endif
 
diff -ur ekiga.orig/configure.ac ekiga/configure.ac
--- ekiga.orig/configure.ac	2009-03-29 18:03:09.432404211 +0200
+++ ekiga/configure.ac	2009-03-29 18:02:07.164406000 +0200
@@ -344,7 +344,17 @@
   fi
 
   dnl Checking for libsasl2
-  AC_CHECK_HEADER(sasl/sasl.h,,AC_MSG_ERROR([*** libsasl2 headers not found]))
+  AC_ARG_WITH(libsasl2-dir, AS_HELP_STRING([--with-libsasl2-dir=PFX],[location of LIBSASL2]), with_libsasl2_dir="$withval", with_libsasl2_dir="/usr")
+
+  dnl Check for the libsasl2 includes presence
+  AC_MSG_CHECKING(for LIBSASL2 includes in ${with_libsasl2_dir}/include/)
+  AC_MSG_RESULT()
+
+  if test -f ${with_libsasl2_dir}/include/sasl/sasl.h; then
+  	LDAP_CFLAGS="-I${with_libsasl2_dir}/include"
+  else
+  	AC_MSG_ERROR(*** libsasl2 headers not found)
+  fi
   LDAP_LIBS="$LDAP_LIBS -lsasl2"
 
   dnl Checking for libresolv


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]