aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAngelo Mantellini (manangel) <angelo.mantellini@irt-systemx.fr>2017-04-08 00:57:33 +0200
committerAngelo Mantellini (manangel) <angelo.mantellini@irt-systemx.fr>2017-04-08 00:57:33 +0200
commit20d003a4858d18ccd0b22496c5ad926d3a51601f (patch)
treea5c3e02e184eb0f4ce852a6a4928a6046118a4c6
parent3137acdd5a45285dab9903f9d41560c63eca8523 (diff)
correct scripts and makefile, little correction in switch off of metis
Change-Id: Icfce254c22af4b7363ec206f5f9703520113f0ee Signed-off-by: Angelo Mantellini (manangel) <angelo.mantellini@irt-systemx.fr>
-rw-r--r--Makefile312
-rw-r--r--README.md51
-rw-r--r--ccnxandroidmetis/ccnxsupportlibrary/src/main/jni/ccnxsupportlibrary/Metis_wrap.c12
-rw-r--r--config/modules/000-gitModule.mk7
-rw-r--r--external/libxml2_files/config.h333
-rw-r--r--external/libxml2_files/xmlversion.h489
-rwxr-xr-xscripts/init.sh12
-rwxr-xr-xscripts/update.sh (renamed from update.sh)4
8 files changed, 1004 insertions, 216 deletions
diff --git a/Makefile b/Makefile
index 61a36eb2..80a93fc3 100644
--- a/Makefile
+++ b/Makefile
@@ -104,22 +104,7 @@ else
DISTILLERY_LOCAL_MODULES_DIR="[Undefined]"
endif
-
-##############################################################
-# Build variables and rules
-#
-
-# We're going to create lists of targets as convenience
-modules_clean=$(modules:=.clean)
-modules_check=$(modules:=.check)
-modules_step=$(modules:=.step)
-modules_average-coverage=$(modules:=.average-coverage)
-
-# These are the basic build rules. They will call the module specific rules
-install-all: install-directories pre-requisites ${modules}
-
-#distillery-sync: distillery-update ${DISTILLERY_ROOT_DIR}/tools/bin/syncOriginMasterWithCCNXUpstream
-# @${DISTILLERY_ROOT_DIR}/tools/bin/syncOriginMasterWithCCNXUpstream
+install-all: install-directories ${modules}
init_depend:
./scripts/init.sh ${ABI} ${DISTILLERY_INSTALL_DIR};
@@ -132,188 +117,139 @@ android_iget:
android_iget_debug:
./scripts/compile_androidiget.sh DEBUG
-clobber: distclean
- @rm -rf ${CONFIGURE_CACHE_FILE}
- @rm -rf ${DISTILLERY_INSTALL_DIR}/bin
- @rm -rf ${DISTILLERY_INSTALL_DIR}/lib
- @rm -rf ${DISTILLERY_INSTALL_DIR}/include
- @rm -rf ${DISTILLERY_INSTALL_DIR}/share
- @rm -rf ${DISTILLERY_INSTALL_DIR}/etc
- @rm -rf ${DISTILLERY_XCODE_DIR}
- @rm -rf .*.stamp
-
-clean: ${modules_clean}
- @rm -rf report.txt
-
-distclean:
- @rm -rf ${DISTILLERY_BUILD_DIR}
- @rm -rf report.txt
-
-#distillery-update:
-# @echo "Fetching Distillery..."
-# @git fetch --all
-# @git pull
-
-distillery-upstream:
- git remote add ${DISTILLERY_GITHUB_UPSTREAM_NAME} ${DISTILLERY_GITHUB_UPSTREAM_REPO}
-
-check: ${modules_check}
-
-step: ${modules_step}
-
-# From Distillery, 'make coverage' actually runs the summary version of coverage
-# You can also run 'make <module>.coverage' to get the output showing each file and its coverage.
-coverage: ${modules_average-coverage}
-
-dependencies:
- @${MAKE} -C dependencies
-
-dependencies.clean:
- @${MAKE} -C dependencies clean
-
-dependencies.clobber:
- @${MAKE} -C dependencies clobber
-
-pre-requisites:
+curl-clean:
+ @rm -rf external/curl
+ @rm -rf external/libcurl_android/obj
+ @rm -rf external/libcurl_android/jni/libcurl/include
+ @rm -rf external/libcurl_android/jni/libcurl/src
+ @rm -rf external/libcurl_android/jni/libcurl/lib
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libcurl*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/curl
+
+boost-clean:
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libboost*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/boost
+
+openssl-clean:
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libssl.*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libcrypto.*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/openssl
+ @rm -rf external/openssl-1.0.2k*
+ @rm -rf external/crystax-ndk-10.3.2/sources/openssl/1.0.2k
+
+crystax-clean:
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libxrystax.*
+
+event-clean:
+ @rm -rf external/libevent
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libevent*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/event2
+
+crystaxndk-clean:
+ @rm -rf external/crystax-ndk*
+
+xml2-clean:
+ @rm -rf external/libxml2
+ @rm -rf external/libxml2_android/obj
+ @rm -rf external/libxml2_android/jni/libxml2/*.c
+ @rm -rf external/libxml2_android/jni/libxml2/*.h
+ @rm -rf external/libxml2_android/jni/libxml2/include
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libxml2*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/libxml
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/win32config.h
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/wsockcompat.h
+
+dependencies-clean: crystaxndk-clean event-clean crystax-clean openssl-clean boost-clean curl-clean xml2-clean
+
+sdk-clean:
+ @rm -rf sdk/android-sdk_*
+ @rm -rf sdk/sdk
+
+ndk-clean:
+ @rm -rf sdk/android-ndk-*
+ @rm -rf sdk/ndk-bundle
+
+cmake-clean:
+ @rm -rf cmake-*
+ @rm -rf cmake
+
+androidsdk-clean: sdk-clean ndk-clean cmake-clean
+
+cframework-clean:
+ @rm -rf ${DISTILLERY_BUILD_DIR}/cframework
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/liblongbow.*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/LongBow
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libparc.*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/parc
+
+ccnxlibs-clean:
+ @rm -rf src/ccnxlibs
+ @rm -rf ${DISTILLERY_BUILD_DIR}/ccnxlibs
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libccnx-*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/ccnx/common
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/ccnx/transport
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/ccnx/api
+
+sb-forwarder-clean:
+ @rm -rf src/sb-forwarder
+ @rm -rf ${DISTILLERY_BUILD_DIR}/sb-forwarder
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libmetis*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/ccnx/forwarder
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/config.h
+
+libicnet-clean:
+ @rm -rf src/libicnet
+ @rm -rf ${DISTILLERY_BUILD_DIR}/libicnet
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libicnet*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/ccnx/icnet
+
+libdash-clean:
+ @rm -rf ${DISTILLERY_BUILD_DIR}/libdash
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/lib/libdash.*
+ @rm -rf ${DISTILLERY_INSTALL_DIR}/include/libdash
+
+all-clean: dependencies-clean cframework-clean ccnxlibs-clean sb-forwarder-clean libicnet-clean
+
+update:
+ ./scripts/update.sh
help:
- @echo "Simple instructions: run \"make update step\""
- @echo
@echo "---- Basic build targets ----"
- @echo "make help - This help message"
- @echo "make info - Show basic information"
- @echo "make status - Show status of modules"
- @echo "make update - git clone and pull the different modules to the head of master"
- @echo "make sync - fetch all remotes, merge upstream master, push to origin master"
- @echo "make step - Module by module: configure, compile and install all software"
- @echo " in the install directory (see make info) and run tests"
- @echo "make all - Configure, compile and install all software in DISTILLERY_INSTALL_DIR"
- @echo "make check - Run all the tests"
- @echo "make clobber - Clean the build, remove the install software"
- @echo
- @echo "make sanity - Run simple sanity checks to test that the build is functional"
- @echo
- @echo "make coverage - Show the average coverage of each module."
- @echo "make <module>.coverage - Show the coverage of each file in the specified module."
- @echo
- @echo "---- Advanced targets ----"
- @echo "make nuke-all-modules - DANGEROUS! Clean all the modules to git checkout (git clean -dfx)"
- @echo " - You will lose all uncommitted changes"
- @echo "make clean - Clean the build"
- @echo "make distclean - Distclean the build"
- @echo "make *-debug - make a target with DEBUG on (e.g. all-debug or check-debug)"
- @echo "make *-release - make a target with RELEASE on (optimized)"
- @echo "make *-nopants - make a target with NOPANTS on (no validation - use at your own risk)"
- @echo
- @echo "---- IDE support targets ----"
- @echo "make xcode - Create xcode projects [only works on Mac]"
- @echo "make MasterIDE.xcode - Makes an xcode uber-project (based on all-debug) that contains"
- @echo " - the various sub-mdules"
- @echo "make MasterIDE.xcodeopen - Makes MasterIDE.xcode and the starts xcode"
- @echo "make MasterIDE.clionopen - Creates an uber CMakeLists.txt and starts CLion with the necessary"
- @echo " - environment for development"
- @echo
- @echo "---- Basic module targets ----"
- @echo "Module Directory = ${MODULES_DIRECTORY_DEFAULT}"
- @echo "Modules Loaded = ${modules}"
- @echo "GitModules Loaded = ${gitmodules}"
- @echo "Per-module targets: \"Module\" \"Module.distclean\" \"Module.nuke\" \"Module-debug\""
-
-
+ @echo "make help - This help message"
+ @echo "make update - git pull the different modules to the head of master"
+ @echo "make all - Download sdk, ndk and dependencies, configure, compile and install all software in DISTILLERY_INSTALL_DIR"
+ @echo "make init_depend - Download sdk, ndk and dependencies, compile and install all dependencies in DISTILLERY_INSTALL"
+ @echo "make install-all - Configure, compile and install all software in DISTILLERY_INSTALL_DIR"
+ @echo "curl-clean - Clean curl files and libs"
+ @echo "boost-clean - Clean boost files and libs"
+ @echo "openssl-clean - Clean opennssl files and libs"
+ @echo "crystax-clean - Clean crystax files and libs"
+ @echo "event-clean - Clean libevent files and libs"
+ @echo "crystaxndk-clean - Clean crystax ndk files"
+ @echo "xml2-clean - Clean libxml2 files and libs"
+ @echo "dependencies-clean - Clean all dependencies files and libs"
+ @echo "sdk-clean - Clean sdk files"
+ @echo "ndk-clean - Clean ndk files"
+ @echo "cmake-clean - Clean cmake files"
+ @echo "androidsdk-clean - Clean sdk, ndk and cmake files"
+ @echo "cframework-clean - Clean cframework (libparc and longbow) files and libs"
+ @echo "ccnxlibs-clean - Clean ccnxlibs files and libs"
+ @echo "sb-forwarder-clean - Clean sb-forwarder (metis) files and libs"
+ @echo "libicnet-clean - Clean libicnet files and libs"
+ @echo "libdash-clean - Clean libdash files and libs"
+ @echo "all-clean - Clean all files and libs"
+ @echo "android_metis - Build metis apk for android"
+ @echo "android_metis_debug - Build metis apk for android in debug mode"
+ @echo "android_iget - Build iGet apk for android apk in debug mode"
+ @echo "android_iget_debug - Build iGet apk for android apk"
+
${DISTILLERY_STAMP}: ${REBUILD_DEPENDS}
touch $@
-debug-%: export CMAKE_BUILD_TYPE_FLAG = -DCMAKE_BUILD_TYPE=DEBUG
-debug-%: export DISTILLERY_BUILD_NAME = -debug
-debug-%:
- @${MAKE} $*
-
-%-debug: debug-% ;
-
-release-%: export CMAKE_BUILD_TYPE_FLAG = "-DCMAKE_BUILD_TYPE=RELEASE"
-release-%: export DISTILLERY_BUILD_NAME = -release
-release-%:
- @${MAKE} $*
-
-%-release: release-% ;
-
-nopants-%: export CMAKE_BUILD_TYPE_FLAG = "-DCMAKE_BUILD_TYPE=NOPANTS"
-nopants-%: export DISTILLERY_BUILD_NAME = -nopants
-nopants-%:
- @${MAKE} $*
-
-%-nopants: nopants-% ;
-
-releasedebug-%: export CMAKE_BUILD_TYPE_FLAG = "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
-releasedebug-%: export DISTILLERY_BUILD_NAME = -releasedebug
-releasedebug-%:
- @${MAKE} $*
-
-%-releasedebug: releasedebug-% ;
-
install-directories:
@mkdir -p ${DISTILLERY_INSTALL_DIR}/include
@mkdir -p ${DISTILLERY_INSTALL_DIR}/lib
@mkdir -p ${DISTILLERY_INSTALL_DIR}/bin
-Distillery.report:
- @echo '###################################'
- @echo 'Distillery report'
- @echo "#" `date "+%Y-%m-%d %H:%M:%S"`
- @echo "#" `uname -sr` "-" `uname -pm`
- @echo "#" `uname -n`
- @echo "#" PATH=${PATH}
-
- @git status
- @git log -1
- @git diff -U1
-
-report.txt:
- $(MAKE) report > report.txt
- @cat report.txt
-
-distillery.checkout.error:
- @echo
- @echo ===========================================================
- @echo
- @echo DISTILLERY ERROR: You have not checked out a repository!
- @echo Please make sure to run \"make update\" at least once
- @echo
- @echo Otherwise there is a misconfigured module,
- @echo please check the module config files at .distillery/modules
- @echo
- @echo ===========================================================
- @echo
-
-
-info:
- @echo "############ Distillery Info ##################"
- @${MAKE} env
-
-
-# env produces shell interpretable output. It is read by some scripts.
-# DO NOT ALTER THE FORMAT
-env:
- @echo DISTILLERY_ROOT_DIR=${DISTILLERY_ROOT_DIR}
- @echo DISTILLERY_SOURCE_DIR=${DISTILLERY_SOURCE_DIR}
- @echo DISTILLERY_BUILD_DIR=${DISTILLERY_BUILD_DIR}
- @echo DISTILLERY_DEFAULT_CONFIG=${DISTILLERY_DEFAULT_CONFIG}
- @echo DISTILLERY_LOCAL_CONFIG=${DISTILLERY_LOCAL_CONFIG}
- @echo DISTILLERY_USER_CONFIG=${DISTILLERY_USER_CONFIG}
- @echo DISTILLERY_MODULES_DIR=${DISTILLERY_MODULES_DIR}
- @echo DISTILLERY_LOCAL_MODULES_DIR=${DISTILLERY_LOCAL_MODULES_DIR}
- @echo DISTILLERY_USER_MODULES_DIR=${DISTILLERY_USER_MODULES_DIR}
- @echo DISTILLERY_INSTALL_DIR=${DISTILLERY_INSTALL_DIR}
- @echo DISTILLERY_DEPENDENCIES_DIR=${DISTILLERY_DEPENDENCIES_DIR}
- @echo DISTILLERY_EXTERN_DIR=${DISTILLERY_EXTERN_DIR}
- @echo DISTILLERY_TOOLS_DIR=${DISTILLERY_TOOLS_DIR}
- @echo DISTILLERY_GITHUB_URL=${DISTILLERY_GITHUB_URL}
- @echo DISTILLERY_GITHUB_URL_USER=${DISTILLERY_GITHUB_URL_USER}
- @echo DISTILLERY_GITHUB_UPSTREAM_URL=${DISTILLERY_GITHUB_UPSTREAM_URL}
- @echo CCNX_DEPENDENCIES=${CCNX_DEPENDENCIES}
- @echo LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
- @echo LD_RUN_PATH=${LD_RUN_PATH}
- @echo CCNX_HOME=${CCNX_HOME}
- @echo PATH=${PATH}
.PHONY: dependencies
diff --git a/README.md b/README.md
index e0c87cf0..c60b1d4d 100644
--- a/README.md
+++ b/README.md
@@ -18,9 +18,24 @@ Android SDK
This is the CCNx Distillery software distribution for Android. It is in charge of pulling
together all the necessary modules to build a full CCNx software suite for Android.
+## Dependencies ##
-## Quick Start ##
+Install tools to build libcurl
+
+If Ubuntu:
+
+```
+sudo apt-get automake libconf libtool
+```
+
+If Max Os X
+```
+brew install automake libconf libtool
+```
+
+
+## Quick Start ##
Clone this distro
@@ -96,14 +111,32 @@ execute. You will basically want to download all the sources and compile.
Here's a short summary:
-- `make init_depend` - Compile the CCNx dependencies each module in sequence
-- `make all` - Compile all the software
-- `make distclean` - Delete build directory (but not built executables)
-- `make clobber` - Delete build directory and install directories. WARNING - If you configure this to install on a system directory this may delete system files!
-- `make android_metis` - Compile the Metis for Android
-- `make android_metis_debug` - Compile the Metis for Android in debug mode
-- `make android_iget` - Compile the Metis for Android
-- `make android_iget_debug` - Compile the Metis for Android in debug mode
+- `make update` - git pull the different modules to the head of master"
+- `make all` - Download sdk, ndk and dependencies, configure, compile and install all software in DISTILLERY_INSTALL_DIR"
+- `make init_depend` - Download sdk, ndk and dependencies, compile and install all dependencies in DISTILLERY_INSTALL"
+- `make install-all` - Configure, compile and install all software in DISTILLERY_INSTALL_DIR"
+- `curl-clean` - Clean curl files and libs"
+- `boost-clean` - Clean boost files and libs"
+- `openssl-clean` - Clean opennssl files and libs"
+- `crystax-clean` - Clean crystax files and libs"
+- `event-clean` - Clean libevent files and libs"
+- `crystaxndk-clean` - Clean crystax ndk files"
+- `xml2-clean` - Clean libxml2 files and libs"
+- `dependencies-clean` - Clean all dependencies files and libs"
+- `sdk-clean` - Clean sdk files"
+- `ndk-clean` - Clean ndk files"
+- `cmake-clean` - Clean cmake files"
+- `androidsdk-clean` - Clean sdk, ndk and cmake files"
+- `cframework-clean` - Clean cframework (libparc and longbow) files and libs"
+- `ccnxlibs-clean` - Clean ccnxlibs files and libs"
+- `sb-forwarder-clean` - Clean sb-forwarder (metis) files and libs"
+- `libicnet-clean` - Clean libicnet files and libs"
+- `libdash-clean` - Clean libdash files and libs"
+- `all-clean` - Clean all files and libs"
+- `android_metis` - Build metis apk for android"
+- `android_metis_debug` - Build metis apk for android in debug mode"
+- `android_iget` - Build iGet apk for android apk in debug mode"
+- `android_iget_debug` - Build iGet apk for android apk"
## Configuration ##
diff --git a/ccnxandroidmetis/ccnxsupportlibrary/src/main/jni/ccnxsupportlibrary/Metis_wrap.c b/ccnxandroidmetis/ccnxsupportlibrary/src/main/jni/ccnxsupportlibrary/Metis_wrap.c
index 2febb40f..c23d48aa 100644
--- a/ccnxandroidmetis/ccnxsupportlibrary/src/main/jni/ccnxsupportlibrary/Metis_wrap.c
+++ b/ccnxandroidmetis/ccnxsupportlibrary/src/main/jni/ccnxsupportlibrary/Metis_wrap.c
@@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <getopt.h>
@@ -92,21 +92,14 @@ JNIEXPORT void JNICALL Java_com_metis_ccnx_ccnxsupportlibrary_Metis_start
metisConfiguration_SetObjectStoreSize(configuration, 0);
metisConfiguration_StartCLI(configuration, 2001);
if (path != NULL) {
- __android_log_print(ANDROID_LOG_DEBUG, "Metis Wrap","qui");
const char *configFileName = (*env)->GetStringUTFChars(env, path, 0);
- __android_log_print(ANDROID_LOG_DEBUG, "Metis Wrap", "configuration file %s", configFileName);
metisForwarder_SetupFromConfigFile(metis, configFileName);
- __android_log_print(ANDROID_LOG_DEBUG, "Metis Wrap","config from file");
} else {
- __android_log_print(ANDROID_LOG_DEBUG, "Metis Wrap","qua");
metisForwarder_SetupAllListeners(metis, PORT_NUMBER, NULL);
}
MetisDispatcher *dispatcher = metisForwarder_GetDispatcher(metis);
- __android_log_print(ANDROID_LOG_DEBUG, "Metis Wrap","dispatcher");
_isRunning = true;
- __android_log_print(ANDROID_LOG_DEBUG, "Metis Wrap","true");
metisDispatcher_Run(dispatcher);
- __android_log_print(ANDROID_LOG_DEBUG, "Metis Wrap","run");
}
}
@@ -117,6 +110,9 @@ JNIEXPORT void JNICALL Java_com_metis_ccnx_ccnxsupportlibrary_Metis_stop
if(_isRunning) {
__android_log_print(ANDROID_LOG_DEBUG, "Metis Wrap", "%s", "stopping metis...");
metisForwarder_Destroy(&metis);
+ metisDispatcher_Stop(metisForwarder_GetDispatcher(metis));
+ sleep(1);
+ metisForwarder_Destroy(&metis);
_isRunning = false;
}
}
diff --git a/config/modules/000-gitModule.mk b/config/modules/000-gitModule.mk
index af500a19..8df30049 100644
--- a/config/modules/000-gitModule.mk
+++ b/config/modules/000-gitModule.mk
@@ -73,13 +73,6 @@ $1.sync: ${DISTILLERY_ROOT_DIR}/tools/bin/syncOriginMasterWithCCNXUpstream
@echo $1
@cd ${$1_SOURCE_DIR}; ${DISTILLERY_ROOT_DIR}/tools/bin/syncOriginMasterWithCCNXUpstream
-update: $1.update
-
-$1.update: ${$1_GIT_CONFIG}
- @echo "-------------------------------------------------------------------"
- @echo "- Updating ${$1_SOURCE_DIR}"
- @cd ${$1_SOURCE_DIR} && git fetch --all && git pull
- @echo
${$1_GIT_CONFIG}: tools/bin/gitCloneOneOf tools/bin/gitAddUpstream
@tools/bin/gitCloneOneOf $1 ${$1_SOURCE_DIR} ${$1_GIT_REPOSITORY} ${$1_GIT_UPSTREAM_REPOSITORY}
diff --git a/external/libxml2_files/config.h b/external/libxml2_files/config.h
new file mode 100644
index 00000000..bc910aee
--- /dev/null
+++ b/external/libxml2_files/config.h
@@ -0,0 +1,333 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Type cast for the gethostbyname() argument */
+#define GETHOSTBYNAME_ARG_CAST /**/
+
+/* 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. */
+/* #undef HAVE_FINITE */
+
+/* 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. */
+/* #undef HAVE_FTIME */
+
+/* Define if getaddrinfo is there */
+#define 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 `isascii' function. */
+#define HAVE_ISASCII 1
+
+/* 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 */
+#define HAVE_LIBZ 1
+
+/* 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. */
+#define HAVE_MALLOC_H 1
+
+/* 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 `mmap' function. */
+#define HAVE_MMAP 1
+
+/* Define to 1 if you have the `munmap' function. */
+#define HAVE_MUNMAP 1
+
+/* mmap() is no good without munmap() */
+#if defined(HAVE_MMAP) && !defined(HAVE_MUNMAP)
+# undef /**/ HAVE_MMAP
+#endif
+
+/* 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 `putenv' function. */
+#define HAVE_PUTENV 1
+
+/* Define to 1 if you have the `rand' function. */
+#define HAVE_RAND 1
+
+/* Define to 1 if you have the `rand_r' function. */
+#define HAVE_RAND_R 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. */
+/* #undef HAVE_SYS_TIMEB_H */
+
+/* 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. */
+#define HAVE_ZLIB_H 1
+
+/* 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 where 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 ""
+
+/* Type cast for the send() function 2nd arg */
+#define SEND_ARG2_CAST /**/
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Support for IPv6 */
+#define SUPPORT_IP6 /**/
+
+/* Define if va_list is an array type */
+/* #undef VA_LIST_IS_ARRAY */
+
+/* Version number of package */
+#define VERSION "2.9.4"
+
+/* Determine what socket length (socklen_t) data type is */
+#define XML_SOCKLEN_T socklen_t
+
+/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+ #define below would cause a syntax error. */
+/* #undef _UINT32_T */
+
+/* Using the Win32 Socket implementation */
+/* #undef _WINSOCKAPI_ */
+
+/* ss_family is not defined here, use __ss_family instead */
+/* #undef ss_family */
+
+/* Define to the type of an unsigned integer type of width exactly 32 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef uint32_t */
diff --git a/external/libxml2_files/xmlversion.h b/external/libxml2_files/xmlversion.h
new file mode 100644
index 00000000..abf8d708
--- /dev/null
+++ b/external/libxml2_files/xmlversion.h
@@ -0,0 +1,489 @@
+/*
+ * 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.9.4"
+
+/**
+ * LIBXML_VERSION:
+ *
+ * the version number: 1.2.3 value is 10203
+ */
+#define LIBXML_VERSION 20904
+
+/**
+ * LIBXML_VERSION_STRING:
+ *
+ * the version number string, 1.2.3 value is "10203"
+ */
+#define LIBXML_VERSION_STRING "20904"
+
+/**
+ * LIBXML_VERSION_EXTRA:
+ *
+ * extra version information, used to show a CVS compilation
+ */
+#define LIBXML_VERSION_EXTRA "-GITv2.9.4-12-ge905f08"
+
+/**
+ * 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(20904);
+
+#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 0
+#if defined(_REENTRANT) || defined(__MT__) || \
+ (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L))
+#define LIBXML_THREAD_ENABLED
+#endif
+#endif
+
+/**
+ * LIBXML_THREAD_ALLOC_ENABLED:
+ *
+ * Whether the allocation hooks are per-thread
+ */
+#if 0
+#define LIBXML_THREAD_ALLOC_ENABLED
+#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
+# if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
+# define ATTRIBUTE_UNUSED __attribute__((unused))
+# else
+# define ATTRIBUTE_UNUSED
+# endif
+#endif
+
+/**
+ * LIBXML_ATTR_ALLOC_SIZE:
+ *
+ * Macro used to indicate to GCC this is an allocator function
+ */
+
+#ifndef LIBXML_ATTR_ALLOC_SIZE
+# if (!defined(__clang__) && ((__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/scripts/init.sh b/scripts/init.sh
index 1d547cd8..78a0b430 100755
--- a/scripts/init.sh
+++ b/scripts/init.sh
@@ -15,6 +15,8 @@
#!/bin/bash
+set -e
+
ABI=$1
INSTALLATION_DIR=$2
OS=`echo $OS | tr '[:upper:]' '[:lower:]'`
@@ -131,7 +133,7 @@ if [ ! -d ${INSTALLATION_DIR}/include/boost ]; then
fi
echo "Copy libcrystax in workspace"
-cp -fv crystax-ndk-10.3.2/sources/crystax/libs/${ABI}/libcrystax.* ${INSTALLATION_DIR}/lib/
+cp -n crystax-ndk-10.3.2/sources/crystax/libs/${ABI}/libcrystax.* ${INSTALLATION_DIR}/lib/
echo "Create libevent"
@@ -178,9 +180,13 @@ if [ ! -d ${INSTALLATION_DIR}/include/libxml ]; then
git clone git://git.gnome.org/libxml2
fi
cd libxml2
-
+ mkdir -p ../libxml2_android/jni/libxml2/include/libxml
find . -maxdepth 1 -name "*.[c|h]" -exec cp {} ../libxml2_android/jni/libxml2/ \;
- cp -rf include/* ../libxml2_android/jni/libxml2/include/
+ cp -rf include/libxml ../libxml2_android/jni/libxml2/include/
+ cp -rf include/win32config.h ../libxml2_android/jni/libxml2/include/
+ cp -rf include/wsockcompat.h ../libxml2_android/jni/libxml2/include/
+ cp -rf ../libxml2_files/config.h ../libxml2_android/jni/
+ cp -rf ../libxml2_files/xmlversion.h ../libxml2_android/jni/libxml2/include/libxml
cd ..
echo `pwd`
cd libxml2_android
diff --git a/update.sh b/scripts/update.sh
index ac1d8e9e..e169cd2f 100755
--- a/update.sh
+++ b/scripts/update.sh
@@ -14,7 +14,9 @@
##############################################################################
#!/bin/bash
-git pull
+set -e
+
+#git pull
cd src/ccnxlibs
git pull
cd ../..