17 Sep

scons

I installed KleanSweep earlier. It was the first time I came across the SCons installation script in action. There has been some talk about SCons recently on Planet KDE recently, as KDE is switching from the standard Make/Autoconf/whatever mixture to the simpler one-package SCons.

I’m impressed! Not only was the build quicker, but it gave me only the relevant information that I was interested in. Usually, a ./configure && make takes forever, and dumps screen after screen of mumbo-jumbo to the monitor, but here is the total output of the installation:

[kae@kae kleansweep-0.1.5]$ ./scons
scons: Reading SConscript files ...
Checking for kde-config           :  kde-config was found as /home/kae/kde3.5-alpha1/bin/kde-config
Checking for kde version          :  3.4.90
Checking for the qt library       :  qt is in /usr/local/qt-3.3.6
Checking for uic                  :  uic was found as /usr/local/qt-3.3.6/bin/uic
Checking for moc                  :  moc was found as /usr/local/qt-3.3.6/bin/moc
Checking for the qt includes      :  ok /usr/local/qt-3.3.6/include/
Checking for the kde includes     :  ok /home/kae/kde3.5-alpha1/include/
scons: done reading SConscript files.
scons: Building targets ...
cd doc/en && meinproc --check --cache index.cache.bz2 index.docbook
/usr/local/qt-3.3.6/bin/moc -o src/filelistview.moc src/filelistview.h
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/filelistview.o src/filelistview.cpp
/usr/local/qt-3.3.6/bin/moc -o src/filelistviewtarget.moc src/filelistviewtarget.h
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/filelistviewtarget.o src/filelistviewtarget.cpp
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/fileviewitem.o src/fileviewitem.cpp
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/logwidget.o src/logwidget.cpp
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/main.o src/main.cpp
/usr/local/qt-3.3.6/bin/moc -o src/sweeperwizard.moc src/sweeperwizard.h
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/sweeperwizard.o src/sweeperwizard.cpp
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/sweepfileinfo.o src/sweepfileinfo.cpp
/usr/local/qt-3.3.6/bin/moc -o src/sweepscanner.moc src/sweepscanner.h
g++ -I/home/kae/kde3.5-alpha1/include/ -I/usr/local/qt-3.3.6/include/ -O2 -DNDEBUG -DNO_DEBUG -DQT_NO_TRANSLATION -I. -Isrc -c -o src/sweepscanner.o src/sweepscanner.cpp
g++ -Wl,--rpath=/usr/local/qt-3.3.6/lib -Wl,--rpath=/home/kae/kde3.5-alpha1/lib/kde3 -Wl,--rpath=/home/kae/kde3.5-alpha1/lib -o src/kleansweep src/filelistview.o src/filelistviewtarget.o src/fileviewitem.o src/logwidget.o src/main.o src/sweeperwizard.o src/sweepfileinfo.o src/sweepscanner.o -L/home/kae/kde3.5-alpha1/lib -L/usr/local/qt-3.3.6/lib -lqt-mt -lkdeui -lkio -lkdecore
sed 's/\@PERL\@/#!\/usr\/bin\/perl/' < src/kleansweep-helper.in > src/kleansweep-helper
scons: done building targets.
[kae@kae kleansweep-0.1.5]$ ./scons install
scons: Reading SConscript files ...
mkdir -p /home/kae/kde3.5-alpha1/share/doc/HTML/en/KleanSweep && cd /home/kae/kde3.5-alpha1/share/doc/HTML/en/KleanSweep && rm -f common && ln -s ../common common
scons: done reading SConscript files.
scons: Building targets ...
Install file: "src/kleansweep-helper" as "/home/kae/kde3.5-alpha1/bin/kleansweep-helper"
Chmod("/home/kae/kde3.5-alpha1/bin/kleansweep-helper", 0755)
Install file: "src/kleansweep_bar.png" as "/home/kae/kde3.5-alpha1/share/apps/kleansweep/kleansweep_bar.png"
Install file: "src/kleansweep.desktop" as "/home/kae/kde3.5-alpha1/share/applnk/System/kleansweep.desktop"
Install file: "src/kleansweep" as "/home/kae/kde3.5-alpha1/bin/kleansweep"
Chmod("/home/kae/kde3.5-alpha1/bin/kleansweep", 0755)
Install file: "icons/hi16-app-kleansweep.png" as "/home/kae/kde3.5-alpha1/share/icons/hicolor/16x16/apps/kleansweep.png"
Install file: "icons/hi32-app-kleansweep.png" as "/home/kae/kde3.5-alpha1/share/icons/hicolor/32x32/apps/kleansweep.png"
Install file: "doc/en/index.docbook" as "/home/kae/kde3.5-alpha1/share/doc/HTML/en/KleanSweep/index.docbook"
scons: done building targets.

scons: *** Dependency cycle: doc/en/index.cache.bz2 -> doc/en/index.cache.bz2 -> /home/kae/kde3.5-alpha1/share/doc/HTML/en/KleanSweep/index.cache.bz2 -> install
File "/home/kae/compile/kleansweep-0.1.5/scons-local-0.96.1/SCons/Taskmaster.py", line 145, in _find_next_ready_node

the only thing I have a problem with is that the last line, with the ‘***’, is incomprehensible to me – it looks like a warning, but I don’t know what it means.