{"id":18422456,"url":"https://github.com/sri-csl/pce","last_synced_at":"2025-04-07T14:32:52.660Z","repository":{"id":30139190,"uuid":"33689274","full_name":"SRI-CSL/pce","owner":"SRI-CSL","description":"Probabilistic Consistency Engine","archived":false,"fork":false,"pushed_at":"2016-07-07T19:10:03.000Z","size":10368,"stargazers_count":3,"open_issues_count":1,"forks_count":4,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-22T19:45:58.428Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SRI-CSL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-09T19:50:44.000Z","updated_at":"2023-04-28T22:02:13.000Z","dependencies_parsed_at":"2022-08-17T18:50:54.697Z","dependency_job_id":null,"html_url":"https://github.com/SRI-CSL/pce","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fpce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fpce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fpce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fpce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SRI-CSL","download_url":"https://codeload.github.com/SRI-CSL/pce/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247670230,"owners_count":20976531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T04:30:12.124Z","updated_at":"2025-04-07T14:32:50.553Z","avatar_url":"https://github.com/SRI-CSL.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![Build Status](https://travis-ci.org/SRI-CSL/pce.svg?branch=master)](https://travis-ci.org/SRI-CSL/pce)\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/4869/badge.svg)](https://scan.coverity.com/projects/4869)\n\nContent and Directory Structure\n-------------------------------\n\nThe source subdirectories include\n\n```\n./src:\t       source code for MCSAT and PCE\n./doc:\t       documentation\n./examples:    example input files for testing\n```\n\nThe build subdirectory is organized by platform + compilation mode.\nCompilation modes are release, debug, static + others for profiling, etc.\n\nFor example, on an intel Mac, there may be three directories below build:\n\n```\n./build/i386-apple-darwin8.9.1-release/\n./build/i386-apple-darwin8.9.1-debug/\n./build/i386-apple-darwin8.9.1-static/\n```\n\nEach of these directories contains three subdirectories: for object,\nlibraries, and binaries, e.g., \n\n```\n./build/i386-apple-darwin8.9.1-release/obj/\n./build/i386-apple-darwin8.9.1-release/lib/\n./build/i386-apple-darwin8.9.1-release/bin/\n```\n\nThis is where all object files, libraries, and binaries are located for\nthat platform and compilation mode.\n\n\n\nThe rest of this file explains how to configure and compile the package on\nUNIX systems. To build under Windows, please check README.windows.\n\n\n\n\nConfiguration (for Linux, MacOSX, Solaris)\n------------------------------------------\n\nConfiguration files are generated by ./configure, and are kept separate for each \nplatform. They are stored in the ./configs subdirectory, with a name of the form \nmake.include.\u003cplatform\u003e. \n\nThe rationale for this organization is to support parallel compilation\non several machines from the same source directory (i.e., without\nhaving to run ./configure every time on each machine).\n \nThe Makefile in the top-level directory determines the architecture and OS, \nand checks the compilation mode. It sets five variables that are passed\nto a recursive Make:\n\n```\n  MCSAT_MODE=compilation mode\n  ARCH=build/target-platform\n  POSIXOS=operating system\n  MCSAT_TOP_DIR=top-level directory\n  MCSAT_MAKE_INCLUDE=config file to use\n```\n\nTo see how these variables are set just type make.\n\n\n\nTo configure for compilation on a new platform:\n\n1) run autoconf\n\n2) run ./configure\n   (check the configure options if there's an error).   \n\n\n\nAlternative Configurations\n--------------------------\n\n1) On Mac OS X/intel platforms, (at least since version 10.5/Leopard), it\nis possible to produce objects/libraries/executables either in\n32bit or in 64bit mode. The default is 32bit. To override this, build\nan alternative configuration file by typing\n\n```\n   ./configure --build=x86_64-apple-darwin9.2.2 CFLAGS=-m64\n```\n\n(The version number 2.2 changes with each patch/new version of\nDarwin. Adjust this as needed).\n\nTo use this configuration, add the option ABI=64 to the command line\nwhen using make (e.g., make test MODE=static ABI=64).\n\n\n\n2) On Linux/x86_64 platforms, it may be possible to also compile in 32 bit mode.\nThis depends on libraries and gcc but that can work. The default is to compile\nin 64bit. As above, to override this, build an alternative configuration\nfile:\n\n```\n   ./configure --build=i686-unknown-linux-gnu CFLAGS=-m32\n```\n\nTo use this configuration, add the option ABI=32 when invoking make.\n\n\n\n\nCompilation\n-----------\n\n1) To compile the binaries, type\n\n```\n   make MODE=\u003ccompilation mode\u003e bin\n```\n\nThe resulting executables are in ./build/\u003cplatform\u003e-\u003cmode\u003e/bin\n\nThe possible compilation modes are defined in src/Makefile.\nCurrently the possible compilation modes are:\n  \n*  release\n*  static\n*  debug\n\n*  profile\n*  valgrind\n*  quantify\n*  purify\n\n\nIf nothing is specified, the default MODE is release.\n\n\n2) To compile only the objects files:\n\n```\n   make MODE=\u003ccompilation mode\u003e objects\n```\n\nThe objects are in ./build/\u003cplatform\u003e-\u003cmode\u003e/obj\n\n\n3) To compile only the libraries (e.g., libmcsat.a)\n\n```\n   make MODE=\u003ccompilation mode\u003e lib\n```\n\nThe library is in ./build/\u003cplatform\u003e-\u003cmode\u003e/lib\n\n\n\nGetting 64bit code on Mac/Intel\n-------------------------------\n\nAdd option ABI=64 to all the make commands above.\n\n\nGetting 32bit code on Linux/x86_64\n----------------------------------\n\nAdd option ABI=32 to all the make commands above.\n\n\n\n\n\nCleanup\n-------\n\n1) To cleanup the ./build/\u003cplatform\u003e-\u003cmode\u003e directory:\n\n```\n   make MODE=\u003ccompilation mode\u003e clean\n```\n\nthis removes libraries, binaries, and object files.\n\nThe directories \n\n```\n   ./build/\u003cplatform\u003e-\u003cmode\u003e/obj\n   ./build/\u003cplatform\u003e-\u003cmode\u003e/bin\n   ./build/\u003cplatform\u003e-\u003cmode\u003e/lib\n```\n\nare preserved\n\n\n2) Deeper cleanup:\n \nTo remove the build directory for the current platform and mode  (i.e., \n./build/\u003cplatform\u003e-\u003cmode\u003e and everything in there):\n\n```\n   make build-clean MODE=mode\n   make build_clean MODE=mode\n```\n\nTo remove all build directories for the current platform: ./build/\u003cplatform\u003e-*\n\n```\n   make arch-clean\n   make arch_clean\n```\n\nTo remove all build directories: ./build/*\n\n```\n   make all-clean\n   make all_clean\n```\n\n\n\n\nBuilding a tarfile with all source files + common binaries\n----------------------------------------------------------\n\nType 'make distribution' in the top-level directory.\n\nthis build a tarfile ./distributions/mcsat-src.tar.gz\n\nThe tarfile should contain a full source distribution plus \nprecompiled binaries for linux, Mac/intel, and Window XG.\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsri-csl%2Fpce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsri-csl%2Fpce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsri-csl%2Fpce/lists"}