Changes

Jump to: navigation, search

Instructions for Setting Up DXR

3,345 bytes added, 18:58, 11 February 2009
New page: This page describes the steps necessary to manually create a working DXR. The goal of this is to eventually be able to automate the process as part of an RPM for Fedora. * mkdir ~/dxr * ...
This page describes the steps necessary to manually create a working DXR. The goal of this is to eventually be able to automate the process as part of an RPM for Fedora.

* mkdir ~/dxr
* mkdir ~/dxr/tools

* Setup a working Mozilla build environment:
** su -c "yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development'"
** su -c "yum install mercurial autoconf213"

* Setup a working GCC+plugins build environment
** su -c "yum install mpfr-devel"

* Get Mozilla source code (needed for indexing, but also for SpiderMonkey)
** mkdir ~/dxr/mozilla-central
** cd ~/dxr/mozilla-central
** hg clone http://hg.mozilla.org/mozilla-central/ mozilla

* [https://developer.mozilla.org/en/SpiderMonkey_Build_Documentation Build SpiderMonkey]
** cd ~/dxr/tools
** link or copy js/ from the mozilla-central tree (cp -R ~/dxr/mozilla-central/mozilla/js/ ./js)
** cd ~/dxr/tools/js/src
** autoconf-2.13
** mkdir build-release
** cd build-release
** ../configure --prefix=~/dxr/tools/SpiderMonkey
** make
** cd ..

* [https://developer.mozilla.org/en/Dehydra_GCC#Building_GCC_with_plugin_support_on_Linux Build GCC 4.3.0 with Plugin Support]
** mkdir ~/dxr/tools/gcc-dehydra
** cd ~/dxr/tools/gcc-dehydra
** Obtain GCC 4.3 sources - wget ftp://ftp.nluug.nl/mirror/languages/gcc/releases/gcc-4.3.0/gcc-4.3.0.tar.bz2
** tar jxvf gcc-4.3.0.tar.bz2
** cd gcc-4.3.0/
** hg init .
** hg clone http://hg.mozilla.org/users/tglek_mozilla.com/gcc-moz-plugin-mq .hg/patches
** (for file in `cat .hg/patches/series`; do cat .hg/patches/$file; done) |patch -p1
** cd ..
** mkdir gcc-build
** cd gcc-build
** build for proper arch:
*** (32 bit) ../gcc-4.3.0/configure --without-libstdcxx --enable-checking --disable-bootstrap CFLAGS="-g3 -O0" --enable-languages=c,c++ --enable-__cxa_atexit --prefix=$PWD/../installed
*** (x86_64) ../gcc-4.3.0/configure --without-libstdcxx --enable-checking --disable-bootstrap CFLAGS="-g3 -O0 -m64" --enable-languages=c,c++ --disable-multilib --enable-__cxa_atexit --prefix=$PWD/../installed
** make
** make install
** cd .. (note: ./installed now contains the built gcc)

* [https://developer.mozilla.org/en/Dehydra_GCC#Building_Dehydra Build Dehydra]
** hg clone http://hg.mozilla.org/users/tglek_mozilla.com/dehydra-gcc/
** cd dehydra-gcc
** ./configure --js-libs=/home/dave/dxr/tools/SpiderMonkey/lib --js-headers=/home/dave/dxr/tools/SpiderMonkey/include --js-name=mozjs
** make

NOTE: running |make check| causes a known failure that can be ignored for now:

[dave@Germany dehydra-gcc]$ make check
make -C test check
make[1]: Entering directory `/home/dave/dxr/tools/gcc-dehydra/dehydra-gcc/test'
python unit_test_harness.py dehydra "/home/dave/dxr/tools/gcc-dehydra/gcc-build/gcc/cc1plus -quiet -O1 -ftest-coverage -fplugin=../gcc_%s.so -o /dev/null -fplugin-arg=%s %s"
...x..................................
Test Failure:
Test command: /home/dave/dxr/tools/gcc-dehydra/gcc-build/gcc/cc1plus -quiet -O1 -ftest-coverage -fplugin=../gcc_dehydra.so -o /dev/null -fplugin-arg=test_numinfo.js numinfo.cc
Failure msg: Expected 'OK' output; got 'ERR TestCase Error: 0ul != 0u'

Unit Test Suite Summary:
37 passed
1 failed
0 error(s)
make[1]: *** [check_dehydra] Error 1
make[1]: Leaving directory `/home/dave/dxr/tools/gcc-dehydra/dehydra-gcc/test'
make: *** [check] Error 2

Navigation menu