maingnulib - GNU portability library - Summary

Membership Info
Group Admins:
14 active members

Group identification
Id: 535
System Name: gnulib
Name: gnulib - GNU portability library
Group Type: Official GNU software

This software is part of the GNU Project.

Gnulib is intended to be the canonical source for most of the important "portability" and/or common files for GNU projects.  These are files intended to be shared at the source level; Gnulib is not a library meant to be installed and linked against.

While portability across operating systems is not one of GNU's primary goals, it has helped introduce many people to the GNU system, and is worthwhile when it can be achieved at a low cost.  This collection helps lower that cost.

There is no distribution tarball; developers should just grab source files from the repository.  Please see <> for more details.

Registration Date: Wed 17 Oct 2001 05:49:50 PM UTC
License: GNU General Public License v2 or later
Development Status: 5 - Production/Stable


Latest News rss feed
Gnulib helps you porting to Android
     posted by haible, Sat 15 Apr 2023 10:31:06 PM UTC

An Android app has a UI written in Java, not on top of a C/C++ based GUI toolkit (GNOME, Qt, KDE, wxWidgets, ...). Gnulib cannot help you porting this part of an application to Android.

But when an application has a large part written in C, and you want to reuse this part in the Android app, Gnulib is useful. Recently, Android has been added to [...]

Gnulib helps you get away from fork() + exec()
     posted by haible, Sun 20 Nov 2022 04:27:43 PM UTC

Spawning a new process has traditionally been coded by a fork() call, followed by an execv/execl/execlp/execvp call in the child process. This is often referred to as the fork + exec idiom.

In 90% of the cases, there is something better: the posix_spawn/posix_spawnp functions. [...]

Gnulib provides versatile bit-set implementations
     posted by akim, Wed 13 Jan 2021 12:17:37 PM UTC

Gnulib features bitset, a module to support operations on lists of bits.

Its API is rich, and includes:

  • all the expected operations on single bit (set, toggle, test, etc.);
  • all the traditional binary bitwise operators (and, or, xor), often in two flavors (return new values, or perform in place);
Gnulib supports portable multithreading
     posted by haible, Wed 30 Dec 2020 03:10:08 PM UTC

There are three main motivations for using multiple threads in a program:

  • To get computational tasks done is less time, by using more than one CPU core at once.
  • For event handling. The older approach with signals and/or file descriptors in non-blocking mode leads to brittle and racey programs. Using separate threads that use read() or
Quick Overview
 Memberlist (14 members)

Communication Tools
 Mailing Lists (2 public mailing lists)

Back to the top

Powered by Savane 3.13-4448.
Corresponding source code