CARVIEW |
Select Language
HTTP/2 200
date: Thu, 24 Jul 2025 23:27:50 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"3db6c51f59d47656cda084f7e0df99f1"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=NqaIXl8WjIYrNa9SpfdhM5zAEuyXAKfN3DgfxLYXRcTnSdyO48JcV0wskKg8kMGj3%2FXsieQ8KPohgUcuFnGfeneUYYwEIw%2Fr6hW9ZObqMgyaglPwJzKHVLsuq4%2Bwvjon51Y5WlUAMfpNkG1xaUIpfv6GnjmKhPj%2FmkcxumQuT9xo2DAX%2F2UiXD%2BxQn2iBk0veyK3GoBq9lMVFeavk%2FRLuC%2FPH9iVgolM38LKUyxvribDcj0DUkVcQgx0Ls7MtZIKj%2BTy0Khf0WmZbiLymo4ogg%3D%3D--Q%2B6ttnAU7BsosGm6--DUFd0EppKI2PGBlTKUxZ4Q%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1586613463.1753399670; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 23:27:50 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 23:27:50 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: C862:DBBD4:D782:14EF4:6882C176
GitHub - koanlogic/libu: LibU is a multiplatform utility library written in C, with APIs for handling memory allocation, networking and URI parsing, string manipulation, debugging, and logging in a very compact way, plus many other miscellaneous tasks
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 97
LibU is a multiplatform utility library written in C, with APIs for handling memory allocation, networking and URI parsing, string manipulation, debugging, and logging in a very compact way, plus many other miscellaneous tasks
License
koanlogic/libu
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
== MaKL is a Prerequisite == LibU needs https://koanlogic.com/makl to configure and build. The following commands should be sufficient to get MaKL installed on any Linux flavour or Darwin/MacOSX: $ wget https://koanlogic.com/download/makl/makl-${VERSION}.tar.gz $ tar zxf makl-${VERSION}.tar.gz && cd makl-${VERSION} $ sh configure.sh $ su Password: **** # make install Should your platform be one of Solaris, OpenSolaris, FreeBSD, PC-BSD, OpenBSD, NetBSD, DragonflyBSD, Minix or Windows (MinGW or Gygwin) take a look at the INSTALL file in the top-level MaKL sources directory to track down specific variations on the theme. == Download == Once MaKL is there, you can start downloading the package (always check the official https://koanlogic.com/libu page for the latest version and related ChangeLog) and tailor it to your specific needs: $ wget https://koanlogic.com/download/libu/libu-${VERSION}.tar.gz $ tar zxf libu-${VERSION}.tar.gz && cd libu-${VERSION} == Configure == E.g. should you need to change the default installation path (i.e. /usr/local), use: $ makl-conf --prefix="/my/install/base/dir" Debug symbols and warnings from the compiler can be switched on via --enable_debug and --enable_warns (use --enable_icc_warns instead when working with the Intel C compiler): $ makl-conf --enable_debug --enable_warns Code profiling using gprof(1) can be activated via --enable_profile, and, more generally, any compiler flag can be passed to the build stage in the following way: $ makl-conf --extra-cflags="-Wformat -Wno-format-extra-args -Wformat-security -Wformat-nonliteral -Wformat=2" The --extra-xxx="val" is indeed a powerful mechanism by which any Makefile variable 'XXX' (uppercase!) can be given an additional value 'val': (ab)use it to tweak LDFLAGS, SHLIB_LDFLAGS, etc. as needed. Anyway if in doubt, or in search for exotic features, type makl-conf -h to display the complete list of options: it's likely that what you are trying to achieve is already there. By default LibU is compiled as static library, to also enable shared library build, supply the --enable_shared flag. == Pick Up What Needs to be Included == The default is to build all the modules, but you can disable the inclusion of specific bits selectively using the following switches: - --no_hmap: to disable the hmap module - --no_config: to disable the config module - --no_net: to disable the net module - --no_env: to disable the env module - --no_fs: to disable the fs module - --no_pwd: to disable the pwd module - --no_list: to disable the list module - --no_array: to disable the array module - --no_ringbuffer: to disable the rb module - --no_pqueue: to disable the pq module - --no_json: to disable the json module - --no_bst: to disable the bst module Also, some specific features regarding the networking code can be disabled at configuration: - --no_ipv6: to disable IPv6 protocol support - --no_sctp: to disable SCTP protocol support - --no_unixsock: to disable UNIX IPC support If you need to enable compatibility with (some, not all) 1.X interfaces, specify the --compat_1x command line switch. == Build, Test and Install == When you are done with the configure step, you can build LibU bits and optionally test them: $ makl $ makl -C test And finally install it: $ su Password: **** # makl install == Hello LibU ! == You now are ready to play with your first LibU program: $ cat main.c #include <u/libu.h> int facility = LOG_LOCAL0; int main (void) { u_con("Hello LibU world !"); return 0; } Write a Makefile like the following: $ cat Makefile include common.mk PROG = hellolibu SRCS = main.c LDADD += /path/to/install/prefix/lib/libu.a CFLAGS += -I/path/to/install/prefix/include include prog.mk Then type: $ makl && ./hellolibu and enjoy !
About
LibU is a multiplatform utility library written in C, with APIs for handling memory allocation, networking and URI parsing, string manipulation, debugging, and logging in a very compact way, plus many other miscellaneous tasks
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
You can’t perform that action at this time.