{"id":43063827,"url":"https://github.com/m-grant-prg/libmgec","last_synced_at":"2026-01-31T12:21:32.088Z","repository":{"id":48214170,"uuid":"133128712","full_name":"m-grant-prg/libmgec","owner":"m-grant-prg","description":"MGE General C Library","archived":false,"fork":false,"pushed_at":"2026-01-14T10:45:27.000Z","size":32022,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"tip","last_synced_at":"2026-01-14T14:25:32.352Z","etag":null,"topics":["autotools","binary-search-tree","bstree","c","double-linked-list","single-linked-list","system-programming"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m-grant-prg.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-05-12T08:39:23.000Z","updated_at":"2026-01-14T10:45:32.000Z","dependencies_parsed_at":"2023-12-29T16:31:02.206Z","dependency_job_id":"68422f10-e392-4982-82db-c0a878d87164","html_url":"https://github.com/m-grant-prg/libmgec","commit_stats":null,"previous_names":[],"tags_count":69,"template":false,"template_full_name":null,"purl":"pkg:github/m-grant-prg/libmgec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flibmgec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flibmgec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flibmgec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flibmgec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m-grant-prg","download_url":"https://codeload.github.com/m-grant-prg/libmgec/tar.gz/refs/heads/tip","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flibmgec/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28942299,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T12:10:04.904Z","status":"ssl_error","status_checked_at":"2026-01-31T12:09:58.894Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["autotools","binary-search-tree","bstree","c","double-linked-list","single-linked-list","system-programming"],"created_at":"2026-01-31T12:21:31.354Z","updated_at":"2026-01-31T12:21:32.080Z","avatar_url":"https://github.com/m-grant-prg.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"---------------------\nMGE General C Library\n=====================\n\nAuthor - Copyright (C) 2017-2023, 2025 Mark Grant\n\n--------\nContents\n========\n\n1 ... Project Description\n\n2 ... AutoTools (configure and make) Installation\n\n3 ... Installation of Distro-Native Packages\n\n4 ... Utility Scripts\n\n5 ... Further Information\n\n\n\n-------------------------\n1 ... Project Description\n=========================\n\nThis AutoTools project contains the libmgec MGE General C Library.\n\nThis library contains sundry functions with no other natural home.\n\nNotable function subjects include:-\nGeneric Binary Search Trees\nGeneric Singly-Linked Lists\nGeneric Doubly-Linked Lists\nA user-space equivalent to errno and strerrno()\nA realloc wrapper with error handling\nBuffers and Messages\n\nIf you are going to build, or build against, this libmgec MGE General C Library\nthen you must install the development files from libmgec-dev.\n\nRelated packages are the libmgec-dev MGE General C Library Development Files,\nan API documentation package libmgec-doc and a full documentation package\nlibmgec-int-doc. These Doxygen documentation packages are also available online\nat - https://m-grant-prg.github.io/libmgec/\n\nN.B.\n----\nAt a source modification / development level, this project expects to reside in\na git environment. This manifests itself in 2 places:-\n1) ... .gitignore files are included in the source.\n2) ... The make target, 'srctarball', relies on the command 'git archive' so it\n\twill fail if git is not installed or it is not in a git repository.\n\n\n-------------------------------------------------\n2 ... AutoTools (configure and make) Installation\n=================================================\n\na) ... Download either the source or distribution tarball (the .tar.gz file)\n\tfrom:-\n\nhttps://github.com/m-grant-prg/libmgec/releases\n\nb) ... Extract the tarball preserving the directory structure.\n\nc) ... cd to the directory created.\n\nd) ... If you downloaded the source tarball type 'autoreconf -if'\n\ne) ... Documents can be registered with scrollkeeper but this process will\n\tconflict if the documents have already been installed via a package\n\tmanager. So, if the documents have not been installed by a package\n\tmanager (For further information please see\n\thttps://m-grant-prg.github.io/libmgec/html-int/md_docs_doxygen_src_150_autotools_internal.html#doc_base ):-\n\n\tType './configure --enable-atonly'\n\n\tand if they have been installed via a package manager:-\n\n\tType './configure'\n\nf) ... As root or sudo, type 'make install clean'\n\ng) ... Update shared libraries links and cache. (For further information please\n\tsee https://m-grant-prg.github.io/libmgec/html-int/md_docs_doxygen_src_150_autotools_internal.html#ldconfig )\n\n\tAs root or sudo, type 'ldconfig'\n\n(Quote marks are for textual clarity only).\n\nTo uninstall the package:\n\n1 ... cd to the directory created in the above install process.\n\n2 ... As root or sudo, type 'make uninstall clean'\n\n3 ... As root or sudo, type 'ldconfig'\n\n\n--------------------------------------------\n3 ... Installation of Distro-Native Packages\n============================================\nInstallation packages native to different distributions are available, please\nrefer to the relevant installation section on the wiki at:-\n\nhttps://github.com/m-grant-prg/libmgec/wiki\n\n\n---------------------\n4 ... Utility Scripts\n=====================\nIn the project root directory there are 2 helper scripts; bootstrap.sh and\ngen-gnulib.sh.\n\nbootstrap.sh\n------------\nThis misleadingly named script bootstraps the project build and provides other\nuseful features. The main options are probably b, c, C, D and T.\n\nIn AutoTools it is usually advisable to perform parallel builds. This means you\nbuild somewhere other than the project root. This is because building creates\nfiles and they would confuse the project root downwards. I always create a build\ndirectory straight off the project root, cd to there and do all build and git\nwork from there, (.gitignore is already set to ignore such a directory).\n\nAssuming you adopt the preceding paragraph then a typical invocation of the\nscript would be:-\n\n../bootstrap.sh --config --build ..\n\nThe last '..' points the way to project root.\n\nFor the full list of arguments to bootstrap.sh, please refer to the options\nsection of the acmbuild wiki, the options are identical:-\n\nhttps://github.com/m-grant-prg/acmbuild/wiki\n\ngen-gnulib.sh\n-------------\nThis script generates or re-generates the gnulib requirements, I shan't go into\ndetail here. Please refer to https://m-grant-prg.github.io/libmgec/html-int/md_docs_doxygen_src_150_autotools_internal.html#gnulib\n\nIt is useful when setting up the project initially, when you are actually\nbuilding in what is required and thinking about it, thereafter it is best to use\n../bootstrap.sh --gnulib ..\nas it determines whether to do a re-generate based on whether the cache file\nexists, i.e. it has been wanted before.\n\n-------------------------\n5 ... Further Information\n=========================\nFurther information can be found on the wiki at:-\n\nhttps://github.com/m-grant-prg/libmgec/wiki\n\nProgrammer oriented documentation can for the latest stable release can be found\nat:-\n\nhttps://m-grant-prg.github.io/libmgec/\n\nThe API link will provide documentation relevant to a consumer of the project,\nwhereas, the internal documentation provides that documentation plus\ndocumentation aimed at contributors to the project.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-grant-prg%2Flibmgec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm-grant-prg%2Flibmgec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-grant-prg%2Flibmgec/lists"}