@@ -1176,8 +1176,8 @@ if HAVE_DOXYGEN:
1176
1176
cxxdocu = env .Doxygen (source = [DocPath ('doxygen.conf' )],
1177
1177
target = docutarget )
1178
1178
1179
-
1180
1179
env .Clean (DocPath ('c++' ), glob (DocPath ('c++/*' )))
1180
+ env .Clean (DocPath (), DocPath ('c++' ))
1181
1181
1182
1182
######################################################################
1183
1183
# Boost-test based tests
@@ -1233,14 +1233,8 @@ if BOOST_TEST:
1233
1233
LIBS = env ['LIBS' ]+ [env ['BOOST_PYTHON' ]]+ USERLIBS
1234
1234
1235
1235
1236
- documentable_python_modules = [PyRootPath ('polybori' , f )
1237
- for f in Split ("""ll.py check_claims.py nf.py
1238
- gbrefs.py statistics.py randompoly.py blocks.py
1239
- specialsets.py memusage.py
1240
- heuristics.py gbcore.py interpolate.py
1241
- interred.py ncf.py partial.py simplebb.py
1242
- PyPolyBoRi.py __init__.py dynamic/__init__.py""" )
1243
- ]
1236
+ documentable_python_modules = glob (PyRootPath ('polybori/*.py' )) + \
1237
+ [PyRootPath ('polybori/dynamic/__init__.py' )]
1244
1238
1245
1239
1246
1240
# Currently all python modules are at place
@@ -1438,32 +1432,36 @@ readabledevellibs = pb_symlinks + gb_symlinks + pypb_symlinks
1438
1432
1439
1433
dylibs_inst = env .Install (DevelInstLibPath (), dylibs )
1440
1434
stlibs_inst = env .Install (DevelInstLibPath (), stlibs )
1435
+ env .Alias ('install-static' , stlibs_inst )
1436
+
1441
1437
dylibs_readable_inst = SymlinkReadableLibname (dylibs_inst )
1442
1438
1443
1439
devellibs_inst = dylibs_readable_inst + dylibs_inst + stlibs_inst
1444
1440
1445
1441
1446
1442
# Installation for development purposes
1447
- if 'devel-install' in COMMAND_LINE_TARGETS :
1448
-
1443
+ if 'devel-install' in COMMAND_LINE_TARGETS or \
1444
+ 'install-devel' in COMMAND_LINE_TARGETS or \
1445
+ 'install-headers' in COMMAND_LINE_TARGETS :
1446
+
1449
1447
for elt in ['..' , '.' ] + [path .basename (elt )
1450
1448
for elt in glob (PBInclPath ('*' ))
1451
- if path .isdir (elt ) and path .basename (elt ) != 'cudd' ]:
1449
+ if path .isdir (elt ) and \
1450
+ path .basename (elt ) != 'cudd' ]:
1452
1451
env .Install (DevelInstInclPath (elt ), glob (PBInclPath (elt , '*.h' )))
1453
1452
1454
1453
env .Install (DevelInstInclPath ('groebner' ),
1455
1454
glob (GBPath ('include/polybori/groebner/*.h' )))
1456
1455
1457
- # Install our own copy the cudd header to ensure correct (patched) version
1456
+ # To ensure correct (patched) version of cudd we install our own
1457
+ # copy of the cudd headers (to our inclusion "namespace" to avoid clashes)
1458
1458
env .Install (DevelInstInclPath ('cudd' ), cudd_headers )
1459
1459
1460
1460
if not (external_m4ri ):
1461
1461
env .Install (DevelInstInclPath ('m4ri' ), glob ('M4RI/m4ri/*.h' ))
1462
-
1463
- env .Alias ('devel-install' , DevelInstPath ())
1464
- env .Alias ('devel-install' , DevelInstInclPath ())
1465
- env .Alias ('devel-install' , DevelInstLibPath ())
1466
-
1462
+
1463
+ env .Alias ('install-headers' , DevelInstInclPath ())
1464
+
1467
1465
env .Append (COPYALL_PATTERNS = ['*' ])
1468
1466
1469
1467
# Copy glob('*') from one directory to the other
@@ -1489,16 +1487,6 @@ def cp_all(target, source, env):
1489
1487
1490
1488
return None
1491
1489
1492
- def CopyAll (targetdir , sourcedir , env ):
1493
- targets = []
1494
- for patt in env ['COPYALL_PATTERNS' ]:
1495
- for filename in glob (path .join (sourcedir , patt )):
1496
- if not path .isdir (filename ):
1497
- result = str (path .join (targetdir , path .basename (filename )))
1498
- targets += env .Install (targetdir , filename )
1499
-
1500
- return FinalizeNonExecs (targets )
1501
-
1502
1490
# Copy python docu from one directory to the other and correct paths to modules
1503
1491
def cp_pydoc (target , source , env ):
1504
1492
@@ -1688,11 +1676,13 @@ if have_l2h or have_t4h or HAVE_DOXYGEN:
1688
1676
if docpybase not in documastersubdirs :
1689
1677
documastersubdirs += [docpybase ]
1690
1678
1691
- env .DocuMaster (DocPath ('index.html' ), [DocPath ('index.html.in' )] + [
1692
- env .Dir (DocPath (srcs )) for srcs in documastersubdirs ])
1693
-
1679
+ docmstr = env .DocuMaster (DocPath ('index.html' ),
1680
+ [DocPath ('index.html.in' )] + [
1681
+ env .Dir (DocPath (srcs )) for srcs in documastersubdirs ])
1682
+
1694
1683
# build-independent doc targets
1695
- env .Alias ('docs' , [DocPath ('c++' ), DocPath ('tutorial' )])
1684
+ env .Alias ('prepare-docs' , docmstr + [DocPath ('c++' ), DocPath ('tutorial' )])
1685
+ env .Alias ('docs' , 'prepare-docs' )
1696
1686
1697
1687
# Clean, even, if L2H/TexToHt are not available anymore
1698
1688
env .Clean (DocPath ('tutorial' ), DocPath ('tutorial/tutorial' ))
@@ -1840,11 +1830,10 @@ if 'install' in COMMAND_LINE_TARGETS or 'install-docs' in COMMAND_LINE_TARGETS:
1840
1830
1841
1831
# Copy c++ documentation
1842
1832
if HAVE_DOXYGEN :
1843
- cxxdocinst = CopyAll (InstDocPath ('c++' ),
1844
- DocPath ('c++/html' ), env )
1833
+ cxxdocinst = env . CopyAll (env . Dir ( InstDocPath ('c++' ) ),
1834
+ env . Dir ( DocPath ('c++/html' )))
1845
1835
env .Depends (cxxdocinst , cxxdocu )
1846
1836
1847
-
1848
1837
htmlpatterns = Split ("*.html *.css *.png *gif *.jpg" )
1849
1838
1850
1839
# Copy python documentation
@@ -2013,11 +2002,17 @@ Type=Application
2013
2002
2014
2003
if have_l2h or have_t4h or HAVE_DOXYGEN :
2015
2004
env .Alias ('install-docs' , instdocu )
2005
+ env .Depends ('install-docs' , 'prepare-docs' )
2016
2006
env .Alias ('install' , 'install-docs' )
2017
2007
2018
-
2019
- env .Alias ('prepare-devel' , dylibs + stlibs + readabledevellibs )
2020
- env .Alias ('prepare-install' , [pyroot , DocPath ()])
2008
+
2009
+ env .Alias ('prepare-static' , stlibs )
2010
+ env .Alias ('prepare-install' ,
2011
+ dylibs + readabledevellibs + [BuildPyPBPath (), pyroot , DocPath ()])
2012
+
2013
+ env .Alias ('prepare-devel' , ['prepare-static' , 'prepare-install' ])
2014
+
2015
+
2021
2016
2022
2017
for sfx in [pyconf .major , pyconf .version ]:
2023
2018
Default (env .SymLink (IPBPath ('ipbori' + sfx ),
@@ -2055,16 +2050,20 @@ if retrieve_m4ri:
2055
2050
env .Install (env .subst ('$PKGCONFIGPATH' ),
2056
2051
BuildLibPath ('pkginfo/m4ri.pc' ))
2057
2052
2058
- env .Alias ("devel- install" ,
2053
+ env .Alias ("install-headers " ,
2059
2054
env .CopyAll (env .Dir (DevelInstInclPath ('m4ri' )),
2060
2055
env .Dir (BuildInclTopPath ('m4ri' ))))
2056
+ env .Alias ('install-static' , DevelInstLibPath ("libm4ri.a" ))
2061
2057
2062
2058
env .Alias ("m4ri-build" , m4ribld )
2063
2059
env .Append (LIBPATH = BuildLibPath ())
2064
2060
env .Depends (libgbShared + pypb , m4ribld )
2065
2061
env .Clean (BuildPath ('tmp' ), m4ri_dir )
2066
-
2067
- env .Clean ('.' , "m4ri.download" )
2062
+
2063
+
2064
+
2065
+ env .Alias ('install-devel' , ['install-static' , 'install-headers' ])
2066
+ env .Alias ('devel-install' , 'install-devel' ) # allow old naming convention
2068
2067
2069
2068
# This one last!
2070
2069
env .Clean ('.' , '.sconsign.dblite' )
0 commit comments