Skip to content

Commit

Permalink
Updates to install instructions and Makefile.
Browse files Browse the repository at this point in the history
Related to #128 and installing on newer systems.
Also includes some housekeeping from b2e1746.
  • Loading branch information
BenSpencer committed Jan 7, 2016
1 parent ec800b7 commit df90b9c
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 27 deletions.
38 changes: 23 additions & 15 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@

The following instructions assumes you are using a (64 bit) Linux-based system.
Artemis have been successfully installed on Ubuntu 12.10 and Fedora 18.
Artemis has been successfully installed on Ubuntu 14.04 and Fedora 18.

0. Fetch all software dependencies using

make fetch-[apt|yum] (requires root privileges)

Artemis requires Qt version 4.8.x. If a suitable version of Qt is not
provided by your distribution, then you can use the following command
to download and compile a version compatible with Artemis.

Artemis requires Qt version 4.8.x.
Under Ubuntu the correct packages should be included by ``make fetch-apt``.

If a suitable version of Qt is not provided by your distribution, then you
can use the following command to download and compile a version compatible
with Artemis.

make fetch-qt

This will place a version of Qt 4.8 in the `qt/` folder.

You can check your Qt version using the command ``qmake --version``
(if qmake is missing then Qt is not installed). Note, you need to
set the QTDIR and PATH variables described in step 1.
(if qmake is missing then Qt is not installed).
Note, you need to set the QTDIR and PATH variables described in step 1.

If Qt 5.x is the default version, it can be changed with the `qtchooser`
tool or by installing the Ubuntu package `qt4-default`.

1. Configure your environment variables by running

Expand All @@ -31,17 +37,19 @@ Artemis have been successfully installed on Ubuntu 12.10 and Fedora 18.

`<qt_path>` is /usr/share/qt4 on Ubuntu systems and
/usr/lib64/qt4/bin on Fedora.

2. Build Artemis

make all
make all

3. Configure your path to include Artemis executable

export PATH=$ARTEMISDIR/artemis-code/dist:$PATH

4. Enable completion in bash by running

cp artemis-bash-complete /etc/bash_completion.d/artemis

as root.

cp artemis-code/scripts/artemis-bash-complete /etc/bash_completion.d/artemis

as root.


25 changes: 13 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@ ARCH := $(shell uname -m)

help:
@echo "Targets:"
@echo " all - Build webkit, artemis, and the constraint solver"
@echo " all - Build webkit, artemis, and the constraint solver"
@echo " all-debug - Build webkit (debug), artemis, and the constraint solver"
@echo " all-clean - Cleans WebKit (debug and normal) and Artemis"
@echo ""
@echo " webkit-minimal[-debug] - Build a minimal WebKit Qt port [with debug info]"
@echo " webkit-clean - Clean WebKit files"
@echo " webkit-clean-debug - Clean WebKit debug files"
@echo " webkit-minimal[-debug] - Build a minimal WebKit Qt port [with debug info]"
@echo " webkit-clean - Clean WebKit files"
@echo " webkit-clean-debug - Clean WebKit debug files"
@echo ""
@echo " artemis - Build Artemis"
@echo " artemis-clean - Clean artemis"
@echo " artemis-format-code - Format artemis code"
@echo " artemis - Build Artemis"
@echo " artemis-clean - Clean artemis"
@echo " artemis-format-code - Format artemis code"
@echo ""
@echo " constraintsolver - Build the constraint solver"
@echo ""
@echo " fetch-[apt|yum] - Fetch dependencies from [apt|yum]"
@echo " fetch-qt - Fetch, configure and makes Qt"
@echo " fetch-[apt|yum] - Fetch dependencies from [apt|yum]"
@echo " fetch-qt - Fetch, configure and makes Qt 4.8.x"

CORES = `grep -c ^processor /proc/cpuinfo`
WEBKIT_BUILD_SCRIPT = ./WebKit/Tools/Scripts/build-webkit --qt --qmakearg="DEFINES+=ARTEMIS=1" --makearg="-j$(CORES)" --qmakearg="CC=gcc-4.7" --qmakearg="CXX=g++-4.7" --qmakearg="QMAKE_CXXFLAGS+=\" -std=c++11 \"" --no-webkit2 --inspector --javascript-debugger
Expand All @@ -35,7 +35,7 @@ all-clean: webkit-clean webkit-clean-debug artemis-clean
webkit-jscore-test:
${WEBKIT_TEST_SCRIPT}

webkit-minimal: check check-env check-sys
webkit-minimal: check check-env check-sys
@if test -d "./WebKit/WebKitBuild/Debug"; then \
rm -f ./WebKit/WebKitBuild/Release; \
rm -rf ./WebKit/WebKitBuild/Debug; \
Expand Down Expand Up @@ -70,7 +70,8 @@ artemis-format-code:
cd artemis-code && astyle --style=kr --indent=spaces --break-blocks --indent-labels --pad-header --unpad-paren --break-closing-brackets --add-one-line-brackets --min-conditional-indent=0 --pad-oper --align-pointer=type --recursive "./src/*.cpp" "./src/*.h"

fetch-qt:
git clone git://gitorious.org/qt/qt.git && cd qt && echo -e 'o\nyes\n' | ./configure -prefix `pwd` -no-webkit && make
git clone git://code.qt.io/qt/qt.git && cd qt && echo -e 'o\nyes\n' | ./configure -prefix `pwd` -no-webkit && make
# Previously used git://gitorious.org/qt/qt.git which is now (temporarily?) unavailable.

constraintsolver:
cd ${CONTRIB_Z3}; autoconf
Expand Down Expand Up @@ -104,7 +105,7 @@ ifneq ($(ARCH),x86_64)
@exit 1
endif

DEPENDENCIES = g++ flex bison gperf ruby cmake lemon re2c libxext-dev libfontconfig-dev libxrender-dev libsqlite3-dev php5 php5-sqlite sqlite3 qt4-qmake libqt4-core autoconf dos2unix python-nose graphviz libqt4-dev libqt4-core libqt4-gui libqt4-opengl libqt4-opengl-dev xdot
DEPENDENCIES = g++ g++-4.7 flex bison gperf ruby cmake lemon re2c libxext-dev libfontconfig-dev libxrender-dev libsqlite3-dev php5 php5-sqlite sqlite3 qt4-qmake libqt4-core autoconf dos2unix python-nose graphviz libqt4-dev libqt4-core libqt4-gui libqt4-opengl libqt4-opengl-dev xdot

YUM_DEPENDENCIES = gcc-c++ flex bison gperf ruby cmake lemon re2c fontconfig-devel libXext-devel patch sqlite-devel php php-devel perl-Tk perl-Digest-MD5 autoconf dos2unix python-nose qt qt-devel glibc-static libstdc++-static python-xdot

Expand Down
33 changes: 33 additions & 0 deletions artemis-code/scripts/artemis-bash-complete
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

# file: artemisf
# artemis parameter-completion

_artemis()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts=`artemis --option-values`
case "${prev}" in
--*)
local mmopts=`artemis --option-values=${prev}`
if [ -n "${mmopts}" ]
then
COMPREPLY=( $(compgen -W "${mmopts}" -- ${cur}) )
return 0
fi
;;
*)
;;
esac

if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi

}

complete -F _artemis artemis

0 comments on commit df90b9c

Please sign in to comment.