Adapt the rpm automated build system of bootstrap (pass 2)
* Change: coriolis2.spec.in, Makefile.package and Builder/ccb now support RHEL6, RHEL7 & Fedora. * Change: In Bootstrap, added a flag to activate compilation with openmp.
This commit is contained in:
parent
cdfdccb19d
commit
bacea5214c
|
@ -2,19 +2,15 @@
|
||||||
# -*- Makefile -*-
|
# -*- Makefile -*-
|
||||||
# Mimicking the behavior of a top-level autotool generated Makefile.
|
# Mimicking the behavior of a top-level autotool generated Makefile.
|
||||||
|
|
||||||
define pythonSiteLocator =
|
pythonSiteLocator = "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1)"
|
||||||
import os.path
|
|
||||||
import distutils.sysconfig
|
|
||||||
print distutils.sysconfig.get_python_lib()
|
|
||||||
endef
|
|
||||||
|
|
||||||
|
tools = bootstrap vlsisapd hurricane crlcore coloquinte etesian knik \
|
||||||
tools = bootstrap vlsisapd hurricane crlcore etesian knik katabatic kite \
|
katabatic kite equinox solstice cumulus stratus1 unicorn documentation
|
||||||
equinox solstice cumulus stratus1 unicorn documentation
|
|
||||||
prefix = /usr
|
prefix = /usr
|
||||||
|
rootPrefix = $(subst /usr,,$(prefix))
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
BUILD_DESTDIR = $(shell pwd)/install.dir
|
BUILD_DESTDIR = $(shell pwd)/install.dir
|
||||||
PYTHON_SITEDIR = $(shell python -c '$(pythonSiteLocator)')
|
PYTHON_SITEDIR = $(shell python -c $(pythonSiteLocator))
|
||||||
IMPORTEDS_TOP = $(prefix)
|
IMPORTEDS_TOP = $(prefix)
|
||||||
CORIOLIS_TOP = $(prefix)
|
CORIOLIS_TOP = $(prefix)
|
||||||
|
|
||||||
|
@ -23,6 +19,7 @@ endef
|
||||||
|
|
||||||
.PHONY: build install FORCE
|
.PHONY: build install FORCE
|
||||||
|
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -39,20 +36,15 @@ build: FORCE
|
||||||
"x86_64") cmakeArgs="-D LIB_SUFFIX:STRING=64";; \
|
"x86_64") cmakeArgs="-D LIB_SUFFIX:STRING=64";; \
|
||||||
*) cmakeArgs="";; \
|
*) cmakeArgs="";; \
|
||||||
esac; \
|
esac; \
|
||||||
echo "** Building tool Coloquinte"; \
|
case "$${X_SCLS}" in \
|
||||||
mkdir -p build.dir/Coloquinte; \
|
*"devtoolset"*) \
|
||||||
cd build.dir/Coloquinte; \
|
cmakeArgs="$${cmakeArgs} -D Boost_NO_SYSTEM_PATHS:STRING=TRUE"; \
|
||||||
cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \
|
BOOST_INCLUDEDIR="/opt/rh/devtoolset-2/root/usr/include"; \
|
||||||
-D BUILD_SHARED_LIBS:STRING=ON \
|
BOOST_LIBRARYDIR="/opt/rh/devtoolset-2/root/usr/lib"; \
|
||||||
-D BUILD_DOC:STRING=OFF \
|
export BOOST_INCLUDEDIR BOOST_LIBRARYDIR; \
|
||||||
-D CMAKE_INSTALL_PREFIX:STRING=$(CORIOLIS_TOP) \
|
echo "** Using $${X_SCLS}."; \
|
||||||
-D DESTDIR:STRING=$(BUILD_DESTDIR) \
|
;; \
|
||||||
$${cmakeArgs} \
|
esac; \
|
||||||
../../importeds/Coloquinte \
|
|
||||||
|| exit 1; \
|
|
||||||
make DESTDIR=$(BUILD_DESTDIR) install \
|
|
||||||
|| exit 1; \
|
|
||||||
cd ../..; \
|
|
||||||
for tool in $(tools); do \
|
for tool in $(tools); do \
|
||||||
echo "** Building tool $${tool}"; \
|
echo "** Building tool $${tool}"; \
|
||||||
mkdir -p build.dir/$$tool; \
|
mkdir -p build.dir/$$tool; \
|
||||||
|
@ -65,7 +57,7 @@ build: FORCE
|
||||||
$${cmakeArgs} \
|
$${cmakeArgs} \
|
||||||
../../coriolis/$$tool \
|
../../coriolis/$$tool \
|
||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
make DESTDIR=$(BUILD_DESTDIR) install \
|
make DESTDIR=$(BUILD_DESTDIR) $(SMP_MFLAGS) install \
|
||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
cd ../..; \
|
cd ../..; \
|
||||||
done
|
done
|
||||||
|
@ -76,19 +68,6 @@ install: FORCE
|
||||||
"x86_64") commonCMakeArgs="-D LIB_SUFFIX:STRING=64";; \
|
"x86_64") commonCMakeArgs="-D LIB_SUFFIX:STRING=64";; \
|
||||||
*) commonCMakeArgs="";; \
|
*) commonCMakeArgs="";; \
|
||||||
esac; \
|
esac; \
|
||||||
echo "** Installing tool Coloquinte"; \
|
|
||||||
cd build.dir/Coloquinte; \
|
|
||||||
cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \
|
|
||||||
-D BUILD_SHARED_LIBS:STRING=ON \
|
|
||||||
-D BUILD_DOC:STRING=ON \
|
|
||||||
-D CMAKE_INSTALL_PREFIX:STRING=$(CORIOLIS_TOP) \
|
|
||||||
-D DESTDIR:STRING=$(DESTDIR) \
|
|
||||||
$${cmakeArgs} \
|
|
||||||
../../importeds/Coloquinte \
|
|
||||||
|| exit 1; \
|
|
||||||
make DESTDIR=$(DESTDIR) install \
|
|
||||||
|| exit 1; \
|
|
||||||
cd ../..; \
|
|
||||||
for tool in $(tools); do \
|
for tool in $(tools); do \
|
||||||
echo "** Installing tool $${tool}"; \
|
echo "** Installing tool $${tool}"; \
|
||||||
cd build.dir/$$tool; \
|
cd build.dir/$$tool; \
|
||||||
|
@ -114,10 +93,11 @@ install: FORCE
|
||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
cd ../..; \
|
cd ../..; \
|
||||||
done; \
|
done; \
|
||||||
rm -rf $(DESTDIR)$(CORIOLIS_TOP)/bin/ccb \
|
rm -rfv $(DESTDIR)$(rootPrefix)/etc/coriolis2/coriolis2.sh \
|
||||||
$(DESTDIR)$(CORIOLIS_TOP)/bin/cx2y \
|
$(DESTDIR)$(prefix)/bin/ccb \
|
||||||
$(DESTDIR)$(CORIOLIS_TOP)/bin/*.bin \
|
$(DESTDIR)$(prefix)/bin/cx2y \
|
||||||
$(DESTDIR)$(PYTHON_SITEDIR)/builder \
|
$(DESTDIR)$(prefix)/bin/*.bin \
|
||||||
$(DESTDIR)/usr/share/cmake/Modules/GetGitRevisionDescription.cmake.in
|
$(DESTDIR)$(rootPrefix)$(PYTHON_SITEDIR)/builder \
|
||||||
|
$(DESTDIR)$(prefix)/share/cmake/Modules/GetGitRevisionDescription.cmake.in
|
||||||
|
|
||||||
FORCE:
|
FORCE:
|
||||||
|
|
|
@ -37,6 +37,7 @@ class Builder:
|
||||||
self._clang = False
|
self._clang = False
|
||||||
self._devtoolset2 = False
|
self._devtoolset2 = False
|
||||||
self._qt5 = False
|
self._qt5 = False
|
||||||
|
self._openmp = False
|
||||||
self._enableShared = "ON"
|
self._enableShared = "ON"
|
||||||
self._enableDoc = "OFF"
|
self._enableDoc = "OFF"
|
||||||
self._checkDatabase = "OFF"
|
self._checkDatabase = "OFF"
|
||||||
|
@ -62,6 +63,7 @@ class Builder:
|
||||||
elif attribute == "clang": self._clang = value
|
elif attribute == "clang": self._clang = value
|
||||||
elif attribute == "devtoolset2": self._devtoolset2 = value
|
elif attribute == "devtoolset2": self._devtoolset2 = value
|
||||||
elif attribute == "qt5": self._qt5 = value
|
elif attribute == "qt5": self._qt5 = value
|
||||||
|
elif attribute == "openmp": self._openmp = value
|
||||||
elif attribute == "enableDoc": self._enableDoc = value
|
elif attribute == "enableDoc": self._enableDoc = value
|
||||||
elif attribute == "enableShared": self._enableShared = value
|
elif attribute == "enableShared": self._enableShared = value
|
||||||
elif attribute == "checkDatabase": self._checkDatabase = value
|
elif attribute == "checkDatabase": self._checkDatabase = value
|
||||||
|
@ -128,9 +130,11 @@ class Builder:
|
||||||
commandAsString = ''
|
commandAsString = ''
|
||||||
for i in range(len(command)):
|
for i in range(len(command)):
|
||||||
if i: commandAsString += ' '
|
if i: commandAsString += ' '
|
||||||
commandAsString += command[i]
|
if ' ' in command[i]: commandAsString += '"'+command[i]+'"'
|
||||||
|
else: commandAsString += command[i]
|
||||||
command = [ 'scl', 'enable', 'devtoolset-2', commandAsString ]
|
command = [ 'scl', 'enable', 'devtoolset-2', commandAsString ]
|
||||||
|
|
||||||
|
#print command
|
||||||
sys.stdout.flush ()
|
sys.stdout.flush ()
|
||||||
sys.stderr.flush ()
|
sys.stderr.flush ()
|
||||||
child = subprocess.Popen ( command, env=self._environment, stdout=None )
|
child = subprocess.Popen ( command, env=self._environment, stdout=None )
|
||||||
|
@ -164,6 +168,7 @@ class Builder:
|
||||||
if self._ninja: command += [ "-G", "Ninja" ]
|
if self._ninja: command += [ "-G", "Ninja" ]
|
||||||
if self._devtoolset2: command += [ "-D", "Boost_NO_SYSTEM_PATHS:STRING=TRUE" ]
|
if self._devtoolset2: command += [ "-D", "Boost_NO_SYSTEM_PATHS:STRING=TRUE" ]
|
||||||
if self._qt5: command += [ "-D", "WITH_QT5:STRING=TRUE" ]
|
if self._qt5: command += [ "-D", "WITH_QT5:STRING=TRUE" ]
|
||||||
|
if self._openmp: command += [ "-D", "WITH_OPENMP:STRING=TRUE" ]
|
||||||
|
|
||||||
command += [ "-D", "CMAKE_BUILD_TYPE:STRING=%s" % self.buildMode
|
command += [ "-D", "CMAKE_BUILD_TYPE:STRING=%s" % self.buildMode
|
||||||
, "-D", "BUILD_SHARED_LIBS:STRING=%s" % self.enableShared
|
, "-D", "BUILD_SHARED_LIBS:STRING=%s" % self.enableShared
|
||||||
|
@ -209,79 +214,6 @@ class Builder:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
#def _svnStatus ( self, tool ):
|
|
||||||
# toolSourceDir = os.path.join ( self.sourceDir , tool )
|
|
||||||
# if not os.path.isdir(toolSourceDir):
|
|
||||||
# if not self._quiet:
|
|
||||||
# print ErrorMessage( 0, "Missing tool source directory: \"%s\" (skipped)."%toolSourceDir )
|
|
||||||
# return
|
|
||||||
# os.chdir ( toolSourceDir )
|
|
||||||
#
|
|
||||||
# print "Checking SVN status of tool: ", tool
|
|
||||||
# command = [ "svn", "status", "-u", "-q" ]
|
|
||||||
# self._execute ( command, "svn status -u -q" )
|
|
||||||
# print
|
|
||||||
# return
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#def _svnDiff ( self, tool ):
|
|
||||||
# toolSourceDir = os.path.join ( self.sourceDir , tool )
|
|
||||||
# if not os.path.isdir(toolSourceDir):
|
|
||||||
# if not self._quiet:
|
|
||||||
# print ErrorMessage( 0, "Missing tool source directory: \"%s\" (skipped)."%toolSourceDir )
|
|
||||||
# return
|
|
||||||
# os.chdir ( toolSourceDir )
|
|
||||||
#
|
|
||||||
# print "Doing a SVN diff of tool: ", tool
|
|
||||||
# command = [ "svn", "diff" ]
|
|
||||||
# if self.gitHash != "x":
|
|
||||||
# command += [ "--revision", self.gitHash ]
|
|
||||||
# self._execute ( command, "svn diff %s" % tool )
|
|
||||||
# print
|
|
||||||
# return
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#def _svnUpdate ( self, tool ):
|
|
||||||
# toolSourceDir = os.path.join ( self.sourceDir , tool )
|
|
||||||
# if not os.path.isdir(toolSourceDir):
|
|
||||||
# if not self._quiet:
|
|
||||||
# print ErrorMessage( 0, "Missing tool source directory: \"%s\" (skipped)."%toolSourceDir)
|
|
||||||
# return
|
|
||||||
# os.chdir ( toolSourceDir )
|
|
||||||
#
|
|
||||||
# print "Doing a SVN update of tool: ", tool
|
|
||||||
# command = [ "svn", "update" ]
|
|
||||||
# self._execute ( command, "svn update" )
|
|
||||||
# print
|
|
||||||
# return
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#def _svnCheckout ( self, tool ):
|
|
||||||
# project = self._conf.getToolProject ( tool )
|
|
||||||
# if not project:
|
|
||||||
# print ErrorMessage( 0, "Tool \"%s\" is not part of any project."%tool
|
|
||||||
# ,"Cannot guess the SVN repository." )
|
|
||||||
# return
|
|
||||||
# if not project.getRepository ():
|
|
||||||
# print ErrorMessage( 0, "Project \"%s\" isn't associated to a repository."%project.getName() )
|
|
||||||
# return
|
|
||||||
#
|
|
||||||
# if not os.path.isdir(self.sourceDir):
|
|
||||||
# print ErrorMessage( 0, "Source directory <%s> doesn't exists. Creating."%self.sourceDir )
|
|
||||||
# os.makedirs( self.sourceDir )
|
|
||||||
#
|
|
||||||
# toolSvnTrunkDir = os.path.join ( self.svnMethod+project.getRepository(), tool, "trunk" )
|
|
||||||
# os.chdir ( self.sourceDir )
|
|
||||||
#
|
|
||||||
# print "Doing a SVN checkout of tool: ", tool
|
|
||||||
# command = [ "svn", "co", toolSvnTrunkDir, tool ]
|
|
||||||
# if self.gitHash != "x":
|
|
||||||
# command += [ "--revision", self.gitHash ]
|
|
||||||
# self._execute ( command, "svn checkout %s" % tool )
|
|
||||||
# print
|
|
||||||
# return
|
|
||||||
|
|
||||||
|
|
||||||
def gitArchive ( self, projectName ):
|
def gitArchive ( self, projectName ):
|
||||||
rawArchive = self.tarballDir+'/'+projectName+'.tar'
|
rawArchive = self.tarballDir+'/'+projectName+'.tar'
|
||||||
|
|
||||||
|
@ -304,33 +236,30 @@ class Builder:
|
||||||
command = [ 'rm', rawArchive ]
|
command = [ 'rm', rawArchive ]
|
||||||
self._execute ( command, "Removing raw archive %s" % rawArchive )
|
self._execute ( command, "Removing raw archive %s" % rawArchive )
|
||||||
|
|
||||||
# Hard-coded export of Coloquinte.
|
|
||||||
coloquinteRawArchive = self.tarballDir+'/coloquinte.tar'
|
|
||||||
|
|
||||||
os.chdir ( self.sourceDir+'/importeds/Coloquinte')
|
|
||||||
command = [ 'git'
|
|
||||||
, 'archive'
|
|
||||||
, '--prefix=%s/' % 'importeds/Coloquinte/'
|
|
||||||
, '--output=%s' % coloquinteRawArchive
|
|
||||||
, 'master'
|
|
||||||
]
|
|
||||||
self._execute ( command, "git archive of project %s" % 'Coloquinte' )
|
|
||||||
|
|
||||||
os.chdir ( self.archiveDir )
|
|
||||||
command = [ 'tar', 'xf', coloquinteRawArchive ]
|
|
||||||
self._execute ( command, "unpacking raw archive %s" % coloquinteRawArchive )
|
|
||||||
|
|
||||||
command = [ 'rm', coloquinteRawArchive ]
|
|
||||||
self._execute ( command, "Removing raw archive %s" % coloquinteRawArchive )
|
|
||||||
|
|
||||||
# Adds files neededs only for packaging purpose.
|
# Adds files neededs only for packaging purpose.
|
||||||
command = [ "/bin/ln", "-s", self.archiveDir+"/coriolis/bootstrap/Makefile.package"
|
command = [ "/bin/ln", "-s", "./coriolis/bootstrap/Makefile.package"
|
||||||
, self.archiveDir+"/Makefile" ]
|
, self.archiveDir+"/Makefile" ]
|
||||||
self._execute ( command, "link of %s failed" % "coriolis/boostrap/Makefile.package")
|
self._execute ( command, "link of %s failed" % "coriolis/boostrap/Makefile.package")
|
||||||
|
|
||||||
command = [ "/bin/ln", "-s", self.archiveDir+"/coriolis/bootstrap/debian", self.archiveDir ]
|
command = [ "/bin/ln", "-s", "./coriolis/bootstrap/debian", self.archiveDir ]
|
||||||
self._execute ( command, "Copying Debian/Ubuntu package control files" )
|
self._execute ( command, "Copying Debian/Ubuntu package control files" )
|
||||||
|
|
||||||
|
# # Remove unpublisheds (yet) tools/files.
|
||||||
|
# for item in self.packageExcludes:
|
||||||
|
# command = [ "/bin/rm", "-rf", os.path.join(self.archiveDir,item) ]
|
||||||
|
# self._execute ( command, "rm of %s failed" % item)
|
||||||
|
#
|
||||||
|
# # Adds files neededs only for packaging purpose.
|
||||||
|
# command = [ "/bin/cp", "-r", os.path.join(self.sourceDir ,"bootstrap","Makefile.package")
|
||||||
|
# , os.path.join(self.archiveDir,"Makefile") ]
|
||||||
|
# self._execute ( command, "copy of %s failed" % "boostrap/Makefile.package")
|
||||||
|
#
|
||||||
|
# os.chdir ( self.archiveDir )
|
||||||
|
# command = [ "/usr/bin/patch", "--remove-empty-files"
|
||||||
|
# , "--no-backup-if-mismatch"
|
||||||
|
# , "-p0", "-i", self.distribPatch ]
|
||||||
|
# self._execute ( command, "patch for distribution command failed" )
|
||||||
|
|
||||||
absSourceTarBz2 = '%s/%s' % (self.tarballDir,self.sourceTarBz2)
|
absSourceTarBz2 = '%s/%s' % (self.tarballDir,self.sourceTarBz2)
|
||||||
os.chdir ( self.tarballDir )
|
os.chdir ( self.tarballDir )
|
||||||
command = [ 'tar', 'jcf', absSourceTarBz2, os.path.basename(self.archiveDir) ]
|
command = [ 'tar', 'jcf', absSourceTarBz2, os.path.basename(self.archiveDir) ]
|
||||||
|
@ -413,31 +342,6 @@ class Builder:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
#def svnStatus ( self, tools, projects ):
|
|
||||||
# self._commandTemplate ( tools, projects, "_svnStatus" )
|
|
||||||
# return
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#def svnUpdate ( self, tools, projects ):
|
|
||||||
# self._commandTemplate ( tools, projects, "_svnUpdate" )
|
|
||||||
# return
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#def svnCheckout ( self, tools, projects ):
|
|
||||||
# self._commandTemplate ( tools, projects, "_svnCheckout" )
|
|
||||||
# return
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#def svnDiff ( self, tools, projects ):
|
|
||||||
# self._commandTemplate ( tools, projects, "_svnDiff" )
|
|
||||||
# return
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#def svnExport ( self, tools, projects ):
|
|
||||||
# self._commandTemplate ( tools, projects, "_svnExport" )
|
|
||||||
# return
|
|
||||||
|
|
||||||
|
|
||||||
def gitTarball ( self, tools, projects ):
|
def gitTarball ( self, tools, projects ):
|
||||||
if self.gitHash == "x":
|
if self.gitHash == "x":
|
||||||
self._guessGitHash ( self.getProject(projects[0]) )
|
self._guessGitHash ( self.getProject(projects[0]) )
|
||||||
|
@ -454,39 +358,6 @@ class Builder:
|
||||||
os.makedirs ( self.tarballDir )
|
os.makedirs ( self.tarballDir )
|
||||||
self.gitArchive ( projects[0] )
|
self.gitArchive ( projects[0] )
|
||||||
|
|
||||||
# # Remove unpublisheds (yet) tools/files.
|
|
||||||
# for item in self.packageExcludes:
|
|
||||||
# command = [ "/bin/rm", "-rf", os.path.join(self.archiveDir,item) ]
|
|
||||||
# self._execute ( command, "rm of %s failed" % item)
|
|
||||||
#
|
|
||||||
# # Adds files neededs only for packaging purpose.
|
|
||||||
# command = [ "/bin/cp", "-r", os.path.join(self.sourceDir ,"bootstrap","Makefile.package")
|
|
||||||
# , os.path.join(self.archiveDir,"Makefile") ]
|
|
||||||
# self._execute ( command, "copy of %s failed" % "boostrap/Makefile.package")
|
|
||||||
#
|
|
||||||
# command = [ "/bin/cp", self.specFile, self.archiveDir ]
|
|
||||||
# self._execute ( command, "Copying RPM spec file" )
|
|
||||||
#
|
|
||||||
# command = [ "/bin/cp", "-r", self.debianDir, self.archiveDir ]
|
|
||||||
# self._execute ( command, "Copying Debian/Ubuntu package control files" )
|
|
||||||
#
|
|
||||||
# os.chdir ( self.archiveDir )
|
|
||||||
# #command = [ "/usr/bin/patch", "--remove-empty-files"
|
|
||||||
# # , "--no-backup-if-mismatch"
|
|
||||||
# # , "-p0", "-i", self.distribPatch ]
|
|
||||||
# #self._execute ( command, "patch for distribution command failed" )
|
|
||||||
#
|
|
||||||
# os.chdir ( self.tarballDir )
|
|
||||||
# command = [ "/bin/tar"
|
|
||||||
# , "--exclude-backups"
|
|
||||||
# , "--exclude-vcs"
|
|
||||||
# , "-jcvf", self.sourceTarBz2, os.path.basename(self.archiveDir) ]
|
|
||||||
# self._execute ( command, "tar command failed" )
|
|
||||||
#
|
|
||||||
# print "Cleanup SVN export tarball archive directory: \"%s\"." % self.archiveDir
|
|
||||||
# command = [ "/bin/rm", "-rf", self.archiveDir ]
|
|
||||||
# self._execute ( command, "Removing archive export (tarball) directory" )
|
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@ -523,6 +394,14 @@ class Builder:
|
||||||
rpmFullDir = os.path.join ( self.rpmbuildDir, rpmDir )
|
rpmFullDir = os.path.join ( self.rpmbuildDir, rpmDir )
|
||||||
if not os.path.isdir(rpmFullDir):
|
if not os.path.isdir(rpmFullDir):
|
||||||
os.makedirs ( rpmFullDir )
|
os.makedirs ( rpmFullDir )
|
||||||
|
else:
|
||||||
|
for entry in os.listdir(rpmFullDir):
|
||||||
|
path = os.path.join( rpmFullDir, entry )
|
||||||
|
if os.path.islink(path):
|
||||||
|
realpath = os.path.realpath( os.readlink(path) )
|
||||||
|
if not os.path.isfile(realpath):
|
||||||
|
print 'Remove obsolete link: <%s>.' % path
|
||||||
|
os.unlink( path )
|
||||||
|
|
||||||
rpmSpecFile = os.path.join ( self.rpmbuildDir, "SPECS" , "coriolis2.spec" )
|
rpmSpecFile = os.path.join ( self.rpmbuildDir, "SPECS" , "coriolis2.spec" )
|
||||||
rpmSourceFile = os.path.join ( self.rpmbuildDir, "SOURCES", self.sourceTarBz2 )
|
rpmSourceFile = os.path.join ( self.rpmbuildDir, "SOURCES", self.sourceTarBz2 )
|
||||||
|
@ -540,8 +419,11 @@ class Builder:
|
||||||
command = [ "/usr/bin/rpmbuild"
|
command = [ "/usr/bin/rpmbuild"
|
||||||
, "--define", "_topdir %s" % self.rpmbuildDir
|
, "--define", "_topdir %s" % self.rpmbuildDir
|
||||||
, "--define", "_tmppath %s" % self.tmppathDir
|
, "--define", "_tmppath %s" % self.tmppathDir
|
||||||
, "--define", "_enable_debug_packages 0"
|
#, "--define", "_enable_debug_packages 0"
|
||||||
, "-ba", "--with", "binarytar", rpmSpecFile ]
|
, "--with", "binarytar" ]
|
||||||
|
if self._devtoolset2 == True:
|
||||||
|
command += [ "--define", "scl devtoolset-2" ]
|
||||||
|
command += [ "-ba", "--clean", rpmSpecFile ]
|
||||||
|
|
||||||
self._execute ( command, "Rebuild rpm packages" )
|
self._execute ( command, "Rebuild rpm packages" )
|
||||||
|
|
||||||
|
|
|
@ -206,6 +206,7 @@ parser.add_option ( "--no-cache" , action="store_true" ,
|
||||||
parser.add_option ( "--rm-build" , action="store_true" , dest="rmBuild" , help="Remove previous build directoty before building." )
|
parser.add_option ( "--rm-build" , action="store_true" , dest="rmBuild" , help="Remove previous build directoty before building." )
|
||||||
parser.add_option ( "--devtoolset-2", action="store_true" , dest="devtoolset2" , help="Build against TUV Dev Toolset 2." )
|
parser.add_option ( "--devtoolset-2", action="store_true" , dest="devtoolset2" , help="Build against TUV Dev Toolset 2." )
|
||||||
parser.add_option ( "--qt5" , action="store_true" , dest="qt5" , help="Build against Qt 5 (default: Qt 4)." )
|
parser.add_option ( "--qt5" , action="store_true" , dest="qt5" , help="Build against Qt 5 (default: Qt 4)." )
|
||||||
|
parser.add_option ( "--openmp" , action="store_true" , dest="openmp" , help="Enable the use of OpenMP in Gcc." )
|
||||||
parser.add_option ( "--ninja" , action="store_true" , dest="ninja" , help="Use Ninja instead of UNIX Makefile." )
|
parser.add_option ( "--ninja" , action="store_true" , dest="ninja" , help="Use Ninja instead of UNIX Makefile." )
|
||||||
parser.add_option ( "--clang" , action="store_true" , dest="clang" , help="Force use of Clang C/C++ compiler instead of system default." )
|
parser.add_option ( "--clang" , action="store_true" , dest="clang" , help="Force use of Clang C/C++ compiler instead of system default." )
|
||||||
parser.add_option ( "--make" , action="store" , type="string", dest="makeArguments", help="Arguments to pass to make (ex: \"-j4 install\")." )
|
parser.add_option ( "--make" , action="store" , type="string", dest="makeArguments", help="Arguments to pass to make (ex: \"-j4 install\")." )
|
||||||
|
@ -282,6 +283,7 @@ else:
|
||||||
if options.clang: builder.clang = True
|
if options.clang: builder.clang = True
|
||||||
if options.devtoolset2: builder.devtoolset2 = True
|
if options.devtoolset2: builder.devtoolset2 = True
|
||||||
if options.qt5: builder.qt5 = True
|
if options.qt5: builder.qt5 = True
|
||||||
|
if options.openmp: builder.openmp = True
|
||||||
if options.makeArguments: builder.makeArguments = options.makeArguments
|
if options.makeArguments: builder.makeArguments = options.makeArguments
|
||||||
#if options.svnMethod: builder.svnMethod = options.svnMethod
|
#if options.svnMethod: builder.svnMethod = options.svnMethod
|
||||||
#if options.svnTag: builder.svnTag = options.svnTag
|
#if options.svnTag: builder.svnTag = options.svnTag
|
||||||
|
|
|
@ -136,8 +136,8 @@
|
||||||
|
|
||||||
if(NOT ${library}_INCLUDE_PATH)
|
if(NOT ${library}_INCLUDE_PATH)
|
||||||
set(${configname}_FOUND "NOTFOUND")
|
set(${configname}_FOUND "NOTFOUND")
|
||||||
endif(NOT ${library}_INCLUDE_PATH)
|
endif()
|
||||||
endmacro ( set_libraries_path )
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -269,16 +269,24 @@
|
||||||
#
|
#
|
||||||
macro(setup_sysconfdir INSTALLDIR)
|
macro(setup_sysconfdir INSTALLDIR)
|
||||||
message("-- Checking installation directory <${INSTALLDIR}>")
|
message("-- Checking installation directory <${INSTALLDIR}>")
|
||||||
|
string(REGEX MATCH "^/opt/rh/devtoolset-2/root/usr$" IS_OPT_RH ${INSTALLDIR})
|
||||||
|
if(IS_OPT_RH)
|
||||||
|
message("-- Using devtoolset-2 install tree /opt/rh/devtoolset-2/root/etc.")
|
||||||
|
set(SYS_CONF_DIR "/opt/rh/devtoolset-2/root/etc" CACHE STRING "System configuration directory (/etc)" FORCE)
|
||||||
|
else()
|
||||||
string(REGEX MATCH "^/usr$" IS_USR ${INSTALLDIR})
|
string(REGEX MATCH "^/usr$" IS_USR ${INSTALLDIR})
|
||||||
string(REGEX MATCH "^/opt$" IS_OPT ${INSTALLDIR})
|
string(REGEX MATCH "^/opt$" IS_OPT ${INSTALLDIR})
|
||||||
if(IS_USR OR IS_OPT)
|
if(IS_USR OR IS_OPT)
|
||||||
message("-- Using system-wide /etc.")
|
message("-- Using system-wide /etc.")
|
||||||
set(SYS_CONF_DIR "/etc" CACHE STRING "System configuration directory (/etc)" FORCE)
|
set(SYS_CONF_DIR "/etc" CACHE STRING "System configuration directory (/etc)" FORCE)
|
||||||
else(IS_USR OR IS_OPT)
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT IS_OPT_RH AND NOT IS_USR AND NOT IS_OPT)
|
||||||
message("-- Using install tree <prefix>/etc.")
|
message("-- Using install tree <prefix>/etc.")
|
||||||
set(SYS_CONF_DIR "etc" CACHE STRING "System configuration directory (/etc)" FORCE)
|
set(SYS_CONF_DIR "etc" CACHE STRING "System configuration directory (/etc)" FORCE)
|
||||||
endif(IS_USR OR IS_OPT)
|
endif()
|
||||||
endmacro(setup_sysconfdir)
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
|
|
||||||
|
%{?scl:%{?scl_package:%scl_package coriolis2}}
|
||||||
|
|
||||||
%define coriolisVersion 2.1
|
%define coriolisVersion 2.1
|
||||||
%define coriolisTop %{_prefix}
|
%define coriolisTop %{_prefix}
|
||||||
%define githash @githash@
|
%define githash @githash@
|
||||||
%define revdate @revdate@
|
%define revdate @revdate@
|
||||||
|
|
||||||
|
%define with_binarytar %{?_with_binarytar:1}%{!?_with_binarytar:0}
|
||||||
%define python_sitedir %{_lib}/%(python -c '
|
%define python_sitedir %{_lib}/%(python -c '
|
||||||
import os.path
|
import os.path
|
||||||
import distutils.sysconfig
|
import distutils.sysconfig
|
||||||
|
|
||||||
pathes = distutils.sysconfig.get_python_lib().split("/")
|
pathes = distutils.sysconfig.get_python_lib(1).split("/")
|
||||||
print os.path.join ( pathes[-2], pathes[-1] )
|
print os.path.join ( pathes[-2], pathes[-1] )
|
||||||
')
|
')
|
||||||
|
|
||||||
|
@ -19,21 +22,24 @@ print os.path.join ( pathes[-2], pathes[-1] )
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
Name: coriolis2
|
Name: %{?scl_prefix}coriolis2
|
||||||
Summary: Coriolis 2 VLSI CAD System
|
Summary: Coriolis 2 VLSI CAD System
|
||||||
Version: %{coriolisVersion}
|
Version: %{coriolisVersion}
|
||||||
Release: 1.%{revdate}git%{githash}%{dist}
|
Release: 1.%{revdate}git%{githash}%{dist}
|
||||||
License: BSD/LGPL/GPL/FLUTE
|
License: BSD/LGPL/GPL/FLUTE
|
||||||
Group: Applications/Engineering
|
Group: Applications/Engineering
|
||||||
Source: %{name}-%{version}.%{revdate}git%{githash}.tar.bz2
|
Source: %{pkg_name}-%{version}.%{revdate}git%{githash}.tar.bz2
|
||||||
URL: http://www-soc.lip6.fr/
|
URL: http://www-soc.lip6.fr/
|
||||||
Packager: Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
|
Packager: Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
|
||||||
|
|
||||||
|
%{!?scl:%define pkg_name %{name}}
|
||||||
|
%{?scl:Requires:%scl_runtime}
|
||||||
Requires(post): ldconfig
|
Requires(post): ldconfig
|
||||||
Requires: boost >= 1.33.1
|
Requires: %{?scl_prefix}boost >= 1.53.0
|
||||||
Requires: %{qt4} >= 4.5.0
|
Requires: %{qt4} >= 4.5.0
|
||||||
BuildRequires: boost-devel >= 1.33.1
|
BuildRequires: %{?scl_prefix}boost-devel >= 1.53.0
|
||||||
BuildRequires: %{qt4}-devel >= 4.5.0
|
BuildRequires: %{qt4}-devel >= 4.5.0
|
||||||
BuildRoot: %{_tmppath}/root-%{name}
|
BuildRoot: %{_tmppath}/root-%{pkg_name}
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
|
@ -57,7 +63,7 @@ Development files for the Coriolis 2 package.
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -n %{name}-%{version}.%{revdate}git%{githash}
|
%setup -n %{pkg_name}-%{version}.%{revdate}git%{githash}
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
@ -65,12 +71,14 @@ Development files for the Coriolis 2 package.
|
||||||
|
|
||||||
IMPORTEDS_TOP=%{coriolisTop}; export IMPORTEDS_TOP
|
IMPORTEDS_TOP=%{coriolisTop}; export IMPORTEDS_TOP
|
||||||
CORIOLIS_TOP=%{coriolisTop}; export CORIOLIS_TOP
|
CORIOLIS_TOP=%{coriolisTop}; export CORIOLIS_TOP
|
||||||
|
SMP_MFLAGS=%{_smp_mflags}; export SMP_MFLAGS
|
||||||
|
|
||||||
# Do build & install in one step, except for documentation.
|
# Do build & install in one step, except for documentation.
|
||||||
make -f coriolis/bootstrap/Makefile.package \
|
make -f coriolis/bootstrap/Makefile.package \
|
||||||
|
prefix=%{coriolisTop} \
|
||||||
DESTDIR=%{buildroot} \
|
DESTDIR=%{buildroot} \
|
||||||
BUILD_DESTDIR=%{_builddir}/%{buildsubdir}/install.dir \
|
BUILD_DESTDIR=%{_builddir}/%{buildsubdir}/install.dir \
|
||||||
%{_smp_mflags} build
|
build
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
@ -79,17 +87,19 @@ Development files for the Coriolis 2 package.
|
||||||
|
|
||||||
# Install & build documentation, in -j1.
|
# Install & build documentation, in -j1.
|
||||||
make -f coriolis/bootstrap/Makefile.package \
|
make -f coriolis/bootstrap/Makefile.package \
|
||||||
|
prefix=%{coriolisTop} \
|
||||||
DESTDIR=%{buildroot} \
|
DESTDIR=%{buildroot} \
|
||||||
BUILD_DESTDIR=%{_builddir}/%{buildsubdir}/install.dir \
|
BUILD_DESTDIR=%{_builddir}/%{buildsubdir}/install.dir \
|
||||||
-j1 install
|
install
|
||||||
|
|
||||||
# Copy the license from the Debian package directory.
|
# Copy the license from the Debian package directory.
|
||||||
cp coriolis/bootstrap/debian/copyright %{buildroot}%{_datadir}/doc/coriolis2/COPYRIGHT
|
cp coriolis/bootstrap/debian/copyright %{buildroot}%{_datadir}/doc/coriolis2/COPYRIGHT
|
||||||
|
|
||||||
#%__rm -rf %{buildroot}%{coriolisTop}/share/doc/coriolis2
|
%if %{with_binarytar}
|
||||||
|
cd %{buildroot}%{coriolisTop}
|
||||||
# Removing undistributed binaries.
|
tar -jcf %{_sourcedir}/%{name}-%{version}-%{release}.bin-%{_arch}.tar.bz2 \
|
||||||
#%__rm -f %{buildroot}%{coriolisTop}/bin/{cx2y,kite-text}
|
bin %{_lib} share
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
|
@ -123,11 +133,10 @@ Development files for the Coriolis 2 package.
|
||||||
%{coriolisTop}/%{python_sitedir}/crlcore/helpers/*.py*
|
%{coriolisTop}/%{python_sitedir}/crlcore/helpers/*.py*
|
||||||
%{coriolisTop}/%{python_sitedir}/kite/*.py*
|
%{coriolisTop}/%{python_sitedir}/kite/*.py*
|
||||||
%{coriolisTop}/%{python_sitedir}/unicorn/*.py*
|
%{coriolisTop}/%{python_sitedir}/unicorn/*.py*
|
||||||
#%config(noreplace) %{_sysconfdir}/ld.so.conf.d/*
|
%{_sysconfdir}/coriolis2/*.py
|
||||||
%config(noreplace) %{_sysconfdir}/coriolis2/*.conf
|
%config(noreplace) %{_sysconfdir}/coriolis2/*.conf
|
||||||
%config(noreplace) %{_sysconfdir}/coriolis2/*/*.conf
|
%config(noreplace) %{_sysconfdir}/coriolis2/*/*.conf
|
||||||
%config(noreplace) %{_sysconfdir}/coriolis2/*.xml
|
%config(noreplace) %{_sysconfdir}/coriolis2/*.xml
|
||||||
%config(noreplace) %{_sysconfdir}/coriolis2/*.py*
|
|
||||||
%config(noreplace) %{_sysconfdir}/coriolis2/stratus.vim
|
%config(noreplace) %{_sysconfdir}/coriolis2/stratus.vim
|
||||||
%config(noreplace) %{coriolisTop}/share/coriolis2/flute-3.1/*.dat
|
%config(noreplace) %{coriolisTop}/share/coriolis2/flute-3.1/*.dat
|
||||||
|
|
||||||
|
@ -137,7 +146,6 @@ Development files for the Coriolis 2 package.
|
||||||
%dir %{coriolisTop}/%{_lib}
|
%dir %{coriolisTop}/%{_lib}
|
||||||
%dir %{coriolisTop}/share/cmake/Modules
|
%dir %{coriolisTop}/share/cmake/Modules
|
||||||
%dir %{coriolisTop}/include
|
%dir %{coriolisTop}/include
|
||||||
%dir %{coriolisTop}/include/coloquinte
|
|
||||||
%dir %{coriolisTop}/include/vlsisapd
|
%dir %{coriolisTop}/include/vlsisapd
|
||||||
%dir %{coriolisTop}/include/vlsisapd/utilities
|
%dir %{coriolisTop}/include/vlsisapd/utilities
|
||||||
%dir %{coriolisTop}/include/vlsisapd/agds
|
%dir %{coriolisTop}/include/vlsisapd/agds
|
||||||
|
@ -148,6 +156,7 @@ Development files for the Coriolis 2 package.
|
||||||
%dir %{coriolisTop}/include/vlsisapd/configuration
|
%dir %{coriolisTop}/include/vlsisapd/configuration
|
||||||
%dir %{coriolisTop}/include/vlsisapd/dtr
|
%dir %{coriolisTop}/include/vlsisapd/dtr
|
||||||
%dir %{coriolisTop}/include/vlsisapd/openChams
|
%dir %{coriolisTop}/include/vlsisapd/openChams
|
||||||
|
%dir %{coriolisTop}/include/coriolis2/coloquinte
|
||||||
%dir %{coriolisTop}/include/coriolis2/hurricane
|
%dir %{coriolisTop}/include/coriolis2/hurricane
|
||||||
%dir %{coriolisTop}/include/coriolis2/hurricane/viewer
|
%dir %{coriolisTop}/include/coriolis2/hurricane/viewer
|
||||||
%dir %{coriolisTop}/include/coriolis2/hurricane/isobar
|
%dir %{coriolisTop}/include/coriolis2/hurricane/isobar
|
||||||
|
@ -162,7 +171,6 @@ Development files for the Coriolis 2 package.
|
||||||
%dir %{coriolisTop}/include/coriolis2/unicorn
|
%dir %{coriolisTop}/include/coriolis2/unicorn
|
||||||
%{coriolisTop}/%{_lib}/*.so
|
%{coriolisTop}/%{_lib}/*.so
|
||||||
%{coriolisTop}/share/cmake/Modules/*.cmake
|
%{coriolisTop}/share/cmake/Modules/*.cmake
|
||||||
%{coriolisTop}/include/coloquinte/*.hxx
|
|
||||||
%{coriolisTop}/include/vlsisapd/utilities/*.h
|
%{coriolisTop}/include/vlsisapd/utilities/*.h
|
||||||
%{coriolisTop}/include/vlsisapd/agds/*.h
|
%{coriolisTop}/include/vlsisapd/agds/*.h
|
||||||
%{coriolisTop}/include/vlsisapd/cif/*.h
|
%{coriolisTop}/include/vlsisapd/cif/*.h
|
||||||
|
@ -172,6 +180,7 @@ Development files for the Coriolis 2 package.
|
||||||
%{coriolisTop}/include/vlsisapd/configuration/*.h
|
%{coriolisTop}/include/vlsisapd/configuration/*.h
|
||||||
%{coriolisTop}/include/vlsisapd/dtr/*.h
|
%{coriolisTop}/include/vlsisapd/dtr/*.h
|
||||||
%{coriolisTop}/include/vlsisapd/openChams/*.h
|
%{coriolisTop}/include/vlsisapd/openChams/*.h
|
||||||
|
%{coriolisTop}/include/coriolis2/coloquinte/*.hxx
|
||||||
%{coriolisTop}/include/coriolis2/hurricane/*.h
|
%{coriolisTop}/include/coriolis2/hurricane/*.h
|
||||||
%{coriolisTop}/include/coriolis2/hurricane/viewer/*.h
|
%{coriolisTop}/include/coriolis2/hurricane/viewer/*.h
|
||||||
%{coriolisTop}/include/coriolis2/hurricane/isobar/*.h
|
%{coriolisTop}/include/coriolis2/hurricane/isobar/*.h
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# -*- explicit-buffer-name: "CMakeLists.txt<etesian>" -*-
|
# -*- explicit-buffer-name: "CMakeLists.txt<coloquinte>" -*-
|
||||||
|
|
||||||
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
|
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
|
||||||
project(COLOQUINTE)
|
project(COLOQUINTE)
|
||||||
|
@ -14,17 +14,14 @@
|
||||||
|
|
||||||
set_cmake_policies()
|
set_cmake_policies()
|
||||||
set_lib_link_mode()
|
set_lib_link_mode()
|
||||||
setup_boost(program_options python regex)
|
setup_boost()
|
||||||
|
|
||||||
find_package(LibXml2 REQUIRED)
|
|
||||||
find_package(PythonLibs REQUIRED)
|
|
||||||
find_package(PythonSitePackages REQUIRED)
|
|
||||||
find_package(VLSISAPD REQUIRED)
|
|
||||||
find_package(LEFDEF REQUIRED)
|
|
||||||
find_package(HURRICANE REQUIRED)
|
|
||||||
find_package(CORIOLIS REQUIRED)
|
|
||||||
find_package(Libexecinfo REQUIRED)
|
find_package(Libexecinfo REQUIRED)
|
||||||
|
|
||||||
|
if(WITH_OPENMP)
|
||||||
|
add_definitions( -fopenmp )
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
add_subdirectory(cmake_modules)
|
add_subdirectory(cmake_modules)
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ IF(UNIX)
|
||||||
FIND_PATH(COLOQUINTE_INCLUDE_PATH NAMES coloquinte/netlist.hxx PATHS
|
FIND_PATH(COLOQUINTE_INCLUDE_PATH NAMES coloquinte/netlist.hxx PATHS
|
||||||
# Look in other places.
|
# Look in other places.
|
||||||
${CORIOLIS_DIR_SEARCH}
|
${CORIOLIS_DIR_SEARCH}
|
||||||
PATH_SUFFIXES include/coriolis
|
PATH_SUFFIXES include/coriolis2
|
||||||
# Help the user find it if we cannot.
|
# Help the user find it if we cannot.
|
||||||
DOC "The ${COLOQUINTE_INCLUDE_PATH_DESCRIPTION}"
|
DOC "The ${COLOQUINTE_INCLUDE_PATH_DESCRIPTION}"
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
# -*- explicit-buffer-name: "CMakeLists.txt<Coloquinte/src>" -*-
|
# -*- explicit-buffer-name: "CMakeLists.txt<coloquinte/src>" -*-
|
||||||
|
|
||||||
include_directories( ${COLOQUINTE_SOURCE_DIR}/src
|
include_directories( ${COLOQUINTE_SOURCE_DIR}/src
|
||||||
${CORIOLIS_INCLUDE_DIR}
|
|
||||||
${HURRICANE_INCLUDE_DIR}
|
|
||||||
${CONFIGURATION_INCLUDE_DIR}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set ( includes coloquinte/circuit.hxx
|
set ( includes coloquinte/circuit.hxx
|
||||||
|
|
|
@ -359,9 +359,8 @@ Main building prerequisites:
|
||||||
* latex
|
* latex
|
||||||
* latex2html.
|
* latex2html.
|
||||||
* python-docutils (for reStructuredText).
|
* python-docutils (for reStructuredText).
|
||||||
* |Coloquinte| (https://github.com/Coloquinte/Coloquinte.git).
|
|
||||||
|
|
||||||
|Coloquinte| requires the |LEMON| component from |Coin-Or| (`Coin Or Home`_).
|
The |Coloquinte| component requires the |LEMON| component from |Coin-Or| (`Coin Or Home`_).
|
||||||
A repository of |Coin-Or| packages backported from |Fedora| 21 is available here:
|
A repository of |Coin-Or| packages backported from |Fedora| 21 is available here:
|
||||||
|
|
||||||
* |SL6|: `ftp://pub/linux/distributions/slsoc/slsoc/soc/addons/i386/RPMS <http://ftp.lip6.fr/pub/linux/distributions/slsoc/slsoc/soc/addons/i386/repoview>`_
|
* |SL6|: `ftp://pub/linux/distributions/slsoc/slsoc/soc/addons/i386/RPMS <http://ftp.lip6.fr/pub/linux/distributions/slsoc/slsoc/soc/addons/i386/repoview>`_
|
||||||
|
@ -387,7 +386,6 @@ automatically created either by |ccb| or the build system.
|
||||||
+--------------------------+-----------------------------------------------------------------------------+
|
+--------------------------+-----------------------------------------------------------------------------+
|
||||||
| | Sources root | | ~/coriolis-2.x/src |
|
| | Sources root | | ~/coriolis-2.x/src |
|
||||||
| | **under git** | | ~/coriolis-2.x/src/coriolis |
|
| | **under git** | | ~/coriolis-2.x/src/coriolis |
|
||||||
| | **under git** | | ~/coriolis-2.x/src/importeds/Coloquinte |
|
|
||||||
+--------------------------+-----------------------------------------------------------------------------+
|
+--------------------------+-----------------------------------------------------------------------------+
|
||||||
| **Architecture Dependant Build** |
|
| **Architecture Dependant Build** |
|
||||||
+--------------------------+-----------------------------------------------------------------------------+
|
+--------------------------+-----------------------------------------------------------------------------+
|
||||||
|
@ -434,15 +432,10 @@ The first step is to create the source directory and pull the |git| repository:
|
||||||
dummy@lepka:~$ mkdir -p ~/coriolis-2.x/src
|
dummy@lepka:~$ mkdir -p ~/coriolis-2.x/src
|
||||||
dummy@lepka:~$ cd ~/coriolis-2.x/src
|
dummy@lepka:~$ cd ~/coriolis-2.x/src
|
||||||
dummy@lepka:~$ git clone https://www-soc.lip6.fr/git/coriolis.git
|
dummy@lepka:~$ git clone https://www-soc.lip6.fr/git/coriolis.git
|
||||||
dummy@lepka:~$ mkdir importeds
|
|
||||||
dummy@lepka:~$ cd importeds
|
|
||||||
dummy@lepka:~$ git clone https://github.com/Coloquinte/Coloquinte.git
|
|
||||||
dummy@lepka:~$ cd ../coriolis
|
|
||||||
|
|
||||||
Second and final step, build & install: ::
|
Second and final step, build & install: ::
|
||||||
|
|
||||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=importeds \
|
dummy@lepka:src$ ./bootstrap/ccp.py --project=coriolis \
|
||||||
--project=coriolis \
|
|
||||||
--make="-j4 install"
|
--make="-j4 install"
|
||||||
dummy@lepka:src$ ./bootstrap/ccb.py --project=coriolis \
|
dummy@lepka:src$ ./bootstrap/ccb.py --project=coriolis \
|
||||||
--doc --make="-j1 install"
|
--doc --make="-j1 install"
|
||||||
|
@ -453,8 +446,7 @@ then we generate the documentation in ``-j1``
|
||||||
|
|
||||||
Under |RHEL6| or clones, you must build using the |devtoolset2|: ::
|
Under |RHEL6| or clones, you must build using the |devtoolset2|: ::
|
||||||
|
|
||||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=importeds \
|
dummy@lepka:src$ ./bootstrap/ccp.py --project=coriolis \
|
||||||
--project=coriolis \
|
|
||||||
--devtoolset-2 --make="-j4 install"
|
--devtoolset-2 --make="-j4 install"
|
||||||
|
|
||||||
If you want to uses Qt 5 instead of Qt 4, you may add the ``--qt5`` argument.
|
If you want to uses Qt 5 instead of Qt 4, you may add the ``--qt5`` argument.
|
||||||
|
@ -996,7 +988,6 @@ Etesian -- Placer
|
||||||
The |Etesian| placer is a state of the art (as of 2015) analytical placer. It is
|
The |Etesian| placer is a state of the art (as of 2015) analytical placer. It is
|
||||||
within ``5%`` of other placers' solutions, but is normally a bit worse than ePlace.
|
within ``5%`` of other placers' solutions, but is normally a bit worse than ePlace.
|
||||||
This |Coriolis| tool is actually an encapsulation of |Coloquinte| which *is* the placer.
|
This |Coriolis| tool is actually an encapsulation of |Coloquinte| which *is* the placer.
|
||||||
|Coloquinte| is provided as a separate library, see the building instructions.
|
|
||||||
|
|
||||||
.. note:: *Instance Uniquification Unsupported:* a same logical instance cannot have
|
.. note:: *Instance Uniquification Unsupported:* a same logical instance cannot have
|
||||||
two different placements. So, either you manually make a clone of it or you
|
two different placements. So, either you manually make a clone of it or you
|
||||||
|
|
Loading…
Reference in New Issue