Open main menu

CDOT Wiki β

Changes

Instructions for Setting Up DXR

805 bytes added, 17:33, 3 April 2010
noting the READM in DXR HG should be used now and not those steps
--[[User:Jmdesp|Jmdesp]] 17:33, 3 April 2010 (EDT)
 
'''The instructions belows are outdated'''. Instead, you'd better just :
 
* hg clone http://hg.mozilla.org/webtools/dxr/ dxr
 
and then read and apply the content of the dxr/README file
It's similar to what's below here, but with newer versions of the scripts, more functionalities (callgraph!), and full steps up to putting your DXR web site online.
 
 
----
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.
** ../configure --prefix=~/dxr/tools/SpiderMonkey
** make
** cd ..make install
* [https://developer.mozilla.org/en/Dehydra_GCC#Building_GCC_with_plugin_support_on_Linux Build GCC 4.3.0 with Plugin Support]
** 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
** 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 --js-name=mozjs *** <strike>note use of --js-name=mozjs (see [https://bugzilla.mozilla.org/show_bug.cgi?id=478103 bug 478103])</strike> Pretty sure you can leave this out now.
** make
NOTE: running |'''make check| ''' causes a known failure that can be ignored for now:
[dave@Germany dehydra-gcc]$ make check
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
make: *** [check] Error 2
* Create a mozconfig to work with dehydra  . $topsrcdir/browser/config/mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-opt mk_add_options MOZ_MAKE_FLAGS=-j9 ac_add_options --enable-optimize --disable-debug ac_add_options --disable-tests # build with gcc+dehydra instead of normal g++ export CXX=$HOME/dxr/tools/gcc-dehydra/installed/bin/g++ export CXXFLAGS="-fplugin=$HOME/dxr/tools/gcc-dehydra/dehydra-gcc/gcc_dehydra.so -fplugin-arg=$HOME/dxr/mozilla-central/moz_types.js" * TODO: add Get xref post-processing steps to create xref -- scripts (see [https://bugzilla.mozilla.org/show_bug.cgi?id=435814 bug 435814] * Get xref post-processing scripts)
** mkdir ~/dxr/tools/xref-scripts
** cd ~/dxr/tools/xref-scripts
** wget https://bug435814.bugzilla.mozilla.org/attachment.cgi?id=325316 -O class_schema.sql
** wget https://bug435814.bugzilla.mozilla.org/attachment.cgi?id=325314 -O build_db.sh
** Adjust paths for build_db.sh script:
 
SOURCEROOT=$HOME/dxr/mozilla-central/mozilla
OBJDIR=${SOURCEROOT}/objdir-opt
DEHYDRAROOT=$HOME/dxr/tools/xref-scripts
DBROOT=$HOME/dxr/xref-db
DBBACKUP=${DBROOT}-old
 
** wget https://bug435814.bugzilla.mozilla.org/attachment.cgi?id=325317 -O fix_paths.pl
** wget https://bug435814.bugzilla.mozilla.org/attachment.cgi?id=325318 -O process_xref.pl
** wget https://bug435814.bugzilla.mozilla.org/attachment.cgi?id=337530 -O xpidl_xref.c
** cp xpidl_xref.c mozilla/xpcom/typelib/xpidl
 
* Create a mozconfig to work with dehydra
 
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-opt
mk_add_options MOZ_MAKE_FLAGS=-j9
ac_add_options --enable-optimize --disable-debug
ac_add_options --disable-tests
# build with gcc+dehydra instead of normal g++
export CXX=$HOME/dxr/tools/gcc-dehydra/installed/bin/g++
export CXXFLAGS="-fplugin=$HOME/dxr/tools/gcc-dehydra/dehydra-gcc/gcc_dehydra.so -fplugin-arg=$HOME/dxr/tools/xref-scripts/moz_types.js"
 
* cd ~/dxr/tools/xref-scripts
* chmod +x *.pl
* ./build_db.sh
1
edit