Add xml2lpc/lpc2xml support and remote provisioning
This commit is contained in:
parent
fedf522fcd
commit
2f6a101e54
18 changed files with 1022 additions and 4 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -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
|
||||
|
|
3
Makefile
3
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)
|
||||
|
|
|
@ -6,6 +6,9 @@
|
|||
<move file="submodules/linphone/mediastreamer2/java/src/org/linphone/mediastream/MediastreamerActivity.java"
|
||||
tofile="submodules/linphone/mediastreamer2/java/src/org/linphone/mediastream/MediastreamerActivity.wnin"
|
||||
failonerror="false" />
|
||||
<copy file="submodules/linphone/share/xml/lpconfig.xsd"
|
||||
tofile="res/raw/lpconfig.xsd"
|
||||
failonerror="false" />
|
||||
</target>
|
||||
|
||||
<target name="-post-build" description="Restore file that has been moved so that it was not compiled.">
|
||||
|
@ -35,6 +38,18 @@
|
|||
<class name="org.linphone.core.PayloadTypeImpl" />
|
||||
<class name="org.linphone.core.LpConfigImpl" />
|
||||
</javah>
|
||||
<javah outputfile="gen/xml2lpc_jni.h">
|
||||
<classpath>
|
||||
<pathelement location="${out.classes.absolute.dir}" />
|
||||
</classpath>
|
||||
<class name="org.linphone.tools.Xml2Lpc" />
|
||||
</javah>
|
||||
<javah outputfile="gen/lpc2xml_jni.h">
|
||||
<classpath>
|
||||
<pathelement location="${out.classes.absolute.dir}" />
|
||||
</classpath>
|
||||
<class name="org.linphone.tools.Lpc2Xml" />
|
||||
</javah>
|
||||
</target>
|
||||
|
||||
<target name="partial-clean">
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
version.name=1.2.2.2-822-gfedf522
|
|
@ -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),)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
<bool name="pref_autostart_default">false</bool>
|
||||
<string name="pref_incoming_call_timeout_default">30</string>
|
||||
<string name="pref_image_sharing_server_default">https://www.linphone.org:444/upload.php</string>
|
||||
<string name="pref_remote_provisioning_default"></string>
|
||||
<string name="pref_audio_use_specific_mode_default">0</string>
|
||||
<string name="pref_expire_default">3600</string>
|
||||
<string name="pref_display_name_default">Linphone Android</string>
|
||||
|
|
|
@ -100,6 +100,7 @@
|
|||
|
||||
<string name="pref_auto_accept_friends_key">pref_auto_accept_friends_key</string>
|
||||
<string name="pref_image_sharing_server_key">pref_image_sharing_server_key</string>
|
||||
<string name="pref_remote_provisioning_key">pref_remote_provisioning_key</string>
|
||||
|
||||
<string name="pref_video_port_key">pref_video_port_key</string>
|
||||
<string name="pref_audio_port_key">pref_audio_port_key</string>
|
||||
|
|
|
@ -392,6 +392,7 @@
|
|||
<string name="linphone_friend_new_request_desc">wants to share it\'s presence status with you and be aware of yours.</string>
|
||||
<string name="setup_ec_calibration">Echo canceller calibration in progress</string>
|
||||
<string name="pref_image_sharing_server_title">Sharing server</string>
|
||||
<string name="pref_remote_provisioning_title">Remote provisioning</string>
|
||||
|
||||
<string name="delete_contact">Delete contact</string>
|
||||
<string name="sip_address">SIP address</string>
|
||||
|
|
|
@ -315,6 +315,11 @@
|
|||
android:title="@string/pref_image_sharing_server_title"
|
||||
android:defaultValue="@string/pref_image_sharing_server_default" />
|
||||
|
||||
<EditTextPreference
|
||||
android:key="@string/pref_remote_provisioning_key"
|
||||
android:title="@string/pref_remote_provisioning_title"
|
||||
android:defaultValue="@string/pref_remote_provisioning_default" />
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_primary_account_title">
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
112
src/org/linphone/RemoteProvisioning.java
Normal file
112
src/org/linphone/RemoteProvisioning.java
Normal file
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
68
submodules/externals/build/libxml2/Android.mk
vendored
Normal file
68
submodules/externals/build/libxml2/Android.mk
vendored
Normal file
|
@ -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)
|
||||
|
311
submodules/externals/build/libxml2/config.h
vendored
Normal file
311
submodules/externals/build/libxml2/config.h
vendored
Normal file
|
@ -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 <ansidecl.h> header file. */
|
||||
/* #undef HAVE_ANSIDECL_H */
|
||||
|
||||
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
||||
#define HAVE_ARPA_INET_H 1
|
||||
|
||||
/* Define to 1 if you have the <arpa/nameser.h> 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 <ctype.h> header file. */
|
||||
#define HAVE_CTYPE_H 1
|
||||
|
||||
/* Define to 1 if you have the <dirent.h> header file. */
|
||||
#define HAVE_DIRENT_H 1
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#define HAVE_DLFCN_H 1
|
||||
|
||||
/* Have dlopen based dso */
|
||||
#define HAVE_DLOPEN /**/
|
||||
|
||||
/* Define to 1 if you have the <dl.h> header file. */
|
||||
/* #undef HAVE_DL_H */
|
||||
|
||||
/* Define to 1 if you have the <errno.h> header file. */
|
||||
#define HAVE_ERRNO_H 1
|
||||
|
||||
/* Define to 1 if you have the <fcntl.h> 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 <float.h> 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 <fp_class.h> 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 <ieeefp.h> header file. */
|
||||
/* #undef HAVE_IEEEFP_H */
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#define HAVE_INTTYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h.h> 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 <limits.h> 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 <lzma.h> header file. */
|
||||
/* #undef HAVE_LZMA_H */
|
||||
|
||||
/* Define to 1 if you have the <malloc.h> header file. */
|
||||
/* #undef HAVE_MALLOC_H 1 Already defined in AndroidConfig.h */
|
||||
|
||||
/* Define to 1 if you have the <math.h> header file. */
|
||||
#define HAVE_MATH_H 1
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#define HAVE_MEMORY_H 1
|
||||
|
||||
/* Define to 1 if you have the <nan.h> header file. */
|
||||
/* #undef HAVE_NAN_H */
|
||||
|
||||
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
|
||||
/* #undef HAVE_NDIR_H */
|
||||
|
||||
/* Define to 1 if you have the <netdb.h> header file. */
|
||||
#define HAVE_NETDB_H 1
|
||||
|
||||
/* Define to 1 if you have the <netinet/in.h> header file. */
|
||||
#define HAVE_NETINET_IN_H 1
|
||||
|
||||
/* Define to 1 if you have the <poll.h> header file. */
|
||||
#define HAVE_POLL_H 1
|
||||
|
||||
/* Define to 1 if you have the `printf' function. */
|
||||
#define HAVE_PRINTF 1
|
||||
|
||||
/* Define if <pthread.h> 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 <resolv.h> 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 <signal.h> 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 <stdarg.h> header file. */
|
||||
#define HAVE_STDARG_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#define HAVE_STDINT_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> 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 <strings.h> header file. */
|
||||
#define HAVE_STRINGS_H 1
|
||||
|
||||
/* Define to 1 if you have the <string.h> 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 <sys/dir.h> header file, and it defines `DIR'.
|
||||
*/
|
||||
/* #undef HAVE_SYS_DIR_H */
|
||||
|
||||
/* Define to 1 if you have the <sys/mman.h> header file. */
|
||||
#define HAVE_SYS_MMAN_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
|
||||
*/
|
||||
/* #undef HAVE_SYS_NDIR_H */
|
||||
|
||||
/* Define to 1 if you have the <sys/select.h> header file. */
|
||||
#define HAVE_SYS_SELECT_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||
#define HAVE_SYS_SOCKET_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#define HAVE_SYS_STAT_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/timeb.h> header file. */
|
||||
#define HAVE_SYS_TIMEB_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||
#define HAVE_SYS_TIME_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> 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 <time.h> header file. */
|
||||
#define HAVE_TIME_H 1
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> 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 <zlib.h> 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 */
|
476
submodules/externals/build/libxml2/libxml/xmlversion.h
vendored
Normal file
476
submodules/externals/build/libxml2/libxml/xmlversion.h
vendored
Normal file
|
@ -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 <libxml/xmlexports.h>
|
||||
|
||||
#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 <ansidecl.h>
|
||||
#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
|
||||
|
||||
|
1
submodules/externals/libxml2
vendored
Submodule
1
submodules/externals/libxml2
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit c943f708f1853de4eb15e5a94cf0b35d108da87a
|
|
@ -1 +1 @@
|
|||
Subproject commit 77a03fbdb1ee31de5203aced075271ed0f9273c7
|
||||
Subproject commit bf0953eb1d3c83471c6950eea505bea4e67f93e6
|
Loading…
Reference in a new issue