Difference between revisions of "Isis-project"
Scoutcamper (talk | contribs)  | 
				Scoutcamper (talk | contribs)   | 
				||
| Line 25: | Line 25: | ||
==QT4==  | ==QT4==  | ||
| + | |||
| + | Build Qt4  | ||
| + | |||
| + | Go to workspace directory $ISIS_PROJECT and clone the qt4 git repo. Next steps are to configure and built qt4.  | ||
| + | |||
| + | <pre>  | ||
| + | cd $ISIS_PROJECT_DIR   | ||
| + | git clone https://github.com/isis-project/qt4.git   | ||
| + | cd qt4   | ||
| + | ./palm-desktop-configure && make && make install   | ||
| + | </pre>  | ||
| + | |||
| + | You should see the qt4 binaries, libraries and headers installed in STAGING_DIR directory.  | ||
| + | |||
| + | Now we need to use qt4 that is installed in $STAGING_DIR using update-alternatives script  | ||
| + | |||
| + | <pre>  | ||
| + | sudo update-alternatives --install /usr/bin/qmake qmake $QTDEST/bin/qmake-palm 50   | ||
| + | sudo update-alternatives --config qmake  | ||
| + | </pre>  | ||
| + | |||
| + | ==GT 4.8 Stock==  | ||
| + | |||
| + | Download stock Qt 4.8 from ftp://ftp.qt.nokia.com/qt/source/ Configure Qt as follows:  | ||
| + | |||
| + | <pre>  | ||
| + | cd ./qt-everywhere-opensource-src-4.8.0  | ||
| + | ./configure -qpa -opensource -no-cups -no-nis -no-exceptions -no-accessibility -no-qt3support -no-xmlpatterns -no-multimedia -no-phonon -no-phonon-backend -no-webkit -confirm-license -make 'libs tools' -opengl desktop  | ||
| + | make  | ||
| + | pushd src/plugins/platforms/xlib  | ||
| + | make  | ||
| + | popd  | ||
| + | sudo make install  | ||
| + | sudo cp plugins/platforms/libqxlib.so /usr/local/Trolltech/QtLighthouse-4.8.0/plugins/platforms/  | ||
| + | </pre>  | ||
| + | |||
| + | Make certain that the installed Qt is in your path. When running an application built with the QPA version of Qt 4.8 the command line option must be added: -platform Xlib  | ||
| + | |||
| + | ==Webkit==  | ||
| + | |||
| + | Go to workspace directory $ISIS_PROJECT and clone the webkit git repo.  | ||
| + | |||
| + | <pre>  | ||
| + | cd $ISIS_PROJECT_DIR   | ||
| + | git clone https://github.com/isis-project/WebKit.git  | ||
| + | </pre>  | ||
| + | |||
| + | Next step is to build and stage webkit libraries and headers at correct location. Save the raw Makefile from https://gist.github.com/1997887 to $ISIS_PROJECT and issue the below commands.  | ||
| + | |||
| + | **Note: Copy the Makefile in workspace root directory $ISIS_PROJECT and execute below commands from there **  | ||
| + | |||
| + | <pre>  | ||
| + | make webkit  | ||
| + | make install-webkit  | ||
| + | </pre>  | ||
| + | |||
| + | '''Note: Once most of the components are building and are ready, We will make it as a common makefile to build all components'''  | ||
| + | |||
| + | ==Isis-Test==  | ||
| + | |||
| + | This is a test browser which loads the enyo app using qt4 & qtwebkit  | ||
| + | |||
| + | <pre>  | ||
| + | cd $ISIS_PROJECT_DIR   | ||
| + | git clone https://github.com/isis-project/isis-test.git  | ||
| + | cd isis-test  | ||
| + | qmake && make  | ||
| + | ./isis-test  | ||
| + | </pre>  | ||
| + | |||
| + | ==Webkit Supplemental==  | ||
| + | |||
| + | <pre>  | ||
| + | git clone https://www.github.com/isis-project/WebKitSupplemental.git  | ||
| + | cd WebKitSupplemental  | ||
| + | make configure  | ||
| + | make  | ||
| + | make stage  | ||
| + | </pre>  | ||
| + | |||
| + | ==npapi_headers==  | ||
| + | |||
| + | <pre>  | ||
| + | git clone https://github.com/isis-project/npapi-headers.git  | ||
| + | mkdir $ISIS_PROJECT_DIR/isis_headers  | ||
| + | export STAGING_DIR=$ISIS_PROJECT_DIR/isis_headers  | ||
| + | cd npapi_headers  | ||
| + | make  | ||
| + | </pre>  | ||
| + | |||
| + | ==Adapter Base==  | ||
| + | |||
| + | AdapterBase depends on npapi_headers. So make sure you have compiled npapi_headers as described in the previous section. Here are the steps to build component AdapterBase.  | ||
| + | |||
| + | Make sure the variable $STAGING_DIR is set as shown for npapi_headers  | ||
| + | |||
| + | <pre>  | ||
| + | git clone https://github.com/isis-project/AdapterBase.git  | ||
| + | cd AdapterBase  | ||
| + | make -f Makefile.Ubuntu  | ||
| + | </pre>  | ||
| + | |||
| + | make will create object files in the folder debug-x86 in the folder AdapterBase It will refer to npapi_headers from isis_headers if npapi_headers was compiled correctly.  | ||
| + | |||
| + | ==pbnjson==  | ||
| + | |||
| + | There are a few manual steps which will be automated in a final build script.  | ||
| + | |||
| + | <pre>  | ||
| + | git clone https://www.github.com/isis-project/pbnjson.git  | ||
| + | </pre>  | ||
| + | |||
| + | pbnjson depends on yajl which needs to be built first:  | ||
| + | |||
| + | <pre>  | ||
| + | cd pbnjson/src/deps/yajl/  | ||
| + | cmake . -DCMAKE_INSTALL_PREFIX=$STAGING_DIR  | ||
| + | make  | ||
| + | make install  | ||
| + | </pre>  | ||
| + | |||
| + | Now pbnjson can be built:  | ||
| + | |||
| + | <pre>  | ||
| + | cd ../../  | ||
| + | cmake  . -DCMAKE_INSTALL_PREFIX=$STAGING_DIR  | ||
| + | make  | ||
| + | make install  | ||
| + | </pre>  | ||
| + | |||
| + | libraries libpbnjson_c.so, libpbnjson_c_s.a and libpbnjson_cpp.so will be created in folders pjson_c and libpbnjson_cxx folders respectively.  | ||
| + | |||
| + | ==Browser Server==  | ||
| + | |||
| + | <pre>  | ||
| + | git clone https://www.github.com/isis-project/BrowserServer.git  | ||
| + | cd BrowserServer  | ||
| + | git checkout -b ubuntu_local_branch --track origin/ubuntu  | ||
| + | cp $ISIS_PROJECT_DIR/staging/bin/moc-palm $ISIS_PROJECT_DIR/staging/bin/moc  | ||
| + | make -f Makefile.Ubuntu  | ||
| + | make -f Makefile.Ubuntu stage  | ||
| + | make -f Makefile.Ubuntu install  | ||
| + | $STAGING_DIR/usr/bin/BrowserServer   | ||
| + | </pre>  | ||
Revision as of 18:42, 21 March 2012
How To Build
Prereqs:
You MUST have Ubuntu 11.04 Desktop 32 bit.
Add the following lines to your .bashrc
export ISIS_PROJECT_DIR="$HOME/isis-project" export STAGING_DIR="$ISIS_PROJECT_DIR/staging/" export QTDIR="$ISIS_PROJECT_DIR/qt4" export QTDEST="$STAGING_DIR" export INSTALL_DIR="$STAGING_DIR" export MY_YAJL_INCLUDE_PATH="$ISIS_PROJECT_DIR/pbnjson/src/deps/yajl/yajl-1.0.7/include" export MY_YAJL_LIB_PATH="$ISIS_PROJECT_DIR/pbnjson/src/deps/yajl/yajl-1.0.7/lib" export LD_LIBRARY_PATH=$STAGING_DIR/lib:/usr/lib:/usr/local/lib
then type the following line
source ~/.bashrc
QT4
Build Qt4
Go to workspace directory $ISIS_PROJECT and clone the qt4 git repo. Next steps are to configure and built qt4.
cd $ISIS_PROJECT_DIR git clone https://github.com/isis-project/qt4.git cd qt4 ./palm-desktop-configure && make && make install
You should see the qt4 binaries, libraries and headers installed in STAGING_DIR directory.
Now we need to use qt4 that is installed in $STAGING_DIR using update-alternatives script
sudo update-alternatives --install /usr/bin/qmake qmake $QTDEST/bin/qmake-palm 50 sudo update-alternatives --config qmake
GT 4.8 Stock
Download stock Qt 4.8 from ftp://ftp.qt.nokia.com/qt/source/ Configure Qt as follows:
cd ./qt-everywhere-opensource-src-4.8.0 ./configure -qpa -opensource -no-cups -no-nis -no-exceptions -no-accessibility -no-qt3support -no-xmlpatterns -no-multimedia -no-phonon -no-phonon-backend -no-webkit -confirm-license -make 'libs tools' -opengl desktop make pushd src/plugins/platforms/xlib make popd sudo make install sudo cp plugins/platforms/libqxlib.so /usr/local/Trolltech/QtLighthouse-4.8.0/plugins/platforms/
Make certain that the installed Qt is in your path. When running an application built with the QPA version of Qt 4.8 the command line option must be added: -platform Xlib
Webkit
Go to workspace directory $ISIS_PROJECT and clone the webkit git repo.
cd $ISIS_PROJECT_DIR git clone https://github.com/isis-project/WebKit.git
Next step is to build and stage webkit libraries and headers at correct location. Save the raw Makefile from https://gist.github.com/1997887 to $ISIS_PROJECT and issue the below commands.
- Note: Copy the Makefile in workspace root directory $ISIS_PROJECT and execute below commands from there **
 
make webkit make install-webkit
Note: Once most of the components are building and are ready, We will make it as a common makefile to build all components
Isis-Test
This is a test browser which loads the enyo app using qt4 & qtwebkit
cd $ISIS_PROJECT_DIR git clone https://github.com/isis-project/isis-test.git cd isis-test qmake && make ./isis-test
Webkit Supplemental
git clone https://www.github.com/isis-project/WebKitSupplemental.git cd WebKitSupplemental make configure make make stage
npapi_headers
git clone https://github.com/isis-project/npapi-headers.git mkdir $ISIS_PROJECT_DIR/isis_headers export STAGING_DIR=$ISIS_PROJECT_DIR/isis_headers cd npapi_headers make
Adapter Base
AdapterBase depends on npapi_headers. So make sure you have compiled npapi_headers as described in the previous section. Here are the steps to build component AdapterBase.
Make sure the variable $STAGING_DIR is set as shown for npapi_headers
git clone https://github.com/isis-project/AdapterBase.git cd AdapterBase make -f Makefile.Ubuntu
make will create object files in the folder debug-x86 in the folder AdapterBase It will refer to npapi_headers from isis_headers if npapi_headers was compiled correctly.
pbnjson
There are a few manual steps which will be automated in a final build script.
git clone https://www.github.com/isis-project/pbnjson.git
pbnjson depends on yajl which needs to be built first:
cd pbnjson/src/deps/yajl/ cmake . -DCMAKE_INSTALL_PREFIX=$STAGING_DIR make make install
Now pbnjson can be built:
cd ../../ cmake . -DCMAKE_INSTALL_PREFIX=$STAGING_DIR make make install
libraries libpbnjson_c.so, libpbnjson_c_s.a and libpbnjson_cpp.so will be created in folders pjson_c and libpbnjson_cxx folders respectively.
Browser Server
git clone https://www.github.com/isis-project/BrowserServer.git cd BrowserServer git checkout -b ubuntu_local_branch --track origin/ubuntu cp $ISIS_PROJECT_DIR/staging/bin/moc-palm $ISIS_PROJECT_DIR/staging/bin/moc make -f Makefile.Ubuntu make -f Makefile.Ubuntu stage make -f Makefile.Ubuntu install $STAGING_DIR/usr/bin/BrowserServer