linphone-developers
[Top][All Lists]
Advanced

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

[Linphone-developers] Mediastreamer as external project with --enable-ex


From: address@hidden
Subject: [Linphone-developers] Mediastreamer as external project with --enable-external-mediastreamer
Date: Wed, 16 Feb 2011 14:20:07 +0100 (CET)

Hi Simon,

I suspect you've never read my last mail with the i18n patches
for linphone and 
mediastreamer2.
It was sent during the week when the mailing list was down
because some gnu server 
was hacked...
Anyway, here is the next one.

>Hi Giorgio,
>
>Thanks for the patch. I reviewed but 
found two issues
>that prevents its inclusion:
>- use of gettext.h with GPL within the sources 
changes
>  the copyright ownership: why is this file necessary ?
>  Couldn't we use libintl.h from 
system ?

OK I understand.
When you call the command 'gettextize -c' to automatically
update your 
project to support i18n with gettext you get
this info/hint on the console:
...
You might also want 
to copy
the convenience header file gettext.h from the
/usr/share/gettext directory into your 
package.
It is a wrapper around <libintl.h> that implements
the configure --disable-nls option.

--
disable-nls/--enable-nls has the effect to un/define
the cpp variable ENABLE_NLS in config.h.
Then 
you can just include the gettext.h and it will
properly #define some functions, like gettext() or

ngettext(), to the actual function call or to a noop.
Anyway it is always possible to do it 
manually, limiting
the #define's to the functions that are actually used in
the linphone and 
mediastreamer2 projects, avoiding
the #include <gettext.h> (see patch to linphone/coreapi/private.h

and include/mediastreamer2/mscommon.h).


>- multiple modifications of .c files to add macros: I 
would prefer these
>macros to be defined in a single file, for example include/mscommon.h
>for 
mediastreamer2 inside a #ifdef MS2_INTERNAL so that these defines
>are not exported to upper 
layers. For coreapi, private.h can be used for
>that purpose.

OK, the multiple definitions of the 
same macros was a bad solution;
in the included patch I have followed your suggestions (see again

patch to linphone/coreapi/private.h and include/mediastreamer2/mscommon.h).
What I don't like with 
the include/mscommon.h is that we install this
header system-wide under '/usr/include' (with 'make 
install') and than
we must 'protect' the definitions with the cpp var. MS2_INTERNAL.
It would be 
better to have a private header, like the linphone's
private.h, for this kind of stuff that we use 
only when compiling
'linphone' and that does not get installed.

Moreover I removed the subdir. 
'intl' in the 'linphone' project;
as far as I know it is no longer needed and is also deprecated.


Let me know if you find more problems with the current patches.

Attached find an archive with two

patches:
- mediastreamer2_i18n.patch: adds i18n to mediastreamer2.
   Applies to the mediastreamer2

git repo. at id:
    b9a6dad7339175e894d1a0f291ccb5d1143e3199

- linphone_i18n.patch: updates the

i18n support in
   linphone so that it does not conflict with the one in
   mediastreamer2.
  

Applies to the linphone git repo. at id:
    9b461a99a68c2a45e2365b4035155f9cd2b264ff

Best

regards,

giorgio



Supera i limiti: raddoppia la velocità da 10 a 20 Mega! 

Risparmia con Tutto Incluso: telefono + adsl 20 mega a soli 29,95 € al mese per 
due anni!

SCONTO DI 240 EURO!

http://abbonati.tiscali.it/telefono-adsl/prodotti/tc/tuttoincluso/?WT.mc_id=01fw

Attachment: i18n_patches.tar.bz2
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]