[Xorp-hackers] [PATCH 0/3] SConstruct fixes

Igor Maravic igorm at etf.rs
Tue Sep 27 04:29:59 PDT 2011


First patch is for fixing compiling with 
scons optimize=no

This is output without applied that patch:

igor at igor-PC:~/xorpFixes/xorp.ct/xorp$ scons optimize=no
scons: Reading SConscript files ...

...

Optimize code:     no
...

scons: done reading SConscript files.
scons: Building targets ...
scons: Configure: creating obj/i686-pc-linux-gnu/xorp_config.h
g++ -o obj/i686-pc-linux-gnu/cli/tools/cli_generic.o -c -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -DXRL_PF=120 -D_FORTIFY_SOURCE=0 -Iobj/i686-pc-linux-gnu -I. -I. cli/tools/cli_generic.cc
/home/igor/xorpFixes/xorp.ct/xorp/xrl/scripts/clnt-gen -Iobj/i686-pc-linux-gnu/xrl/interfaces/../.. --output-dir obj/i686-pc-linux-gnu/xrl/interfaces xrl/interfaces/cli_processor.xif
g++ -o obj/i686-pc-linux-gnu/xrl/interfaces/cli_processor_xif.os -c -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -fPIC -DXRL_PF=120 -D_FORTIFY_SOURCE=0 -Iobj/i686-pc-linux-gnu -I. -I. obj/i686-pc-linux-gnu/xrl/interfaces/cli_processor_xif.cc
/home/igor/xorpFixes/xorp.ct/xorp/xrl/scripts/clnt-gen -Iobj/i686-pc-linux-gnu/xrl/interfaces/../.. --output-dir obj/i686-pc-linux-gnu/xrl/interfaces xrl/interfaces/finder.xif
/home/igor/xorpFixes/xorp.ct/xorp/xrl/scripts/tgt-gen -Ixrl/interfaces -Iobj/i686-pc-linux-gnu -I. --output-dir obj/i686-pc-linux-gnu/xrl/targets xrl/targets/finder_client.tgt
                                                       /////
g++ -o obj/i686-pc-linux-gnu/libxipc/finder_client.os -c -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -fPIC -DXRL_PF=120 -D_FORTIFY_SOURCE=0 -Iobj/i686-pc-linux-gnu -I. -I. libxipc/finder_client.cc
                                                                                                                                /////
g++ -o obj/i686-pc-linux-gnu/libxipc/finder_client_observer.os -c -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -fPIC -DXRL_PF=120 -D_FORTIFY_SOURCE=0 -Iobj/i686-pc-linux-gnu -I. -I. libxipc/finder_client_observer.cc
                                                                                                                                ///////
g++ -o obj/i686-pc-linux-gnu/libxipc/finder_client_xrl_target.os -c -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -fPIC -DXRL_PF=120 -D_FORTIFY_SOURCE=0 -Iobj/i686-pc-linux-gnu -I. -I. libxipc/finder_client_xrl_target.cc

...

I added //////. As you can see there is no -O0 flag below /////. And in the code we put it in the bigodict. I marked that place with <====

...
bigodict = { 'no': '-O0', <=======
               ...
                 'yes': '-O1',
                 'full': '-O2',
                 'highest': '-O3',
                 'size': '-Os' }
...                 

>Maybe we should just add a new optimize option 'none' and change
>that inner if statement to check for none instead of 'no' 

I think that we shouldn't add option none. To me none should be same as no.

# If the user didn't override our default optimization, then
# sanitize user's CFLAGS/CXXFLAGS to not contain optimization options,
# and map to an appropriate GCC flag.

As I could see from this comment override is same as default.
This is the compiler output with applied patch

igor at igor-PC:~/xorpFixes/xorp.ct/xorp$ scons optimize=no
scons: Reading SConscript files ...

...

Optimize code:     no

...

scons: done reading SConscript files.
scons: Building targets ...
scons: Configure: creating obj/i686-pc-linux-gnu/xorp_config.h
                                                        ////
g++ -o obj/i686-pc-linux-gnu/cli/tools/cli_generic.o -c -O0 -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -DXRL_PF=120 -D_FORTIFY_SOURCE=0 -Iobj/i686-pc-linux-gnu -I. -I. cli/tools/cli_generic.cc
/home/igor/xorpFixes/xorp.ct/xorp/xrl/scripts/clnt-gen -Iobj/i686-pc-linux-gnu/xrl/interfaces/../.. --output-dir obj/i686-pc-linux-gnu/xrl/interfaces xrl/interfaces/cli_processor.xif
                                                                     ///
g++ -o obj/i686-pc-linux-gnu/xrl/interfaces/cli_processor_xif.os -c -O0 -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -fPIC -DXRL_PF=120 -D_FORTIFY_SOURCE=0 -Iobj/i686-pc-linux-gnu -I. -I. obj/i686-pc-linux-gnu/xrl/interfaces/cli_processor_xif.cc
/home/igor/xorpFixes/xorp.ct/xorp/xrl/scripts/clnt-gen -Iobj/i686-pc-linux-gnu/xrl/interfaces/../.. --output-dir obj/i686-pc-linux-gnu/xrl/interfaces xrl/interfaces/finder.xif
/home/igor/xorpFixes/xorp.ct/xorp/xrl/scripts/tgt-gen -Ixrl/interfaces -Iobj/i686-pc-linux-gnu -I. --output-dir obj/i686-pc-linux-gnu/xrl/targets xrl/targets/finder_client.tgt
                                                         ///
g++ -o obj/i686-pc-linux-gnu/libxipc/finder_client.os -c -O0 -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -fPIC -DXRL_PF=120 -D_FORTIFY_SOURCE=0 -Iobj/i686-pc-linux-gnu -I. -I. libxipc/finder_client.cc

...

Now there are -O0 flag below ////

Second patch is for removing ; behind True from SConstruct file

Third patch is for replacing /xorp/xrls folder with /xrl/targets
When I did "scons install debug_xrldb=True" rtrmngr was looking for .xrls files in folder
/xrl/targets not in folder /xorp/xrls, so I changed that.

This is the error when I run /usr/local/xorp/sbin/xorp_rtrmgr

...
[ 2011/09/26 10:54:08.836134  ERROR xorp_rtrmgr:13960 RTRMGR rtrmgr/main_rtrmgr.cc:260 run ]
Shutting down due to an init error: Error reading XRL directory /usr/local/xorp/share/xorp/xrl/targets: No such file or directory
...

Igor Maravic (3):
  SConstruct fixes
  SConstract fixes
  SConstruct fixes

 xorp/SConstruct |   36 ++++++++++++++++++------------------
 1 files changed, 18 insertions(+), 18 deletions(-)

-- 
1.7.4.1



More information about the Xorp-hackers mailing list