Important notes --------------- Date Modules Changes 2013-04-24 gettext If your project uses 'gettextize --intl' it is now your responsibility to put -I$(top_builddir)/intl into the Makefile.am for gnulib. 2012-06-27 elisp-comp The module 'elisp-comp' is removed; the script is not independently useful outside of automake. 2012-06-21 gnulib-tool The option --with-tests is now implied by the options --create-testdir, --test, --create-megatestdir, --megatest. 2012-01-07 quotearg In the C locale, the function will no longer use the grave accent character to begin a quoted string (`like this'). It will use apostrophes 'like these' or, in Unicode locales, single quotes ‘like these’. You may want to adjust any error messages that hard code the quoting characters. 2010-09-04 gnulib-tool The option '--import' is no longer cumulative; it now expects the complete list of modules and other options on the command line. If you want to augment (not set) the list of modules, use the new option '--add-import' instead of '--import'. User visible incompatible changes --------------------------------- Date Modules Changes 2013-05-04 gnulib-tool CVS checkout of gnulib are no longer supported. 2013-02-08 careadlinkat This module no longer provides the careadlinkatcwd function. 2012-06-26 getopt-posix This module no longer guarantees that option processing is resettable. If your code uses 'optreset' or 'optind = 0;', rewrite it to make only one pass over the argument array. 2012-02-24 streq This module no longer provides the STREQ macro. Use STREQ_OPT instead. 2012-01-10 ignore-value This module no longer provides the ignore_ptr function. It was deprecated a year ago, but existed so briefly before then that it never came into use. Now, the ignore_value function does its job. 2011-11-18 hash This module deprecates the hash_insert0 function using gcc's "deprecated" attribute. Use the better- named hash_insert_if_absent equivalent. 2011-11-04 openat This module no longer provides the mkdirat() function. If you need this function, you now need to request the 'mkdirat' module. 2011-11-04 openat This module no longer provides the fstatat() function. If you need this function, you now need to request the 'fstatat' module. 2011-11-03 openat This module no longer provides the unlinkat() function. If you need this function, you now need to request the 'unlinkat' module. 2011-11-02 openat This module no longer provides the fchmodat() function. If you need this function, you now need to request the 'fchmodat' module. 2011-11-01 alignof This module no longer provides the alignof() macro. Use either alignof_slot() or alignof_type() instead. 2011-11-01 openat This module no longer provides the fchownat() function. If you need this function, you now need to request the 'fchownat' module. 2011-10-03 poll The link requirements of this module are changed from empty to $(LIB_POLL). 2011-09-25 sys_stat This module no longer provides the fstat() function. If you need this function, you now need to request the 'fstat' module. 2011-09-23 signal This module is renamed to 'signal-h'. 2011-09-22 select The link requirements of this module are changed from $(LIBSOCKET) to $(LIB_SELECT). 2011-09-12 fchdir This module no longer overrides the functions opendir() and closedir(), unless the modules 'opendir' and 'closedir' are in use, respectively. If you use opendir(), please use module 'opendir'. If you use closedir(), please use module 'closedir'. 2011-08-04 pathmax The header file "pathmax.h" no longer defines PATH_MAX on GNU/Hurd. Please use one of the methods listed in pathmax.h to ensure your package is portable to GNU/Hurd. 2011-07-24 close This module no longer pulls in the 'fclose' module. If your code creates a socket descriptor using socket() or accept(), then a FILE stream referring to it using fdopen(), then in order to close this stream, you need the 'fclose' module. 2011-07-12 arg-nonnull Renamed to snippet/arg-nonnull. c++defs Renamed to snippet/c++defs. link-warning Renamed to snippet/link-warning. unused-parameter Renamed to snippet/unused-parameter. warn-on-use Renamed to snippet/warn-on-use. 2011-06-15 verify verify_true (V) is deprecated; please use verify_expr (V, 1) instead. 2011-06-05 ansi-c++-opt When a C++ compiler is not found, the variable CXX is now set to "no", not to ":". 2011-05-11 group-member The include file is changed from "group-member.h" to . 2011-05-02 exit The module is removed. It was deprecated on 2010-03-05. Use 'stdlib' directly instead. 2011-04-27 mgetgroups The 'xgetgroups' function has been split into a new 'xgetgroups' module. 2011-04-27 save-cwd This module pulls in fewer dependencies by default; to retain robust handling of directories with an absolute name longer than PATH_MAX, you must now explicitly include the 'getcwd' module. 2011-04-19 close-hook This module has been renamed to 'fd-hook' and generalized. 2011-03-08 regex-quote The last argument is no longer an 'int cflags' but instead a pointer to a previously constructed 'struct regex_quote_spec'. 2011-02-25 dirname These modules no longer put #defines for the dirname-lgpl following symbols into : ISSLASH, backupfile FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX, lstat FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR, openat FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE. remove Applications that need ISSLASH can include the new rmdir header dosname.h. savewd stat unlink 2011-02-14 getloadavg This module no longer #defines C_GETLOADAVG or HAVE_GETLOADAVG, as the application no longer needs to worry about how getloadavg is defined. It no longer defines the obsolete symbol NLIST_NAME_UNION (which should have been internal to the module anyway). Also, support for setgid use has been removed, as nobody seems to be using it; thus GETLOADAVG_PRIVILEGED is no longer #defined and KMEM_GROUP and NEED_SETGID are no longer substituted for. 2011-02-08 stdlib Unless the random_r module is also used, this module no longer guarantees that the following are defined: struct random_data, RAND_MAX, random_r, srandom_r, initstate_r, setstate_r. 2011-02-08 wctype-h This module no longer provides the iswblank() function. If you need this function, you now need to request the 'iswblank' module. 2011-02-07 wctype This module is renamed to wctype-h. 2011-01-18 multiarch This no longer #defines AA_APPLE_UNIVERSAL_BUILD; instead, use the shell var APPLE_UNIVERSAL_BUILD. 2010-12-10 pipe This module is renamed to spawn-pipe. The include file is renamed to "spawn-pipe.h". 2010-10-05 getdate This module is deprecated. Please use the new parse-datetime module for the replacement function parse_datetime(), or help us write getdate-posix for getdate(). Also, the header "getdate.h" has been renamed "parse-datetime.h", and doc/getdate.texi to doc/parse-datetime.texi. 2010-09-29 sys_wait This module no longer provides the waitpid() function. If you need this function, you now need to request the 'waitpid' module. 2010-09-17 utimens The function gl_futimens is removed, and its signature has been migrated to fdutimens. Callers of gl_futimens should change function name, and callers of fdutimens should swap parameter order. 2010-09-17 fdutimensat This function has a new signature: the fd now comes first instead of the dir/name pair, and a new atflag parameter is added at the end. Old code should rearrange parameters, and pass 0 for atflag. 2010-09-13 regex The module is not guaranteeing anymore support for 64-bit regoff_t on 64-bit systems. The size of regoff_t will always be 32-bit unless the program is being configured --with-included-regex. This may change again in the future once glibc provides this feature as well. 2010-09-12 savedir The fdsavedir function is now deprecated. 2010-09-10 fcntl-h This module now defaults O_CLOEXEC to 0, and it defaults O_EXEC and O_SEARCH to O_RDONLY. Use "#if O_CLOEXEC" instead of "#ifdef O_CLOEXEC". 2010-08-28 realloc This module is deprecated. Use 'realloc-gnu' instead. It will be removed 2012-01-01. 2010-08-28 calloc This module is deprecated. Use 'calloc-gnu' instead. It will be removed 2012-01-01. 2010-08-28 malloc This module is deprecated. Use 'malloc-gnu' instead. It will be removed 2012-01-01. 2010-08-14 memxfrm This module is renamed to amemxfrm. The include file is renamed to "amemxfrm.h". The function is renamed to amemxfrm. 2010-08-09 symlinkat This module now only provides symlinkat; use the new module 'readlinkat' if needed. 2010-07-31 ansi-c++-opt If Autoconf >= 2.66 is used, the 'configure' option is now called --disable-c++ rather than --disable-cxx. 2010-04-02 maintainer-makefile The macro _prohibit_regexp has been revamped into a new macro _sc_search_regexp; custom syntax checks in your cfg.mk will need to be rewritten. 2010-03-28 lib-ignore This module now provides a variable IGNORE_UNUSED_LIBRARIES_CFLAGS that you should add to LDFLAGS (when linking C programs only) or CFLAGS yourself. It is no longer added to LDFLAGS automatically. 2010-03-18 pty This module now only declares the pty.h header. Use the new modules 'forkpty' or 'openpty' to get the functions that were previously provided. 2010-03-05 exit This module is deprecated, use 'stdlib' directly instead. It will be removed 2011-01-01. 2009-12-13 sublist The module does not define functions any more that call xalloc_die() in out-of-memory situations. Use module 'xsublist' and include file "gl_xsublist.h" instead. 2009-12-13 list The module does not define functions any more that call xalloc_die() in out-of-memory situations. Use module 'xlist' and include file "gl_xlist.h" instead. 2009-12-13 oset The module does not define functions any more that call xalloc_die() in out-of-memory situations. Use module 'xoset' and include file "gl_xoset.h" instead. 2009-12-10 * Most source code files have been converted to indentation by spaces (rather than tabs). Patches of gnulib source code needs to be updated. 2009-12-09 link-warning The Makefile rules that use $(LINK_WARNING_H) now must contain an explicit dependency on $(LINK_WARNING_H). 2009-11-12 getgroups These functions now use a signature of gid_t, getugroups rather than GETGROUPS_T. This probably has no effect except on very old platforms. 2009-11-04 tempname The gen_tempname function takes an additional 'suffixlen' argument. You can safely pass 0. 2009-11-04 nproc The num_processors function now takes an argument. 2009-11-02 inet_pton The use of this module now requires linking with $(INET_PTON_LIB). 2009-11-02 inet_ntop The use of this module now requires linking with $(INET_NTOP_LIB). 2009-10-10 utimens The use of this module now requires linking with $(LIB_CLOCK_GETTIME). 2009-09-16 canonicalize-lgpl The include file is changed from "canonicalize.h" to . 2009-09-04 link-follow The macro LINK_FOLLOWS_SYMLINK is now tri-state, rather than only defined to 1. 2009-09-03 openat The include files are standardized to POSIX 2008. For openat, include ; for fchmodat, fstatat, and mkdirat, include ; for fchownat and unlinkat, include . For all other functions provided by this module, continue to include "openat.h". 2009-08-30 striconveh The functions mem_cd_iconveh and str_cd_iconveh now take an 'iconveh_t *' argument instead of three iconv_t arguments. 2009-08-23 tempname The gen_tempname function takes an additional 'flags' argument. You can safely pass 0. 2009-08-12 getopt This module is deprecated. Please choose among getopt-posix and getopt-gnu. getopt-gnu provides "long options" and "options with optional arguments", getopt-posix doesn't. 2009-06-25 fpurge The include file is changed from "fpurge.h" to . 2009-04-26 modules/uniconv/u8-conv-from-enc modules/uniconv/u16-conv-from-enc modules/uniconv/u32-conv-from-enc The calling convention of the functions u*_conv_from_encoding is changed. 2009-04-26 modules/uniconv/u8-conv-to-enc modules/uniconv/u16-conv-to-enc modules/uniconv/u32-conv-to-enc The calling convention of the functions u*_conv_to_encoding is changed. 2009-04-24 maintainer-makefile The maint.mk file was copied from coreutils, and the old coverage/gettext/indent rules were re-added. If you used 'make syntax-check' this will add several new checks. If some new check is annoying, add the name of the checks to 'local-checks-to-skip' in your cfg.mk. 2009-04-01 visibility Renamed to lib-symbol-visibility. 2009-04-01 ld-version-script Renamed to lib-symbol-versions. 2009-03-20 close The substituted variable LIB_CLOSE is removed. 2009-03-05 filevercmp Move hidden files up in ordering. 2009-01-22 c-strtod This function no longer calls xalloc_die(). If c-strtold you want to exit the program in case of out-of- memory, the calling function needs to arrange for it, like this: errno = 0; val = c_strtod (...); if (val == 0 && errno == ENOMEM) xalloc_die (); 2009-01-17 relocatable-prog In the Makefile.am or Makefile.in, you now also need to set RELOCATABLE_STRIP = :. 2008-12-22 getaddrinfo When using this module, you now need to link with canon-host $(GETADDRINFO_LIB). 2008-12-21 mbiter The header files "mbiter.h", "mbuiter.h", mbuiter "mbfile.h" can now be included without checking mbfile HAVE_MBRTOWC. The macro HAVE_MBRTOWC will no longer be defined by these modules in a year. If you want to continue to use it, you need to invoke AC_FUNC_MBRTOWC yourself. 2008-11-11 warnings This module subsumes the file m4/warning.m4 which was removed. 2008-10-20 lstat The include file is changed from "lstat.h" to . 2008-10-20 getaddrinfo The include file is changed from "getaddrinfo.h" to . 2008-10-19 isnanf The include file is changed from "isnanf.h" to . isnand The include file is changed from "isnand.h" to . isnanl The include file is changed from "isnanl.h" to . 2008-10-18 lchmod The include file is changed from "lchmod.h" to . 2008-10-18 dirfd The include file is changed from "dirfd.h" to . 2008-10-18 euidaccess The include file is changed from "euidaccess.h" to . 2008-10-18 getdomainname The include file is changed from "getdomainname.h" to . 2008-09-28 sockets When using this module, you now need to link with $(LIBSOCKET). 2008-09-24 sys_select The limitation on 'select', introduced 2008-09-23, was removed. sys_select now includes a select wrapper for Winsock. The wrapper expects socket and file descriptors to be compatible as arranged by the sys_socket on MinGW. 2008-09-23 sys_socket Under Windows (MinGW), the module now adds wrappers around Winsock functions, so that socket descriptors are now compatible with file descriptors. In general, this change will simply improve your code's portability between POSIX platforms and Windows. In particular, you will be able to use ioctl and close instead of ioctlsocket and closesocket, and test errno instead of WSAGetLastError (). On the other hand, you have to audit your code to remove usage of these Winsock-specific functions. This change does not remove the need to call the gl_sockets_startup function from the sockets gnulib module. Also, for now select is disabled when you include the sys_socket module; while the functionality will be restored soon, for efficiency it is suggested to use the poll system poll system call and gnulib module instead. 2008-09-13 EOVERFLOW The module is removed. Use module errno instead. 2008-09-01 filename The module does not define the function concatenated_filename any more. To get an equivalent function, use function xconcatenated_filename from module 'xconcat-filename'. 2008-08-31 havelib On Solaris, when searching for 64-bit mode libraries the directory $prefix/lib is now ignored. Instead the directory $prefix/lib/64 is searched. You may need to create a symbolic link for $prefix/lib/64 if you have 64-bit libraries installed in $prefix/lib. 2008-08-19 strverscmp The include file is changed from "strverscmp.h" to . 2008-08-14 lock The include file is changed from "lock.h" to "glthread/lock.h". tls The include file is changed from "tls.h" to "glthread/tls.h". 2008-07-17 c-stack The module now requires the addition of $(LIBCSTACK) or $(LTLIBCSTACK) in Makefile.am, since it may depend on linking with libsigsegv. 2008-07-07 isnanf-nolibm The include file is changed from "isnanf.h" to "isnanf-nolibm.h". isnand-nolibm The include file is changed from "isnand.h" to "isnand-nolibm.h". 2008-06-10 execute The execute function takes an additional termsigp argument. Passing termsigp = NULL is ok. wait-process The wait_subprocess function takes an additional termsigp argument. Passing termsigp = NULL is ok. 2008-05-10 linebreak The module is split into several modules unilbrk/*. The include file is changed from "linebreak.h" to "unilbrk.h". Two functions are renamed: mbs_possible_linebreaks -> ulc_possible_linebreaks mbs_width_linebreaks -> ulc_width_linebreaks 2008-04-28 rpmatch The include file is now . 2008-04-28 inet_ntop The include file is changed from "inet_ntop.h" to . 2008-04-28 inet_pton The include file is changed from "inet_pton.h" to . 2008-03-06 freadahead The return value's computation has changed. It now increases by 1 after ungetc. 2008-01-26 isnan-nolibm The module name is changed from isnan-nolibm to isnand-nolibm. The include file is changed from "isnan.h" to "isnand.h". The function that it defines is changed from isnan() to isnand(). 2008-01-14 strcasestr This module now replaces worst-case inefficient implementations; clients that use controlled needles and thus do not care about worst-case efficiency should use the new strcasestr-simple module instead for smaller code size. 2008-01-09 alloca-opt Now defines HAVE_ALLOCA_H only when the system supplies an . Gnulib-using code is now expected to include unconditionally. Non-gnulib-using code can continue to include only if HAVE_ALLOCA_H is defined. 2008-01-08 memmem This module now replaces worst-case inefficient implementations; clients that use controlled needles and thus do not care about worst-case efficiency should use the new memmem-simple module instead for smaller code size. 2007-12-24 setenv The include file is changed from "setenv.h" to . Also, the unsetenv function is no longer declared in this module; use the 'unsetenv' module if you need it. 2007-12-03 getpagesize The include file is changed from "getpagesize.h" to . 2007-12-03 strcase The include file is changed from to . 2007-10-07 most modules The license for most modules has changed from GPLv2+ to GPLv3+, and from LGPLv2+ to LGPLv3+. A few modules are still under LGPLv2+; see the module description for the applicable license. 2007-09-01 linebreak "linebreak.h" no longer declares the functions locale_charset, uc_width, u{8,16,32}_width. Use "uniwidth.h" to get these functions declared. 2007-08-28 areadlink-with-size Renamed from mreadlink-with-size. Function renamed: mreadlink_with_size -> areadlink_with_size. 2007-08-22 getdelim, getline The include file is changed from "getdelim.h" and "getline.h" to the POSIX 200x . 2007-08-18 idcache Now provides prototypes in "idcache.h". 2007-08-10 xstrtol The STRTOL_FATAL_ERROR macro is removed. Use the new xstrtol_fatal function instead. 2007-08-04 human The function human_options no longer reports an error to standard error; that is now the caller's responsibility. It returns an error code of type enum strtol_error instead of the integer option value, and stores the option value via a new int * argument. xstrtol The first two arguments of STRTOL_FATAL_ERROR are now an option name and option argument instead of an option argument and a type string, STRTOL_FAIL_WARN is removed. 2007-07-14 gpl, lgpl New Texinfo versions with no sectioning commands. 2007-07-10 version-etc Output now mentions GPLv3+, not GPLv2+. Use gnulib-tool --local-dir to override this. 2007-07-07 wcwidth The include file is changed from "wcwidth.h" to . 2007-07-02 gpl, lgpl Renamed to gpl-2.0 and lgpl-2.1 respectively. (There is also a new module gpl-3.0.) 2007-06-16 lchown The include file is changed from "lchown.h" to . 2007-06-09 xallocsa Renamed to xmalloca. The include file "xallocsa.h" was renamed to "xmalloca.h". The function was renamed: xallocsa -> xmalloca 2007-06-09 allocsa Renamed to malloca. The include file "allocsa.h" was renamed to "malloca.h". The function-like macros were renamed: allocsa -> malloca freesa -> freea 2007-05-20 utimens Renamed futimens to gl_futimens, to avoid conflict with the glibc-2.6-introduced function that has a different signature. 2007-05-01 sigprocmask The module now depends on signal, so replace #include "sigprocmask.h" with #include 2007-04-06 gettext The macro HAVE_LONG_DOUBLE is no longer set. You can replace all its uses with 1, i.e. assume 'long double' as a type exists. 2007-04-01 arcfour Renamed to crypto/arcfour. arctwo Renamed to crypto/arctwo. des Renamed to crypto/des. gc Renamed to crypto/gc. gc-arcfour Renamed to crypto/gc-arcfour. gc-arctwo Renamed to crypto/gc-arctwo. gc-des Renamed to crypto/gc-des. gc-hmac-md5 Renamed to crypto/gc-hmac-md5. gc-hmac-sha1 Renamed to crypto/gc-hmac-sha1. gc-md2 Renamed to crypto/gc-md2. gc-md4 Renamed to crypto/gc-md4. gc-md5 Renamed to crypto/gc-md5. gc-pbkdf2-sha1 Renamed to crypto/gc-pbkdf2-sha1. gc-random Renamed to crypto/gc-random. gc-rijndael Renamed to crypto/gc-rijndael. gc-sha1 Renamed to crypto/gc-sha1. hmac-md5 Renamed to crypto/hmac-md5. hmac-sha1 Renamed to crypto/hmac-sha1. md2 Renamed to crypto/md2. md4 Renamed to crypto/md4. md5 Renamed to crypto/md5. rijndael Renamed to crypto/rijndael. sha1 Renamed to crypto/sha1. 2007-03-27 vasprintf The module now depends on stdio, so replace #include "vasprintf.h" with #include 2007-03-24 tsearch The include file is changed from "tsearch.h" to . 2007-03-24 utf8-ucs4 The include file is changed from "utf8-ucs4.h" to "unistr.h". utf8-ucs4-unsafe The include file is changed from "utf8-ucs4-unsafe.h" to "unistr.h". utf16-ucs4 The include file is changed from "utf16-ucs4.h" to "unistr.h". utf16-ucs4-unsafe The include file is changed from "utf16-ucs4-unsafe.h" to "unistr.h". ucs4-utf8 The include file is changed from "ucs4-utf8.h" to "unistr.h". ucs4-utf16 The include file is changed from "ucs4-utf16.h" to "unistr.h". 2007-03-19 iconvme The module is removed. Use module striconv instead: iconv_string -> str_iconv iconv_alloc -> str_cd_iconv (with reversed arguments) 2007-03-15 list The functions gl_list_create_empty and array-list gl_list_create now take an extra fourth argument. carray-list You can pass NULL. linked-list linkedhash-list avltree-list rbtree-list avltreehash-list rbtreehash-list 2007-03-15 oset The function gl_oset_create_empty now takes a array-oset third argument. You can pass NULL. avltree-oset rbtree-oset 2007-03-12 des The types and functions in lib/des.h have been gc-des renamed: des_ctx -> gl_des_ctx, tripledes_ctx -> gl_3des_ctx, des_is_weak_key -> gl_des_is_weak_key, des_setkey -> gl_des_setkey, des_makekey -> gl_des_makekey, des_ecb_crypt -> gl_des_ecb_crypt, des_ecb_encrypt -> gl_des_ecb_encrypt, des_ecb_decrypt -> gl_des_ecb_decrypt, tripledes_set2keys -> gl_3des_set2keys, tripledes_set3keys -> gl_3des_set3keys, tripledes_makekey -> gl_3des_makekey, tripledes_ecb_crypt -> gl_3des_ecb_crypt. Also consider using the "gc-des" buffer instead of using the "des" module directly. 2007-02-28 xreadlink The module xreadlink was renamed to xreadlink-with-size. The function was renamed: xreadlink -> xreadlink_with_size. 2007-02-18 exit The modules now depend on stdlib, so replace mkdtemp #include "exit.h" mkstemp #include "mkdtemp.h" #include "mkstemp.h" with #include 2007-01-26 strdup The module now depends on string, so replace #include "strdup.h" with #include # This is for Emacs. # Local Variables: # indent-tabs-mode: nil # whitespace-check-buffer-indent: nil # End: