More minor build cleanups
[senf.git] / site_scons / senfutil.py
index 589ff45..9a4578b 100644 (file)
@@ -63,7 +63,7 @@ Special command line parameters:
 
 def SetupForSENF(env, senf_path = []):
     global senfutildir
-    senf_path.extend(('senf', '../senf', os.path.dirname(senfutildir), '/usr/local', '/usr'))
+    senf_path.extend(('senf', os.path.dirname(senfutildir), '/usr/local', '/usr'))
     tooldir = os.path.join(senfutildir, 'site_tools')
 
     env.Tool('Boost',       [ tooldir ])
@@ -132,23 +132,33 @@ def SetupForSENF(env, senf_path = []):
         if not path.startswith('/') : sconspath = '#/%s' % path
         else                        : sconspath = path
         if os.path.exists(os.path.join(path,"senf/config.hh")):
-            print "\nUsing SENF in '%s'\n" \
-                % ('/..' in sconspath and os.path.abspath(path) or sconspath)
+            if not env.GetOption('no_progress'):
+                print "\nUsing SENF in '%s'\n" \
+                    % ('/..' in sconspath and os.path.abspath(path) or sconspath)
             env.Append( LIBPATH = [ sconspath ],
                         CPPPATH = [ sconspath ],
-                        BUNDLEDIR = sconspath )
+                        BUNDLEDIR = sconspath,
+                        SENFDIR = sconspath,
+                        SENFSYSLAYOUT = False)
             try:
                 env.MergeFlags(file(os.path.join(path,"senf.conf")).read())
             except IOError:
-                print "(SENF configuration file 'senf.conf' not found, assuming non-final SENF)"
+                if not env.GetOption('no_progress'):
+                    print "(SENF configuration file 'senf.conf' not found, assuming non-final SENF)"
                 env.Append(CPPDEFINES = [ 'SENF_DEBUG' ])
             break
         elif os.path.exists(os.path.join(path,"include/senf/config.hh")):
-            print "\nUsing system SENF in '%s/'\n" % sconspath
-            env.Append(BUNDLEDIR = os.path.join(sconspath,"lib/senf"))
+            if not env.GetOption('no_progress'):
+                print "\nUsing system SENF in '%s/'\n" % sconspath
+            env.Append(BUNDLEDIR = os.path.join(sconspath,"lib/senf"),
+                       SENFDIR = sconspath,
+                       SENFSYSLAYOUT = True)
             break
     else:
-        print "\nSENF library not found .. trying build anyway !!\n"
+        if not env.GetOption('no_progress'):
+            print "\nSENF library not found .. trying build anyway !!\n"
+
+    env.Alias('all', '#')
 
 
 def DefaultOptions(env):
@@ -184,18 +194,17 @@ def Doxygen(env, doxyheader=None, doxyfooter=None, doxycss=None, mydoxyfile=Fals
     
     if tagfiles is None:
         senfdocdir = None
-        senfdoc_path.extend(('senf/manual', '../senf/manual', 'senf', '../senf', 
-                             'senfdoc', os.path.dirname(senfutildir), 
-                             os.path.join(os.path.dirname(senfutildir), 'manual'),
-                             '/usr/share/doc/senf', '/usr/local/share/doc/senf',
-                             '/usr/share/doc/libsenf-doc/html'))
+        senfdoc_path.extend(('senfdoc', '$SENFDIR', '$SENFDIR/manual',
+                             '$SENFDIR/share/doc/senf', '$SENFDIR/share/doc/libsenf-doc/html'))
         for path in senfdoc_path:
-            if os.path.exists(os.path.join(path, "doc/Main.tag")):
+            path = env.Dir(path).get_path()
+            if os.path.exists(os.path.join(path, "doc/doclib.tag")):
                 senfdocdir = path
                 break
         tagfiles = []
         if senfdocdir is None:
-            print "(SENF documentation not found)"
+            if not env.GetOption('no_progress'):
+                print "(SENF documentation not found)"
         else:
             for dir, dirs, files in os.walk(senfdocdir):
                 tagfiles.extend([ os.path.join(dir,f) for f in files if f.endswith('.tag') ])
@@ -240,6 +249,7 @@ def Doxygen(env, doxyheader=None, doxyfooter=None, doxycss=None, mydoxyfile=Fals
                       DOXYOPTS   = [ '--html', '--tagfiles', '"$TAGFILES"' ],
                       DOXYENV    = { 'TOPDIR'     : env.Dir('#').abspath,
                                      'LIBDIR'     : libdir,
+                                     'REVISION'   : '$REVISION',
                                      'tagfiles'   : '$TAGFILES',
                                      'output_dir' : 'doc',
                                      'html_dir'   : 'html',