Updated versions

This commit is contained in:
Eyck Jentzsch 2019-06-15 22:31:04 +02:00
parent a7a465e69c
commit 8f776c8557
13 changed files with 91 additions and 67 deletions

View File

@ -4,7 +4,8 @@ if __name__ == "__main__":
builder = ConanMultiPackager() builder = ConanMultiPackager()
libstd = ['libstdc++11'] libstd = ['libstdc++11']
types = ['Debug','Release'] types = ['Debug','Release']
configs = [[i,k] for i in libstd for k in types] shared = [True,False]
configs = [[i,k] for i in shared for k in types]
for triple in configs: for triple in configs:
builder.add(settings={"build_type":triple[1], "compiler.libcxx":triple[0]}, options={}, env_vars={}, build_requires={}) builder.add(settings={"build_type":triple[1]}, options={"shared":triple[0]}, env_vars={}, build_requires={})
builder.run() builder.run()

View File

@ -4,7 +4,7 @@ import os
class LevelDBConan(ConanFile): class LevelDBConan(ConanFile):
name = "LevelDB" name = "LevelDB"
version = "1.20" version = "1.21"
license = "https://github.com/google/leveldb/blob/master/LICENSE" license = "https://github.com/google/leveldb/blob/master/LICENSE"
url = "https://github.com/Minres/conan-recipes/LevelDB" url = "https://github.com/Minres/conan-recipes/LevelDB"
use_master = True use_master = True

View File

@ -12,7 +12,7 @@ class SeasocksConan(ConanFile):
default_options = "shared=True" default_options = "shared=True"
generators = "cmake" generators = "cmake"
exports_sources = "src/main/c/*" exports_sources = "src/main/c/*"
reuires = "zlib/1.2.11@conan/stable" #requires = "zlib/1.2.11@conan/stable"
def source(self): def source(self):
@ -23,10 +23,11 @@ class SeasocksConan(ConanFile):
tools.replace_in_file("seasocks/CMakeLists.txt", "project(Seasocks VERSION 1.3.2)", '''project(Seasocks VERSION 1.3.2) tools.replace_in_file("seasocks/CMakeLists.txt", "project(Seasocks VERSION 1.3.2)", '''project(Seasocks VERSION 1.3.2)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()''') conan_basic_setup()''')
tools.replace_in_file("seasocks/src/CMakeLists.txt", 'add_subdirectory("app/c")', '#add_subdirectory("app/c")')
def build(self): def build(self):
cmake = CMake(self, parallel=True) cmake = CMake(self, parallel=True)
cmake.configure(source_folder="seasocks") cmake.configure(source_folder="seasocks", args=["-DCMAKE_INSTALL_LIBDIR=lib"])
cmake.build() cmake.build()
cmake.install() cmake.install()

View File

@ -6,7 +6,7 @@ class SeasocksTestConan(ConanFile):
options = {"shared": [True, False]} options = {"shared": [True, False]}
default_options = "shared=True" default_options = "shared=True"
generators = "cmake" generators = "cmake"
build_requires = "Catch/1.9.2@uilianries/stable" build_requires = "Catch/1.9.6@uilianries/stable"
def configure(self): def configure(self):
self.options["Seasocks"].shared = self.options.shared self.options["Seasocks"].shared = self.options.shared

View File

@ -1 +1,2 @@
/cci-0.9.0* /cci-0.9.0*
/cci-1.0.0

View File

@ -2,12 +2,15 @@ from conan.packager import ConanMultiPackager
if __name__ == "__main__": if __name__ == "__main__":
builder = ConanMultiPackager() builder = ConanMultiPackager()
archs = ['x86', 'x86_64']
types = ['Debug','Release'] types = ['Debug','Release']
cxxstds = ['98','11','14'] cxxstds = ['98', '11','14']
libstdcxx = ['libstdc++', 'libstdc++11'] libstdcxx = ['libstdc++', 'libstdc++11']
#-s compiler.libcxx=libstdc++ shared = [True,False]
configs = [[i,k,l] for i in cxxstds for k in types for l in libstdcxx] for triple in [[i,k,l,s] for i in cxxstds for k in types for l in libstdcxx for s in shared]:
for triple in configs: if triple[0] != '98' or triple[2] != 'libstdc++11':
builder.add(settings={"build_type":triple[1], "compiler.libcxx":triple[2]}, options={"stdcxx" : triple[0]}, env_vars={}, build_requires={}) builder.add(
settings={"build_type":triple[1],"compiler.libcxx":triple[2]},
options={"stdcxx" : triple[0], "shared" : triple[3]},
env_vars={},
build_requires={})
builder.run() builder.run()

View File

@ -1,44 +1,45 @@
from conans import ConanFile, tools, AutoToolsBuildEnvironment from conans import ConanFile, CMake
import os
class SystemC_CCIConan(ConanFile): class SystemC_CCIConan(ConanFile):
name = "SystemC-CCI" name = "SystemC-CCI"
version = "0.9.0" version = "1.0.0"
license = "Apache 2.0 License" license = "Apache 2.0 License"
url = "https://github.com/Minres/conan-recipes/blob/master/SystemC-CCI" url = "https://github.com/Minres/conan-recipes/blob/master/SystemC-CCI"
description = "The SystemC Configuration, Control and Inspection (CCI) allows tools to seamlessly and consistently interact with models to provide essential capabilities." description = "The SystemC Configuration, Control and Inspection (CCI) allows tools to seamlessly and consistently interact with models to provide essential capabilities."
settings = "os", "compiler", "build_type", "arch" settings = "os", "compiler", "build_type", "arch"
options = {"stdcxx":[98,11,14]} options = {"shared": [True, False], "stdcxx":[98,11,14]}
default_options = "stdcxx=98" default_options = "shared=True","stdcxx=98"
generators = "gcc" generators = "cmake"
source_subfolder = "cci-0.9.0_pub_rev_20171219" source_subfolder = "cci-1.0.0"
exports_sources = "cci-0.9.0_pub_rev_20171219/*" exports_sources = "cci-1.0.0/*"
requires = "SystemC/2.3.2@minres/stable" requires = "SystemC/2.3.3@minres/stable"
def configure(self): def configure(self):
self.options["SystemC"].stdcxx = self.options.stdcxx self.options["SystemC"].stdcxx = self.options.stdcxx
def build(self): def build(self):
env_build = AutoToolsBuildEnvironment(self) cmake = CMake(self, parallel=True)
if self.options.stdcxx == "14": cmake.configure(
env_build.cxx_flags = "-std=gnu++14" source_folder=self.source_subfolder,
elif self.options.stdcxx == "11": args=[
env_build.cxx_flags = "-std=gnu++11" '-DBUILD_SHARED_LIBS=ON' if self.options.shared else '-DBUILD_SHARED_LIBS=OFF',
elif self.options.stdcxx == "98": '-DCMAKE_INSTALL_LIBDIR=lib',
env_build.cxx_flags = "-std=gnu++98" '-DCMAKE_CXX_STANDARD=%s' % self.options.stdcxx,
env_build.fpic = True '-DSYSTEMC_ROOT=%s' % self.deps_cpp_info["SystemC"].rootpath
with tools.chdir(os.path.join(self.source_subfolder, 'src')): ]
env_build.make(args=[ 'clean', 'SYSTEMC_HOME=%s' % self.deps_cpp_info["SystemC"].rootpath]) )
env_build.make(args=[ 'AT_CXX=', 'SYSTEMC_HOME=%s' % self.deps_cpp_info["SystemC"].rootpath]) cmake.build()
cmake.install()
def package(self): def package(self):
pass
# Headers # Headers
inc_dir = os.path.join(self.source_subfolder, 'src') #inc_dir = os.path.join(self.source_subfolder, 'src')
self.copy(pattern="cci_configuration", dst="include", src=inc_dir, keep_path=True) #self.copy(pattern="cci_configuration", dst="include", src=inc_dir, keep_path=True)
self.copy(pattern="*.h", dst="include", src=inc_dir, keep_path=True) #self.copy(pattern="*.h", dst="include", src=inc_dir, keep_path=True)
# Libs # Libs
lib_dir = os.path.join(self.source_subfolder, 'lib') #lib_dir = os.path.join(self.source_subfolder, 'lib')
self.copy(pattern="*", dst="lib", src=lib_dir, keep_path=False) #self.copy(pattern="*", dst="lib", src=lib_dir, keep_path=False)
def package_info(self): def package_info(self):
self.cpp_info.libs = ["cciapi"] self.cpp_info.libs = ["cciapi"]

View File

@ -2,13 +2,12 @@ from conan.packager import ConanMultiPackager
if __name__ == "__main__": if __name__ == "__main__":
builder = ConanMultiPackager() builder = ConanMultiPackager()
archs = ['x86', 'x86_64']
types = ['Debug','Release'] types = ['Debug','Release']
cxxstds = ['98', '11','14'] cxxstds = ['98', '11','14']
libstdcxx = ['libstdc++', 'libstdc++11'] libstdcxx = ['libstdc++', 'libstdc++11']
shared = [True,False] shared = [True,False]
configs = [[i,k,l,s] for i in cxxstds for k in types for l in libstdcxx for s in shared] for triple in [[i,k,l,s] for i in cxxstds for k in types for l in libstdcxx for s in shared]:
for triple in configs: if triple[0] != '98' or triple[2] != 'libstdc++11':
builder.add( builder.add(
settings={"build_type":triple[1],"compiler.libcxx":triple[2]}, settings={"build_type":triple[1],"compiler.libcxx":triple[2]},
options={"stdcxx" : triple[0], "shared" : triple[3]}, options={"stdcxx" : triple[0], "shared" : triple[3]},

View File

@ -3,7 +3,7 @@ from conans import ConanFile, CMake
class SystemCConan(ConanFile): class SystemCConan(ConanFile):
name = "SystemC" name = "SystemC"
version = "2.3.2" version = "2.3.3"
license = "Apache 2.0 License" license = "Apache 2.0 License"
url = "https://github.com/Minres/conan-recipes/blob/master/SystemC" url = "https://github.com/Minres/conan-recipes/blob/master/SystemC"
description = "SystemC is a set of C++ classes and macros which provide an event-driven simulation interface (see also discrete event simulation)." description = "SystemC is a set of C++ classes and macros which provide an event-driven simulation interface (see also discrete event simulation)."
@ -11,8 +11,8 @@ class SystemCConan(ConanFile):
options = {"shared": [True, False], "stdcxx":[98,11,14]} options = {"shared": [True, False], "stdcxx":[98,11,14]}
default_options = "shared=True","stdcxx=98" default_options = "shared=True","stdcxx=98"
generators = "cmake" generators = "cmake"
source_subfolder = "systemc-2.3.2" source_subfolder = "systemc-2.3.3"
exports_sources = "systemc-2.3.2/*" exports_sources = "systemc-2.3.3/*"
def build(self): def build(self):
@ -21,13 +21,15 @@ class SystemCConan(ConanFile):
source_folder=self.source_subfolder, source_folder=self.source_subfolder,
args=[ args=[
"-DBUILD_SHARED_LIBS=ON" if self.options.shared else "-DBUILD_SHARED_LIBS=OFF", "-DBUILD_SHARED_LIBS=ON" if self.options.shared else "-DBUILD_SHARED_LIBS=OFF",
"-DCMAKE_INSTALL_LIBDIR=lib",
'-DCMAKE_CXX_STANDARD=%s' % self.options.stdcxx '-DCMAKE_CXX_STANDARD=%s' % self.options.stdcxx
] ]
) )
cmake.build() cmake.build()
cmake.install() cmake.install()
#def package(self): def package(self):
pass
# Headers # Headers
#self.copy(pattern="*.h", dst="include", src="package/include", keep_path=True) #self.copy(pattern="*.h", dst="include", src="package/include", keep_path=True)
# Libs # Libs

View File

@ -2,10 +2,15 @@ from conan.packager import ConanMultiPackager
if __name__ == "__main__": if __name__ == "__main__":
builder = ConanMultiPackager() builder = ConanMultiPackager()
archs = ['x86', 'x86_64']
types = ['Debug','Release'] types = ['Debug','Release']
cxxstds = ['98','11','14'] cxxstds = ['98', '11','14']
configs = [[i,k] for i in cxxstds for k in types] libstdcxx = ['libstdc++', 'libstdc++11']
for triple in configs: shared = [True,False]
builder.add(settings={"build_type":triple[1]}, options={"stdcxx" : triple[0]}, env_vars={}, build_requires={}) for triple in [[i,k,l,s] for i in cxxstds for k in types for l in libstdcxx for s in shared]:
if triple[0] != '98' or triple[2] != 'libstdc++11':
builder.add(
settings={"build_type":triple[1],"compiler.libcxx":triple[2]},
options={"stdcxx" : triple[0], "shared" : triple[3]},
env_vars={},
build_requires={})
builder.run() builder.run()

View File

@ -8,12 +8,12 @@ class SystemcverificationConan(ConanFile):
url = "https://github.com/Minres/conan-recipes/blob/master/SystemCVerification" url = "https://github.com/Minres/conan-recipes/blob/master/SystemCVerification"
description = "The SystemC Verification (SCV) library provides a common set of APIs that are used as a basis to verification activities with SystemC" description = "The SystemC Verification (SCV) library provides a common set of APIs that are used as a basis to verification activities with SystemC"
settings = "os", "compiler", "build_type", "arch" settings = "os", "compiler", "build_type", "arch"
options = {"stdcxx":[98,11,14]} options = {"shared": [True, False], "stdcxx":[98,11,14]}
default_options = "stdcxx=98" default_options = "shared=True","stdcxx=98"
generators = "gcc" generators = "gcc"
source_subfolder = "scv-2.0.1" source_subfolder = "scv-2.0.1"
exports_sources = "scv-2.0.1/*" exports_sources = "scv-2.0.1/*"
requires = "SystemC/2.3.2@minres/stable" requires = "SystemC/2.3.3@minres/stable"
def configure(self): def configure(self):
self.options["SystemC"].stdcxx = self.options.stdcxx self.options["SystemC"].stdcxx = self.options.stdcxx
@ -21,13 +21,23 @@ class SystemcverificationConan(ConanFile):
def build(self): def build(self):
env_build = AutoToolsBuildEnvironment(self) env_build = AutoToolsBuildEnvironment(self)
if self.options.stdcxx == "14": if self.options.stdcxx == "14":
env_build.cxx_flags = "-std=gnu++14" if self.settings.compiler.libcxx == 'libstdc++11':
env_build.cxx_flags = "-std=gnu++14 -D_GLIBCXX_USE_CXX11_ABI=1"
else:
env_build.cxx_flags = "-std=gnu++14 -D_GLIBCXX_USE_CXX11_ABI=0"
elif self.options.stdcxx == "11": elif self.options.stdcxx == "11":
env_build.cxx_flags = "-std=gnu++11" if self.settings.compiler.libcxx == 'libstdc++11':
env_build.cxx_flags = "-std=gnu++11 -D_GLIBCXX_USE_CXX11_ABI=1"
else:
env_build.cxx_flags = "-std=gnu++11 -D_GLIBCXX_USE_CXX11_ABI=0"
elif self.options.stdcxx == "98": elif self.options.stdcxx == "98":
env_build.cxx_flags = "-std=gnu++98" env_build.cxx_flags = "-std=gnu++98"
env_build.fpic = True env_build.fpic = True
tools.mkdir("build") tools.mkdir("build")
# make sure timestamps are correct to avoid invocation of autoconf tools
tools.touch("%s/aclocal.m4" % os.path.join(self.source_folder, self.source_subfolder))
tools.touch("%s/Makefile.in" % os.path.join(self.source_folder, self.source_subfolder))
tools.touch("%s/configure" % os.path.join(self.source_folder, self.source_subfolder))
env_build.libs.remove('systemc') env_build.libs.remove('systemc')
with tools.chdir("build"): with tools.chdir("build"):
env_build.configure( env_build.configure(
@ -35,8 +45,9 @@ class SystemcverificationConan(ConanFile):
args=[ args=[
'--prefix=%s' % os.path.join(self.source_folder, 'install'), '--prefix=%s' % os.path.join(self.source_folder, 'install'),
'--with-systemc=%s' % self.deps_cpp_info["SystemC"].rootpath, '--with-systemc=%s' % self.deps_cpp_info["SystemC"].rootpath,
'--disable-debug', '--enable-static=no --enable-shared=yes' if self.options.shared else '--enable-static=yes --enable-shared=no'
'--disable-opt' #'--disable-debug',
#'--disable-opt'
] ]
) )
env_build.make() env_build.make()

View File

@ -4,16 +4,16 @@ import pprint
class SystemcverificationTestConan(ConanFile): class SystemcverificationTestConan(ConanFile):
settings = "os", "compiler", "build_type", "arch" settings = "os", "compiler", "build_type", "arch"
options = {"stdcxx":[98,11,14]} options = {"shared": [True, False], "stdcxx":[98,11,14]}
default_options = "stdcxx=98" default_options = "shared=True","stdcxx=98"
generators = "cmake" generators = "cmake"
requires = "SystemC/2.3.2@minres/stable" requires = "SystemC/2.3.3@minres/stable"
def configure(self): def configure(self):
self.options["SystemCVerification"].stdcxx = self.options.stdcxx self.options["SystemCVerification"].stdcxx = self.options.stdcxx
if self.settings.compiler == 'gcc' and self.settings.compiler.version > 5: #if self.settings.compiler == 'gcc' and self.settings.compiler.version > 5:
self.output.info("Forcing use of libstdc++11") #self.output.info("Forcing use of libstdc++11")
self.settings.compiler.libcxx='libstdc++11' #self.settings.compiler.libcxx='libstdc++11'
def build(self): def build(self):
cmake = CMake(self) cmake = CMake(self)

View File

@ -22,8 +22,8 @@
#include "scv.h" #include "scv.h"
int sc_main(int argc, char** argv) { int sc_main(int argc, char** argv) {
scv_smart_ptr<int> addr("addr"); // scv_smart_ptr<int> addr("addr");
scv_random::set_global_seed(100); // scv_random::set_global_seed(100);
cout << "Success!" << endl; cout << "Success!" << endl;
return 0; return 0;
} }