Skip to content

Instantly share code, notes, and snippets.

@theshadowx
Last active September 24, 2021 17:35
Show Gist options
  • Save theshadowx/438297ac465874a5e226 to your computer and use it in GitHub Desktop.
Save theshadowx/438297ac465874a5e226 to your computer and use it in GitHub Desktop.
Qt/Qml With Chrome Native Client (NaCl)
#!/bin/bash
set -e
# Install NaCl
wget http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip
unzip nacl_sdk.zip
rm nacl_sdk.zip
nacl_sdk/naclsdk list
# get the latest stable bender
nacl_sdk/naclsdk install pepper_47
NACL_SDK_ROOT=$(pwd)/$(find ./nacl_sdk -maxdepth 1 -type d -name "pepper*")
echo "export NACL_SDK_ROOT=$NACL_SDK_ROOT">> ~/.bashrc
source ~/.bashrc
# Checkout Qt 5.6.0
git clone git://code.qt.io/qt/qt5.git Qt5.6
cd Qt5.6
git checkout 5.6
perl init-repository
git checkout 5.6
cd ..
cd Qt5.6/qtbase
git checkout wip/nacl
cd ../qtdeclarative
git checkout wip/nacl
cd ../qtxmlpatterns
git apply ../../qtxmlpatterns.patch
cd ../..
mkdir QtNaCl_56
cd QtNaCl_56
../Qt5.6/qtbase/nacl-configure linux_x86_newlib release 64
make module-qtbase -j6
make module-qtdeclarative -j6
make module-qtquickcontrols -j6
#running the example
# cd ../Qt5.4.2/qtdeclarative/examples/nacl
# mkdir build
# cd build
# ../../../../../QtNacl_5.4/qtbase/bin/qmake ..
# make
# ../../../../../QtNacl_5.4/qtbase/bin/nacldeployqt nacl.nexe --run
diff --git a/tools/tools.pro b/tools/tools.pro
index 92bbaca..0040747 100644
--- a/tools/tools.pro
+++ b/tools/tools.pro
@@ -1,9 +1,11 @@
TEMPLATE = subdirs
load(qfeatures)
-!android|android_app {
- SUBDIRS += xmlpatterns
- !contains(QT_DISABLED_FEATURES, xmlschema) {
- SUBDIRS += xmlpatternsvalidator
+!nacl {
+ !android|android_app {
+ SUBDIRS += xmlpatterns
+ !contains(QT_DISABLED_FEATURES, xmlschema) {
+ SUBDIRS += xmlpatternsvalidator
+ }
}
}
diff --git a/tools/xmlpatterns/xmlpatterns.pro b/tools/xmlpatterns/xmlpatterns.pro
index 0f1ee4f..1172883 100644
--- a/tools/xmlpatterns/xmlpatterns.pro
+++ b/tools/xmlpatterns/xmlpatterns.pro
@@ -14,4 +14,4 @@ HEADERS = main.h \
load(qt_tool)
# with c++11 / __STRICT_ANSI__ mingw.org stdio.h doesn't declare e.g. _fileno
-win32-g++*: QMAKE_CXXFLAGS_CXX11 = -std=gnu++0x
\ No newline at end of file
+win32-g++*: QMAKE_CXXFLAGS_CXX11 = -std=gnu++0x
diff --git a/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro b/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro
index af9469f..21b1b18 100644
--- a/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro
+++ b/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro
@@ -1,6 +1,8 @@
-QT = core xmlpatterns
+!nacl {
+ QT = core xmlpatterns
-SOURCES = main.cpp
-HEADERS = main.h
+ SOURCES = main.cpp
+ HEADERS = main.h
-load(qt_tool)
+ load(qt_tool)
+}
@theshadowx
Copy link
Author

Thanks, that's great !!!

@theshadowx
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment