[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