From 2f6a101e54f6df39857196012d67d60b40ed0ce1 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Tue, 5 Feb 2013 10:04:00 +0100 Subject: [PATCH] Add xml2lpc/lpc2xml support and remote provisioning --- .gitmodules | 3 + Makefile | 3 +- custom_rules.xml | 15 + default.properties | 1 + jni/Android.mk | 4 + jni/Application.mk | 5 + project.properties | 2 +- res/values/non_localizable_defaults.xml | 1 + res/values/non_localizable_strings.xml | 1 + res/values/strings.xml | 1 + res/xml/preferences.xml | 5 + src/org/linphone/LinphoneManager.java | 15 +- src/org/linphone/RemoteProvisioning.java | 112 +++++ submodules/externals/build/libxml2/Android.mk | 68 +++ submodules/externals/build/libxml2/config.h | 311 ++++++++++++ .../build/libxml2/libxml/xmlversion.h | 476 ++++++++++++++++++ submodules/externals/libxml2 | 1 + submodules/linphone | 2 +- 18 files changed, 1022 insertions(+), 4 deletions(-) create mode 100644 src/org/linphone/RemoteProvisioning.java create mode 100644 submodules/externals/build/libxml2/Android.mk create mode 100644 submodules/externals/build/libxml2/config.h create mode 100644 submodules/externals/build/libxml2/libxml/xmlversion.h create mode 160000 submodules/externals/libxml2 diff --git a/.gitmodules b/.gitmodules index a21a0a5c3..1067b54f5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -58,3 +58,6 @@ [submodule "submodules/externals/webrtc"] path = submodules/externals/webrtc url = git://git.linphone.org/webrtc.git +[submodule "submodules/externals/libxml2"] + path = submodules/externals/libxml2 + url = git://git.gnome.org/libxml2 diff --git a/Makefile b/Makefile index 59bc3cf05..e557ad0b6 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,7 @@ LINPHONE_VERSION=$(shell cd submodules/linphone && git describe) LINPHONE_ANDROID_DEBUG_VERSION=$(shell git describe) ANDROID_MOST_RECENT_TARGET=$(shell android list target -c | grep android | tail -n1) +BUILD_REMOTE_PROVISIONING=1 BUILD_X264=1 BUILD_AMRNB=full # 0, light or full BUILD_AMRWB=0 @@ -87,7 +88,7 @@ prepare-mediastreamer2: prepare-sources: prepare-ffmpeg prepare-ilbc prepare-vpx prepare-silk prepare-srtp prepare-mediastreamer2 generate-libs: - $(NDK_PATH)/ndk-build LINPHONE_VERSION=$(LINPHONE_VERSION) BUILD_X264=$(BUILD_X264) BUILD_AMRNB=$(BUILD_AMRNB) BUILD_AMRWB=$(BUILD_AMRWB) BUILD_GPLV3_ZRTP=$(BUILD_GPLV3_ZRTP) BUILD_SILK=$(BUILD_SILK) BUILD_G729=$(BUILD_G729) BUILD_TUNNEL=$(BUILD_TUNNEL) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM) BUILD_FOR_X86=$(BUILD_FOR_X86) USE_JAVAH=$(USE_JAVAH) -j$(NUMCPUS) + $(NDK_PATH)/ndk-build LINPHONE_VERSION=$(LINPHONE_VERSION) BUILD_REMOTE_PROVISIONING=$(BUILD_REMOTE_PROVISIONING) BUILD_X264=$(BUILD_X264) BUILD_AMRNB=$(BUILD_AMRNB) BUILD_AMRWB=$(BUILD_AMRWB) BUILD_GPLV3_ZRTP=$(BUILD_GPLV3_ZRTP) BUILD_SILK=$(BUILD_SILK) BUILD_G729=$(BUILD_G729) BUILD_TUNNEL=$(BUILD_TUNNEL) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM) BUILD_FOR_X86=$(BUILD_FOR_X86) USE_JAVAH=$(USE_JAVAH) -j$(NUMCPUS) update-project: $(SDK_PATH)/android update project --path . --target $(ANDROID_MOST_RECENT_TARGET) diff --git a/custom_rules.xml b/custom_rules.xml index 20abc8648..cda9d1e46 100644 --- a/custom_rules.xml +++ b/custom_rules.xml @@ -6,6 +6,9 @@ + @@ -35,6 +38,18 @@ + + + + + + + + + + + + diff --git a/default.properties b/default.properties index e69de29bb..a4c4c0dea 100644 --- a/default.properties +++ b/default.properties @@ -0,0 +1 @@ +version.name=1.2.2.2-822-gfedf522 diff --git a/jni/Android.mk b/jni/Android.mk index 300f025e0..5b86fbfa3 100755 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -36,6 +36,10 @@ SRTP_C_INCLUDE= \ endif #endif +#libxml2 +ifeq ($(BUILD_REMOTE_PROVISIONING),1) +include $(linphone-root-dir)/submodules/externals/build/libxml2/Android.mk +endif # Speex ifeq ($(wildcard $(linphone-root-dir)/submodules/externals/prebuilts/speex.mk),) diff --git a/jni/Application.mk b/jni/Application.mk index 224f4faa8..44edcd6af 100644 --- a/jni/Application.mk +++ b/jni/Application.mk @@ -2,6 +2,11 @@ APP_PROJECT_PATH := $(call my-dir)/../ APP_MODULES :=libspeex libgsm libortp libosip2 libeXosip2 libmediastreamer2 liblinphone liblinphonenoneon libneon APP_STL := stlport_static +#remote provisioning +ifeq ($(BUILD_REMOTE_PROVISIONING),1) +APP_MODULES += libxml2 libxml2lpc liblpc2xml +endif + #default values ifeq ($(BUILD_AMRNB),) BUILD_AMRNB=light diff --git a/project.properties b/project.properties index 6eb97abcb..019cc5583 100644 --- a/project.properties +++ b/project.properties @@ -11,5 +11,5 @@ #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. -target=android-16 +target=android-17 android.library=false diff --git a/res/values/non_localizable_defaults.xml b/res/values/non_localizable_defaults.xml index 0f9820618..5af444e96 100644 --- a/res/values/non_localizable_defaults.xml +++ b/res/values/non_localizable_defaults.xml @@ -51,6 +51,7 @@ false 30 https://www.linphone.org:444/upload.php + 0 3600 Linphone Android diff --git a/res/values/non_localizable_strings.xml b/res/values/non_localizable_strings.xml index 71b2c25e0..cf20690e0 100644 --- a/res/values/non_localizable_strings.xml +++ b/res/values/non_localizable_strings.xml @@ -100,6 +100,7 @@ pref_auto_accept_friends_key pref_image_sharing_server_key + pref_remote_provisioning_key pref_video_port_key pref_audio_port_key diff --git a/res/values/strings.xml b/res/values/strings.xml index e27b7bf64..26560350a 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -392,6 +392,7 @@ wants to share it\'s presence status with you and be aware of yours. Echo canceller calibration in progress Sharing server + Remote provisioning Delete contact SIP address diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 6977ce381..16c231ede 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -315,6 +315,11 @@ android:title="@string/pref_image_sharing_server_title" android:defaultValue="@string/pref_image_sharing_server_default" /> + + diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 76d2615c6..4eed24eb2 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -157,6 +157,7 @@ public final class LinphoneManager implements LinphoneCoreListener { mServiceContext = c; mListenerDispatcher = new ListenerDispatcher(listener); basePath = c.getFilesDir().getAbsolutePath(); + mLPConfigXsd = basePath + "/lpconfig.xsd"; mLinphoneInitialConfigFile = basePath + "/linphonerc"; mLinphoneConfigFile = basePath + "/.linphonerc"; mLinphoneRootCaFile = basePath + "/rootca.pem"; @@ -176,6 +177,7 @@ public final class LinphoneManager implements LinphoneCoreListener { private static final int LINPHONE_VOLUME_STREAM = STREAM_VOICE_CALL; private static final int dbStep = 4; /** Called when the activity is first created. */ + private final String mLPConfigXsd; private final String mLinphoneInitialConfigFile; private final String mLinphoneRootCaFile; private final String mLinphoneConfigFile; @@ -245,6 +247,10 @@ public final class LinphoneManager implements LinphoneCoreListener { public static synchronized final LinphoneCore getLc() { return getInstance().mLc; } + + public String getLPConfigXsdPath() { + return mLPConfigXsd; + } public void newOutgoingCall(AddressType address) { String to = address.getText().toString(); @@ -407,9 +413,15 @@ public final class LinphoneManager implements LinphoneCoreListener { copyAssetsFromPackage(); //traces alway start with traces enable to not missed first initialization - boolean isDebugLogEnabled = !(mR.getBoolean(R.bool.disable_every_log)) && getPrefBoolean(R.string.pref_debug_key, mR.getBoolean(R.bool.pref_debug_default)); + boolean isDebugLogEnabled = true;//!(mR.getBoolean(R.bool.disable_every_log)) && getPrefBoolean(R.string.pref_debug_key, mR.getBoolean(R.bool.pref_debug_default)); LinphoneCoreFactory.instance().setDebugMode(isDebugLogEnabled, getString(R.string.app_name)); + // Try to get remote provisioning + String remote_provisioning = (getPrefString(R.string.pref_remote_provisioning_key, mR.getString(R.string.pref_remote_provisioning_default))); + if(remote_provisioning != null && remote_provisioning.length() > 0 && RemoteProvisioning.isAvailable()) { + RemoteProvisioning.download(remote_provisioning, mLinphoneConfigFile); + } + mLc = LinphoneCoreFactory.instance().createLinphoneCore(this, mLinphoneConfigFile, mLinphoneInitialConfigFile, null); mLc.getConfig().setInt("sip", "store_auth_info", 0); mLc.setContext(c); @@ -462,6 +474,7 @@ public final class LinphoneManager implements LinphoneCoreListener { copyIfNotExist(R.raw.ringback,mRingbackSoundFile); copyIfNotExist(R.raw.toy_mono,mPauseSoundFile); copyFromPackage(R.raw.linphonerc, new File(mLinphoneInitialConfigFile).getName()); + copyIfNotExist(R.raw.lpconfig, new File(mLPConfigXsd).getName()); copyIfNotExist(R.raw.rootca, new File(mLinphoneRootCaFile).getName()); } private void copyIfNotExist(int ressourceId,String target) throws IOException { diff --git a/src/org/linphone/RemoteProvisioning.java b/src/org/linphone/RemoteProvisioning.java new file mode 100644 index 000000000..44cc2f48e --- /dev/null +++ b/src/org/linphone/RemoteProvisioning.java @@ -0,0 +1,112 @@ +package org.linphone; + +import java.io.BufferedInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; + +import org.linphone.core.LinphoneCoreFactory; +import org.linphone.core.LpConfig; +import org.linphone.mediastream.Log; +import org.linphone.tools.Xml2Lpc; + + + +public class RemoteProvisioning { + static private class RemoteProvisioningThread extends Thread { + String mRPAddress; + String mSchema; + String mLocalLP; + + public RemoteProvisioningThread(final String RPAddress, final String LocalLP, final String schema) { + this.mRPAddress = RPAddress; + this.mLocalLP = LocalLP; + this.mSchema = schema; + } + + public void run() { + try { + Log.i("Download remote provisioning file from " + mRPAddress); + URL url = new URL(mRPAddress); + URLConnection ucon = url.openConnection(); + InputStream is = ucon.getInputStream(); + BufferedInputStream bis = new BufferedInputStream(is); + byte[] contents = new byte[1024]; + + int bytesRead = 0; + String strFileContents = ""; + while( (bytesRead = bis.read(contents)) != -1){ + strFileContents = new String(contents, 0, bytesRead); + } + Log.i("Download Success"); + + // Initialize converter + LpConfig lp = LinphoneCoreFactory.instance().createLpConfig(mLocalLP); + Xml2Lpc x2l = new Xml2Lpc(); + if(x2l.setXmlString(strFileContents) != 0) { + Log.e("Error during remote provisioning file parsing"); + return; + } + + // Check if needed + if(mSchema != null) { + if(x2l.setXsdFile(mSchema) != 0) { + Log.e("Error during schema file parsing"); + } + if(x2l.validate() != 0) { + Log.e("Can't validate the schema of remote provisioning file"); + return; + } + } + + // Convert + if(x2l.convert(lp) != 0) { + Log.e("Can't convert remote provisioning file to LinphoneConfig"); + return; + } + Log.i("Remote provisioning ok"); + } catch (MalformedURLException e) { + Log.e("Invalid remote provisioning url: " + e.getLocalizedMessage()); + } catch (IOException e) { + Log.e(e); + } finally { + synchronized(this) { + this.notify(); + } + } + } + }; + + static void download(String address, String lpfile, boolean check) { + try { + String schema = null; + if(check) { + schema = LinphoneManager.getInstance().getLPConfigXsdPath(); + } + RemoteProvisioningThread thread = new RemoteProvisioningThread(address, lpfile, schema); + synchronized(thread) { + thread.start(); + thread.wait(); + } + } catch (InterruptedException e) { + Log.e(e); + } + } + + static void download(String address, String lpfile) { + download(address, lpfile, true); + } + + static boolean isAvailable() { + if(Xml2Lpc.isAvailable()) { + Log.i("RemoteProvisioning is available"); + return true; + } else { + Log.i("RemoteProvisioning is NOT available"); + return false; + } + } + +} diff --git a/submodules/externals/build/libxml2/Android.mk b/submodules/externals/build/libxml2/Android.mk new file mode 100644 index 000000000..98ea6d108 --- /dev/null +++ b/submodules/externals/build/libxml2/Android.mk @@ -0,0 +1,68 @@ +LOCAL_PATH:= $(call my-dir)/../../libxml2 + +# We need to build this for both the device (as a shared library) +# and the host (as a static library for tools to use). + +common_SRC_FILES := \ + SAX.c \ + entities.c \ + encoding.c \ + error.c \ + parserInternals.c \ + parser.c \ + tree.c \ + hash.c \ + list.c \ + xmlIO.c \ + xmlmemory.c \ + uri.c \ + valid.c \ + xlink.c \ + HTMLparser.c \ + HTMLtree.c \ + debugXML.c \ + xpath.c \ + xpointer.c \ + xinclude.c \ + nanohttp.c \ + nanoftp.c \ + DOCBparser.c \ + catalog.c \ + globals.c \ + threads.c \ + c14n.c \ + xmlstring.c \ + xmlregexp.c \ + xmlschemas.c \ + xmlschemastypes.c \ + xmlunicode.c \ + xmlreader.c \ + relaxng.c \ + dict.c \ + SAX2.c \ + legacy.c \ + chvalid.c \ + pattern.c \ + xmlsave.c \ + xmlmodule.c \ + xmlwriter.c \ + schematron.c + +common_C_INCLUDES += \ + $(LOCAL_PATH)/include \ + $(LOCAL_PATH)/../build/libxml2 \ + +# For the device +# ===================================================== + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(common_SRC_FILES) +LOCAL_C_INCLUDES += $(common_C_INCLUDES) +LOCAL_SHARED_LIBRARIES += $(common_SHARED_LIBRARIES) +#LOCAL_CFLAGS += -fvisibility=hidden + +LOCAL_MODULE:= libxml2 + +include $(BUILD_SHARED_LIBRARY) + diff --git a/submodules/externals/build/libxml2/config.h b/submodules/externals/build/libxml2/config.h new file mode 100644 index 000000000..c70d020ac --- /dev/null +++ b/submodules/externals/build/libxml2/config.h @@ -0,0 +1,311 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ANSIDECL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ARPA_INET_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ARPA_NAMESER_H 1 + +/* Whether struct sockaddr::__ss_family exists */ +/* #undef HAVE_BROKEN_SS_FAMILY */ + +/* Define to 1 if you have the `class' function. */ +/* #undef HAVE_CLASS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Have dlopen based dso */ +#define HAVE_DLOPEN /**/ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the `fprintf' function. */ +#define HAVE_FPRINTF 1 + +/* Define to 1 if you have the `fp_class' function. */ +/* #undef HAVE_FP_CLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_CLASS_H */ + +/* Define to 1 if you have the `ftime' function. */ +#define HAVE_FTIME 1 + +/* Define if getaddrinfo is there */ +/* #undef HAVE_GETADDRINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_IEEEFP_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INTTYPES_H_H */ + +/* Define if isinf is there */ +#define HAVE_ISINF /**/ + +/* Define if isnan is there */ +#define HAVE_ISNAN /**/ + +/* Define to 1 if you have the `isnand' function. */ +/* #undef HAVE_ISNAND */ + +/* Define if history library is there (-lhistory) */ +/* #undef HAVE_LIBHISTORY */ + +/* Have compression library */ +/* #undef HAVE_LIBLZMA */ + +/* Define if pthread library is there (-lpthread) */ +/* #undef HAVE_LIBPTHREAD */ + +/* Define if readline library is there (-lreadline) */ +/* #undef HAVE_LIBREADLINE */ + +/* Have compression library */ +/* #undef HAVE_LIBZ */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `localtime' function. */ +#define HAVE_LOCALTIME 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LZMA_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MALLOC_H 1 Already defined in AndroidConfig.h */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MATH_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NETDB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NETINET_IN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_POLL_H 1 + +/* Define to 1 if you have the `printf' function. */ +#define HAVE_PRINTF 1 + +/* Define if is there */ +/* #undef HAVE_PTHREAD_H */ + +/* Define to 1 if you have the `rand' function. */ +#define HAVE_RAND 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_RESOLV_H 1 + +/* Have shl_load based dso */ +/* #undef HAVE_SHLLOAD */ + +/* Define to 1 if you have the `signal' function. */ +#define HAVE_SIGNAL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the `sprintf' function. */ +#define HAVE_SPRINTF 1 + +/* Define to 1 if you have the `srand' function. */ +#define HAVE_SRAND 1 + +/* Define to 1 if you have the `sscanf' function. */ +#define HAVE_SSCANF 1 + +/* Define to 1 if you have the `stat' function. */ +#define HAVE_STAT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the `strftime' function. */ +#define HAVE_STRFTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMEB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `time' function. */ +#define HAVE_TIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Whether va_copy() is available */ +#define HAVE_VA_COPY 1 + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ZLIB_H */ + +/* Define to 1 if you have the `_stat' function. */ +/* #undef HAVE__STAT */ + +/* Whether __va_copy() is available */ +/* #undef HAVE___VA_COPY */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libxml2" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to 1 if the C compiler supports function prototypes. */ +#define PROTOTYPES 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Support for IPv6 */ +/* #undef SUPPORT_IP6 */ + +/* Version number of package */ +#define VERSION "2.7.8" + +/* Determine what socket length (socklen_t) data type is */ +#define XML_SOCKLEN_T socklen_t + +/* Using the Win32 Socket implementation */ +/* #undef _WINSOCKAPI_ */ + +/* Define like PROTOTYPES; this can be used by system headers. */ +#define __PROTOTYPES 1 + +/* Win32 Std C name mangling work-around */ +/* #undef snprintf */ + +/* ss_family is not defined here, use __ss_family instead */ +/* #undef ss_family */ + +/* Win32 Std C name mangling work-around */ +/* #undef vsnprintf */ diff --git a/submodules/externals/build/libxml2/libxml/xmlversion.h b/submodules/externals/build/libxml2/libxml/xmlversion.h new file mode 100644 index 000000000..c44433755 --- /dev/null +++ b/submodules/externals/build/libxml2/libxml/xmlversion.h @@ -0,0 +1,476 @@ +/* + * Summary: compile-time version informations + * Description: compile-time version informations for the XML library + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_VERSION_H__ +#define __XML_VERSION_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * use those to be sure nothing nasty will happen if + * your library and includes mismatch + */ +#ifndef LIBXML2_COMPILING_MSCCDEF +XMLPUBFUN void XMLCALL xmlCheckVersion(int version); +#endif /* LIBXML2_COMPILING_MSCCDEF */ + +/** + * LIBXML_DOTTED_VERSION: + * + * the version string like "1.2.3" + */ +#define LIBXML_DOTTED_VERSION "2.8.0" + +/** + * LIBXML_VERSION: + * + * the version number: 1.2.3 value is 10203 + */ +#define LIBXML_VERSION 20800 + +/** + * LIBXML_VERSION_STRING: + * + * the version number string, 1.2.3 value is "10203" + */ +#define LIBXML_VERSION_STRING "20800" + +/** + * LIBXML_VERSION_EXTRA: + * + * extra version information, used to show a CVS compilation + */ +#define LIBXML_VERSION_EXTRA "-GITv2.8.0" + +/** + * LIBXML_TEST_VERSION: + * + * Macro to check that the libxml version in use is compatible with + * the version the software has been compiled against + */ +#define LIBXML_TEST_VERSION xmlCheckVersion(20800); + +#ifndef VMS +#if 0 +/** + * WITH_TRIO: + * + * defined if the trio support need to be configured in + */ +#define WITH_TRIO +#else +/** + * WITHOUT_TRIO: + * + * defined if the trio support should not be configured in + */ +#define WITHOUT_TRIO +#endif +#else /* VMS */ +/** + * WITH_TRIO: + * + * defined if the trio support need to be configured in + */ +#define WITH_TRIO 1 +#endif /* VMS */ + +/** + * LIBXML_THREAD_ENABLED: + * + * Whether the thread support is configured in + */ +#if 1 +#if defined(_REENTRANT) || defined(__MT__) || \ + (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L)) +#define LIBXML_THREAD_ENABLED +#endif +#endif + +/** + * LIBXML_TREE_ENABLED: + * + * Whether the DOM like tree manipulation API support is configured in + */ +#if 1 +#define LIBXML_TREE_ENABLED +#endif + +/** + * LIBXML_OUTPUT_ENABLED: + * + * Whether the serialization/saving support is configured in + */ +#if 1 +#define LIBXML_OUTPUT_ENABLED +#endif + +/** + * LIBXML_PUSH_ENABLED: + * + * Whether the push parsing interfaces are configured in + */ +#if 1 +#define LIBXML_PUSH_ENABLED +#endif + +/** + * LIBXML_READER_ENABLED: + * + * Whether the xmlReader parsing interface is configured in + */ +#if 1 +#define LIBXML_READER_ENABLED +#endif + +/** + * LIBXML_PATTERN_ENABLED: + * + * Whether the xmlPattern node selection interface is configured in + */ +#if 1 +#define LIBXML_PATTERN_ENABLED +#endif + +/** + * LIBXML_WRITER_ENABLED: + * + * Whether the xmlWriter saving interface is configured in + */ +#if 1 +#define LIBXML_WRITER_ENABLED +#endif + +/** + * LIBXML_SAX1_ENABLED: + * + * Whether the older SAX1 interface is configured in + */ +#if 1 +#define LIBXML_SAX1_ENABLED +#endif + +/** + * LIBXML_FTP_ENABLED: + * + * Whether the FTP support is configured in + */ +#if 1 +#define LIBXML_FTP_ENABLED +#endif + +/** + * LIBXML_HTTP_ENABLED: + * + * Whether the HTTP support is configured in + */ +#if 1 +#define LIBXML_HTTP_ENABLED +#endif + +/** + * LIBXML_VALID_ENABLED: + * + * Whether the DTD validation support is configured in + */ +#if 1 +#define LIBXML_VALID_ENABLED +#endif + +/** + * LIBXML_HTML_ENABLED: + * + * Whether the HTML support is configured in + */ +#if 1 +#define LIBXML_HTML_ENABLED +#endif + +/** + * LIBXML_LEGACY_ENABLED: + * + * Whether the deprecated APIs are compiled in for compatibility + */ +#if 1 +#define LIBXML_LEGACY_ENABLED +#endif + +/** + * LIBXML_C14N_ENABLED: + * + * Whether the Canonicalization support is configured in + */ +#if 1 +#define LIBXML_C14N_ENABLED +#endif + +/** + * LIBXML_CATALOG_ENABLED: + * + * Whether the Catalog support is configured in + */ +#if 1 +#define LIBXML_CATALOG_ENABLED +#endif + +/** + * LIBXML_DOCB_ENABLED: + * + * Whether the SGML Docbook support is configured in + */ +#if 1 +#define LIBXML_DOCB_ENABLED +#endif + +/** + * LIBXML_XPATH_ENABLED: + * + * Whether XPath is configured in + */ +#if 1 +#define LIBXML_XPATH_ENABLED +#endif + +/** + * LIBXML_XPTR_ENABLED: + * + * Whether XPointer is configured in + */ +#if 1 +#define LIBXML_XPTR_ENABLED +#endif + +/** + * LIBXML_XINCLUDE_ENABLED: + * + * Whether XInclude is configured in + */ +#if 1 +#define LIBXML_XINCLUDE_ENABLED +#endif + +/** + * LIBXML_ICONV_ENABLED: + * + * Whether iconv support is available + */ +#if 0 +#define LIBXML_ICONV_ENABLED +#endif + +/** + * LIBXML_ICU_ENABLED: + * + * Whether icu support is available + */ +#if 0 +#define LIBXML_ICU_ENABLED +#endif + +/** + * LIBXML_ISO8859X_ENABLED: + * + * Whether ISO-8859-* support is made available in case iconv is not + */ +#if 1 +#define LIBXML_ISO8859X_ENABLED +#endif + +/** + * LIBXML_DEBUG_ENABLED: + * + * Whether Debugging module is configured in + */ +#if 1 +#define LIBXML_DEBUG_ENABLED +#endif + +/** + * DEBUG_MEMORY_LOCATION: + * + * Whether the memory debugging is configured in + */ +#if 0 +#define DEBUG_MEMORY_LOCATION +#endif + +/** + * LIBXML_DEBUG_RUNTIME: + * + * Whether the runtime debugging is configured in + */ +#if 0 +#define LIBXML_DEBUG_RUNTIME +#endif + +/** + * LIBXML_UNICODE_ENABLED: + * + * Whether the Unicode related interfaces are compiled in + */ +#if 1 +#define LIBXML_UNICODE_ENABLED +#endif + +/** + * LIBXML_REGEXP_ENABLED: + * + * Whether the regular expressions interfaces are compiled in + */ +#if 1 +#define LIBXML_REGEXP_ENABLED +#endif + +/** + * LIBXML_AUTOMATA_ENABLED: + * + * Whether the automata interfaces are compiled in + */ +#if 1 +#define LIBXML_AUTOMATA_ENABLED +#endif + +/** + * LIBXML_EXPR_ENABLED: + * + * Whether the formal expressions interfaces are compiled in + */ +#if 1 +#define LIBXML_EXPR_ENABLED +#endif + +/** + * LIBXML_SCHEMAS_ENABLED: + * + * Whether the Schemas validation interfaces are compiled in + */ +#if 1 +#define LIBXML_SCHEMAS_ENABLED +#endif + +/** + * LIBXML_SCHEMATRON_ENABLED: + * + * Whether the Schematron validation interfaces are compiled in + */ +#if 1 +#define LIBXML_SCHEMATRON_ENABLED +#endif + +/** + * LIBXML_MODULES_ENABLED: + * + * Whether the module interfaces are compiled in + */ +#if 1 +#define LIBXML_MODULES_ENABLED +/** + * LIBXML_MODULE_EXTENSION: + * + * the string suffix used by dynamic modules (usually shared libraries) + */ +#define LIBXML_MODULE_EXTENSION ".so" +#endif + +/** + * LIBXML_ZLIB_ENABLED: + * + * Whether the Zlib support is compiled in + */ +#if 1 +#define LIBXML_ZLIB_ENABLED +#endif + +/** + * LIBXML_LZMA_ENABLED: + * + * Whether the Lzma support is compiled in + */ +#if 0 +#define LIBXML_LZMA_ENABLED +#endif + +#ifdef __GNUC__ +#ifdef HAVE_ANSIDECL_H +#include +#endif + +/** + * ATTRIBUTE_UNUSED: + * + * Macro used to signal to GCC unused function parameters + */ + +#ifndef ATTRIBUTE_UNUSED +#define ATTRIBUTE_UNUSED __attribute__((unused)) +#endif + +/** + * LIBXML_ATTR_ALLOC_SIZE: + * + * Macro used to indicate to GCC this is an allocator function + */ + +#ifndef LIBXML_ATTR_ALLOC_SIZE +# if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) +# define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) +# else +# define LIBXML_ATTR_ALLOC_SIZE(x) +# endif +#else +# define LIBXML_ATTR_ALLOC_SIZE(x) +#endif + +/** + * LIBXML_ATTR_FORMAT: + * + * Macro used to indicate to GCC the parameter are printf like + */ + +#ifndef LIBXML_ATTR_FORMAT +# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) +# define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) +# else +# define LIBXML_ATTR_FORMAT(fmt,args) +# endif +#else +# define LIBXML_ATTR_FORMAT(fmt,args) +#endif + +#else /* ! __GNUC__ */ +/** + * ATTRIBUTE_UNUSED: + * + * Macro used to signal to GCC unused function parameters + */ +#define ATTRIBUTE_UNUSED +/** + * LIBXML_ATTR_ALLOC_SIZE: + * + * Macro used to indicate to GCC this is an allocator function + */ +#define LIBXML_ATTR_ALLOC_SIZE(x) +/** + * LIBXML_ATTR_FORMAT: + * + * Macro used to indicate to GCC the parameter are printf like + */ +#define LIBXML_ATTR_FORMAT(fmt,args) +#endif /* __GNUC__ */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif + + diff --git a/submodules/externals/libxml2 b/submodules/externals/libxml2 new file mode 160000 index 000000000..c943f708f --- /dev/null +++ b/submodules/externals/libxml2 @@ -0,0 +1 @@ +Subproject commit c943f708f1853de4eb15e5a94cf0b35d108da87a diff --git a/submodules/linphone b/submodules/linphone index 77a03fbdb..bf0953eb1 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 77a03fbdb1ee31de5203aced075271ed0f9273c7 +Subproject commit bf0953eb1d3c83471c6950eea505bea4e67f93e6