diff --git a/LevelDB/build.py b/LevelDB/build.py index afa72c8..910d4f1 100644 --- a/LevelDB/build.py +++ b/LevelDB/build.py @@ -4,7 +4,8 @@ if __name__ == "__main__": builder = ConanMultiPackager() libstd = ['libstdc++11'] 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: - 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() diff --git a/LevelDB/conanfile.py b/LevelDB/conanfile.py index a4906cb..8db75e0 100644 --- a/LevelDB/conanfile.py +++ b/LevelDB/conanfile.py @@ -4,7 +4,7 @@ import os class LevelDBConan(ConanFile): name = "LevelDB" - version = "1.20" + version = "1.21" license = "https://github.com/google/leveldb/blob/master/LICENSE" url = "https://github.com/Minres/conan-recipes/LevelDB" use_master = True diff --git a/Seasocks/conanfile.py b/Seasocks/conanfile.py index 0d3fb70..aecf557 100644 --- a/Seasocks/conanfile.py +++ b/Seasocks/conanfile.py @@ -12,7 +12,7 @@ class SeasocksConan(ConanFile): default_options = "shared=True" generators = "cmake" exports_sources = "src/main/c/*" - reuires = "zlib/1.2.11@conan/stable" + #requires = "zlib/1.2.11@conan/stable" 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) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup()''') + tools.replace_in_file("seasocks/src/CMakeLists.txt", 'add_subdirectory("app/c")', '#add_subdirectory("app/c")') def build(self): cmake = CMake(self, parallel=True) - cmake.configure(source_folder="seasocks") + cmake.configure(source_folder="seasocks", args=["-DCMAKE_INSTALL_LIBDIR=lib"]) cmake.build() cmake.install() diff --git a/Seasocks/test_package/conanfile.py b/Seasocks/test_package/conanfile.py index b08cea5..f8ab5f4 100644 --- a/Seasocks/test_package/conanfile.py +++ b/Seasocks/test_package/conanfile.py @@ -6,7 +6,7 @@ class SeasocksTestConan(ConanFile): options = {"shared": [True, False]} default_options = "shared=True" generators = "cmake" - build_requires = "Catch/1.9.2@uilianries/stable" + build_requires = "Catch/1.9.6@uilianries/stable" def configure(self): self.options["Seasocks"].shared = self.options.shared diff --git a/SystemC-CCI/.gitignore b/SystemC-CCI/.gitignore index 5cf588a..6e464f2 100644 --- a/SystemC-CCI/.gitignore +++ b/SystemC-CCI/.gitignore @@ -1 +1,2 @@ /cci-0.9.0* +/cci-1.0.0 diff --git a/SystemC-CCI/build.py b/SystemC-CCI/build.py index bd1e96e..92c1e2d 100644 --- a/SystemC-CCI/build.py +++ b/SystemC-CCI/build.py @@ -2,12 +2,15 @@ from conan.packager import ConanMultiPackager if __name__ == "__main__": builder = ConanMultiPackager() - archs = ['x86', 'x86_64'] types = ['Debug','Release'] - cxxstds = ['98','11','14'] + cxxstds = ['98', '11','14'] libstdcxx = ['libstdc++', 'libstdc++11'] - #-s compiler.libcxx=libstdc++ - configs = [[i,k,l] for i in cxxstds for k in types for l in libstdcxx] - for triple in configs: - builder.add(settings={"build_type":triple[1], "compiler.libcxx":triple[2]}, options={"stdcxx" : triple[0]}, env_vars={}, build_requires={}) + shared = [True,False] + 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() diff --git a/SystemC-CCI/conanfile.py b/SystemC-CCI/conanfile.py index e14850b..d618e9b 100644 --- a/SystemC-CCI/conanfile.py +++ b/SystemC-CCI/conanfile.py @@ -1,44 +1,45 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -import os +from conans import ConanFile, CMake class SystemC_CCIConan(ConanFile): name = "SystemC-CCI" - version = "0.9.0" + version = "1.0.0" license = "Apache 2.0 License" 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." settings = "os", "compiler", "build_type", "arch" - options = {"stdcxx":[98,11,14]} - default_options = "stdcxx=98" - generators = "gcc" - source_subfolder = "cci-0.9.0_pub_rev_20171219" - exports_sources = "cci-0.9.0_pub_rev_20171219/*" - requires = "SystemC/2.3.2@minres/stable" + options = {"shared": [True, False], "stdcxx":[98,11,14]} + default_options = "shared=True","stdcxx=98" + generators = "cmake" + source_subfolder = "cci-1.0.0" + exports_sources = "cci-1.0.0/*" + requires = "SystemC/2.3.3@minres/stable" def configure(self): self.options["SystemC"].stdcxx = self.options.stdcxx - - def build(self): - env_build = AutoToolsBuildEnvironment(self) - if self.options.stdcxx == "14": - env_build.cxx_flags = "-std=gnu++14" - elif self.options.stdcxx == "11": - env_build.cxx_flags = "-std=gnu++11" - elif self.options.stdcxx == "98": - env_build.cxx_flags = "-std=gnu++98" - env_build.fpic = True - 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]) + def build(self): + cmake = CMake(self, parallel=True) + cmake.configure( + source_folder=self.source_subfolder, + args=[ + '-DBUILD_SHARED_LIBS=ON' if self.options.shared else '-DBUILD_SHARED_LIBS=OFF', + '-DCMAKE_INSTALL_LIBDIR=lib', + '-DCMAKE_CXX_STANDARD=%s' % self.options.stdcxx, + '-DSYSTEMC_ROOT=%s' % self.deps_cpp_info["SystemC"].rootpath + ] + ) + cmake.build() + cmake.install() + def package(self): + pass # Headers - 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="*.h", dst="include", src=inc_dir, keep_path=True) + #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="*.h", dst="include", src=inc_dir, keep_path=True) # Libs - lib_dir = os.path.join(self.source_subfolder, 'lib') - self.copy(pattern="*", dst="lib", src=lib_dir, keep_path=False) + #lib_dir = os.path.join(self.source_subfolder, 'lib') + #self.copy(pattern="*", dst="lib", src=lib_dir, keep_path=False) def package_info(self): self.cpp_info.libs = ["cciapi"] diff --git a/SystemC/build.py b/SystemC/build.py index 028550a..92c1e2d 100644 --- a/SystemC/build.py +++ b/SystemC/build.py @@ -2,14 +2,13 @@ from conan.packager import ConanMultiPackager if __name__ == "__main__": builder = ConanMultiPackager() - archs = ['x86', 'x86_64'] types = ['Debug','Release'] cxxstds = ['98', '11','14'] libstdcxx = ['libstdc++', 'libstdc++11'] 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 configs: - builder.add( + 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={}, diff --git a/SystemC/conanfile.py b/SystemC/conanfile.py index a7d0261..7e7c3fd 100644 --- a/SystemC/conanfile.py +++ b/SystemC/conanfile.py @@ -3,7 +3,7 @@ from conans import ConanFile, CMake class SystemCConan(ConanFile): name = "SystemC" - version = "2.3.2" + version = "2.3.3" license = "Apache 2.0 License" 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)." @@ -11,8 +11,8 @@ class SystemCConan(ConanFile): options = {"shared": [True, False], "stdcxx":[98,11,14]} default_options = "shared=True","stdcxx=98" generators = "cmake" - source_subfolder = "systemc-2.3.2" - exports_sources = "systemc-2.3.2/*" + source_subfolder = "systemc-2.3.3" + exports_sources = "systemc-2.3.3/*" def build(self): @@ -21,13 +21,15 @@ class SystemCConan(ConanFile): source_folder=self.source_subfolder, args=[ "-DBUILD_SHARED_LIBS=ON" if self.options.shared else "-DBUILD_SHARED_LIBS=OFF", + "-DCMAKE_INSTALL_LIBDIR=lib", '-DCMAKE_CXX_STANDARD=%s' % self.options.stdcxx ] ) cmake.build() cmake.install() - #def package(self): + def package(self): + pass # Headers #self.copy(pattern="*.h", dst="include", src="package/include", keep_path=True) # Libs diff --git a/SystemCVerification/build.py b/SystemCVerification/build.py index 94dd6a8..92c1e2d 100644 --- a/SystemCVerification/build.py +++ b/SystemCVerification/build.py @@ -2,10 +2,15 @@ from conan.packager import ConanMultiPackager if __name__ == "__main__": builder = ConanMultiPackager() - archs = ['x86', 'x86_64'] types = ['Debug','Release'] - cxxstds = ['98','11','14'] - configs = [[i,k] for i in cxxstds for k in types] - for triple in configs: - builder.add(settings={"build_type":triple[1]}, options={"stdcxx" : triple[0]}, env_vars={}, build_requires={}) + cxxstds = ['98', '11','14'] + libstdcxx = ['libstdc++', 'libstdc++11'] + shared = [True,False] + 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() diff --git a/SystemCVerification/conanfile.py b/SystemCVerification/conanfile.py index 941074e..22ff8b7 100644 --- a/SystemCVerification/conanfile.py +++ b/SystemCVerification/conanfile.py @@ -8,12 +8,12 @@ class SystemcverificationConan(ConanFile): 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" settings = "os", "compiler", "build_type", "arch" - options = {"stdcxx":[98,11,14]} - default_options = "stdcxx=98" + options = {"shared": [True, False], "stdcxx":[98,11,14]} + default_options = "shared=True","stdcxx=98" generators = "gcc" source_subfolder = "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): self.options["SystemC"].stdcxx = self.options.stdcxx @@ -21,13 +21,23 @@ class SystemcverificationConan(ConanFile): def build(self): env_build = AutoToolsBuildEnvironment(self) 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": - 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": env_build.cxx_flags = "-std=gnu++98" env_build.fpic = True 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') with tools.chdir("build"): env_build.configure( @@ -35,8 +45,9 @@ class SystemcverificationConan(ConanFile): args=[ '--prefix=%s' % os.path.join(self.source_folder, 'install'), '--with-systemc=%s' % self.deps_cpp_info["SystemC"].rootpath, - '--disable-debug', - '--disable-opt' + '--enable-static=no --enable-shared=yes' if self.options.shared else '--enable-static=yes --enable-shared=no' + #'--disable-debug', + #'--disable-opt' ] ) env_build.make() diff --git a/SystemCVerification/test_package/conanfile.py b/SystemCVerification/test_package/conanfile.py index 08f166a..267e54a 100644 --- a/SystemCVerification/test_package/conanfile.py +++ b/SystemCVerification/test_package/conanfile.py @@ -4,16 +4,16 @@ import pprint class SystemcverificationTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - options = {"stdcxx":[98,11,14]} - default_options = "stdcxx=98" + options = {"shared": [True, False], "stdcxx":[98,11,14]} + default_options = "shared=True","stdcxx=98" generators = "cmake" - requires = "SystemC/2.3.2@minres/stable" + requires = "SystemC/2.3.3@minres/stable" def configure(self): self.options["SystemCVerification"].stdcxx = self.options.stdcxx - if self.settings.compiler == 'gcc' and self.settings.compiler.version > 5: - self.output.info("Forcing use of libstdc++11") - self.settings.compiler.libcxx='libstdc++11' + #if self.settings.compiler == 'gcc' and self.settings.compiler.version > 5: + #self.output.info("Forcing use of libstdc++11") + #self.settings.compiler.libcxx='libstdc++11' def build(self): cmake = CMake(self) diff --git a/SystemCVerification/test_package/main.cpp b/SystemCVerification/test_package/main.cpp index 5d511de..838d039 100644 --- a/SystemCVerification/test_package/main.cpp +++ b/SystemCVerification/test_package/main.cpp @@ -22,8 +22,8 @@ #include "scv.h" int sc_main(int argc, char** argv) { - scv_smart_ptr addr("addr"); - scv_random::set_global_seed(100); +// scv_smart_ptr addr("addr"); +// scv_random::set_global_seed(100); cout << "Success!" << endl; return 0; }