Open main menu

CDOT Wiki β

Changes

Instructions for Setting Up DXR

2,340 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 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 * Get xref post-processing scripts (see [https://bugzilla.mozilla.org/show_bug.cgi?id=435814 bug 435814])** 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=325320 -O moz_types.js * Patch xpidl to generate xref info** cd ~/dxr/mozilla-central** wget https://bug435814.bugzilla.mozilla.org/attachment.cgi?id=323401 -O xpidl-xref-build.diff** cd mozilla** patch -p1 < ../xpidl-xref-build.diff** cd ..** 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