mirror of
https://github.com/troglobit/libite.git
synced 2026-10-14 10:19:31 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
95e5fdba9b | ||
|
|
b21d1c8e9b | ||
|
|
5b670951a3 | ||
|
|
612290c9e2 | ||
|
|
80d11dccf7 | ||
|
|
438e7a2722 | ||
|
|
96e023e58e | ||
|
|
67a9b379ba | ||
|
|
1c0988b8e2 | ||
|
|
407b8f6dbf | ||
|
|
bc72e1c3ad | ||
|
|
2d10cf0402 | ||
|
|
7adf2a01f2 | ||
|
|
a4ff8cce01 |
No files matched your search
@@ -4,6 +4,29 @@ Change Log
|
|||||||
All notable changes to the project are documented in this file.
|
All notable changes to the project are documented in this file.
|
||||||
|
|
||||||
|
|
||||||
|
[v2.5.0][] - 2021-11-30
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
> **Note:** namespace change; the -lite library include files have moved
|
||||||
|
> from `lite/*.h` to `libite/*.h` due to an unfortunate clash
|
||||||
|
> with "LiTE is a Toobox Engine", from the DirectFB project.
|
||||||
|
> For a transitional period, however, a compatibility symlink
|
||||||
|
> is installed; `lite -> libite/`.
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
- Header files have moved from `lite/*.h` to `libite/*.h` to prevent
|
||||||
|
clashing with DirectFB LiTE library.
|
||||||
|
- Include guards in header files have been renamed, much in the same
|
||||||
|
fashion as the move (above), from `LITE_foo_H_` to `LIBITE_FOO_H_`
|
||||||
|
- Add configure option to disable compatibility symlink, for systems
|
||||||
|
that do not want name clashes with DirectFB/LiTE, or do not need to
|
||||||
|
be backwards compatible; use `configure --without-symlink`
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
- Minor, use defensive coding in `strnlen()` replacement. Only used
|
||||||
|
on systems that do not have a native implementation.
|
||||||
|
|
||||||
|
|
||||||
[v2.4.1][] - 2021-10-09
|
[v2.4.1][] - 2021-10-09
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
@@ -431,6 +454,7 @@ Initial extraction of frog DNA from [Finit][]. See [README][] for API details.
|
|||||||
|
|
||||||
|
|
||||||
[UNRELEASED]: https://github.com/troglobit/libite/compare/v2.4.1...HEAD
|
[UNRELEASED]: https://github.com/troglobit/libite/compare/v2.4.1...HEAD
|
||||||
|
[v2.5.0]: https://github.com/troglobit/libite/compare/v2.4.1...v2.5.0
|
||||||
[v2.4.1]: https://github.com/troglobit/libite/compare/v2.4.0...v2.4.1
|
[v2.4.1]: https://github.com/troglobit/libite/compare/v2.4.0...v2.4.1
|
||||||
[v2.4.0]: https://github.com/troglobit/libite/compare/v2.3.1...v2.4.0
|
[v2.4.0]: https://github.com/troglobit/libite/compare/v2.3.1...v2.4.0
|
||||||
[v2.3.1]: https://github.com/troglobit/libite/compare/v2.3.0...v2.3.1
|
[v2.3.1]: https://github.com/troglobit/libite/compare/v2.3.0...v2.3.1
|
||||||
|
|||||||
@@ -45,31 +45,54 @@ Using -lite
|
|||||||
|
|
||||||
Libite is by default installed as a library and a set of include files.
|
Libite is by default installed as a library and a set of include files.
|
||||||
To prevent clashing with include files of the same name `-lite` employs
|
To prevent clashing with include files of the same name `-lite` employs
|
||||||
an include file namespace `lite/`, which is strongly recommended to use
|
an include file namespace `libite/`, which is strongly recommended to
|
||||||
in your applications:
|
use in your applications:
|
||||||
|
|
||||||
#include <lite/lite.h>
|
```C
|
||||||
#include <lite/conio.h>
|
#include <libite/lite.h>
|
||||||
#include <lite/queue.h>
|
#include <libite/conio.h>
|
||||||
#include <lite/tree.h>
|
#include <libite/queue.h>
|
||||||
|
#include <libite/tree.h>
|
||||||
|
```
|
||||||
|
|
||||||
The output from the `pkg-config` tool holds no surprises in this regard:
|
> **Note:** prior to v2.5.0, the `lite/` namespace was used for headers,
|
||||||
|
> which is still available in the default install. This clashed with
|
||||||
|
> the headers of the LiTE library from the DirectFB project.
|
||||||
|
|
||||||
$ pkg-config --libs --static --cflags libite
|
The output from the `pkg-config` tool holds no surprises:
|
||||||
-I/usr/local/include -L/usr/local/lib -lite
|
|
||||||
|
```bash
|
||||||
|
$ pkg-config --libs --static --cflags libite
|
||||||
|
-I/usr/local/include -D_LIBITE_LITE -L/usr/local/lib -lite
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Note:** `_LIBITE_LITE` is defined since v2.5.0, useful for software
|
||||||
|
> that want to be able to build against headers from an older libite:
|
||||||
|
>
|
||||||
|
> ```C
|
||||||
|
> #ifdef _LIBITE_LITE
|
||||||
|
> # include <libite/lite.h>
|
||||||
|
> #else
|
||||||
|
> # include <lite/lite.h>
|
||||||
|
> #endif
|
||||||
|
> ```
|
||||||
|
|
||||||
The prefix path `/usr/local/` shown here is only the default. Use the
|
The prefix path `/usr/local/` shown here is only the default. Use the
|
||||||
`configure` script to select a different prefix when installing libite.
|
`configure` script to select a different prefix when installing libite.
|
||||||
|
|
||||||
For GNU autotools based projects, use the following in `configure.ac`:
|
For GNU autotools based projects, use the following in `configure.ac`:
|
||||||
|
|
||||||
# Check for required libraries
|
```m4
|
||||||
PKG_CHECK_MODULES([lite], [libite >= 1.5.0])
|
# Check for required libraries
|
||||||
|
PKG_CHECK_MODULES([lite], [libite >= 1.5.0])
|
||||||
|
```
|
||||||
|
|
||||||
and in your `Makefile.am`:
|
and in your `Makefile.am`:
|
||||||
|
|
||||||
proggy_CFLAGS = $(lite_CFLAGS)
|
```Makefile
|
||||||
proggy_LDADD = $(lite_LIBS)
|
proggy_CFLAGS = $(lite_CFLAGS)
|
||||||
|
proggy_LDADD = $(lite_LIBS)
|
||||||
|
```
|
||||||
|
|
||||||
> API Documentaion: https://codedocs.xyz/troglobit/libite/
|
> API Documentaion: https://codedocs.xyz/troglobit/libite/
|
||||||
|
|
||||||
@@ -80,10 +103,18 @@ Build & Install
|
|||||||
This library was initially built for and developed on GNU/Linux systems
|
This library was initially built for and developed on GNU/Linux systems
|
||||||
as a light weight utility library, these days NetBSD should also work.
|
as a light weight utility library, these days NetBSD should also work.
|
||||||
|
|
||||||
./configure
|
```bash
|
||||||
make -j5
|
$ ./configure
|
||||||
sudo make install-strip
|
$ make -j5
|
||||||
sudo ldconfig
|
$ sudo make install-strip
|
||||||
|
$ sudo ldconfig
|
||||||
|
```
|
||||||
|
|
||||||
|
Use <kbd>./configure --without-symlink</kbd> to prevent the install step
|
||||||
|
from creating the `lite -> libite/` compatibility symlink for the header
|
||||||
|
files, required for systems with DirectFB LiTE. The default, however,
|
||||||
|
is to install the symlink to ensure compatibility with existing software
|
||||||
|
that depends on the `-lite` library headers in their previous namespace.
|
||||||
|
|
||||||
**Note:** When checking out code from GIT, use <kbd>./autogen.sh</kbd>
|
**Note:** When checking out code from GIT, use <kbd>./autogen.sh</kbd>
|
||||||
to generate a `configure` script. It is a generated file and otherwise
|
to generate a `configure` script. It is a generated file and otherwise
|
||||||
|
|||||||
+9
-3
@@ -1,4 +1,4 @@
|
|||||||
AC_INIT(libite, 2.4.1, https://github.com/troglobit/libite/issues)
|
AC_INIT(libite, 2.5.0, https://github.com/troglobit/libite/issues)
|
||||||
AC_CONFIG_AUX_DIR(aux)
|
AC_CONFIG_AUX_DIR(aux)
|
||||||
AM_INIT_AUTOMAKE([1.11 foreign dist-xz])
|
AM_INIT_AUTOMAKE([1.11 foreign dist-xz])
|
||||||
AM_SILENT_RULES([yes])
|
AM_SILENT_RULES([yes])
|
||||||
@@ -27,7 +27,13 @@ DX_CHM_FEATURE(OFF)
|
|||||||
DX_HTML_FEATURE(ON)
|
DX_HTML_FEATURE(ON)
|
||||||
DX_MAN_FEATURE(OFF)
|
DX_MAN_FEATURE(OFF)
|
||||||
DX_INIT_DOXYGEN(${PACKAGE_NAME}, [${top_builddir}/doc/Doxyfile], [${top_builddir}/doc])
|
DX_INIT_DOXYGEN(${PACKAGE_NAME}, [${top_builddir}/doc/Doxyfile], [${top_builddir}/doc])
|
||||||
AM_CONDITIONAL(ENABLE_DOXYGEN,[test "x${DX_FLAG_doc}" = x1])
|
|
||||||
AM_CONDITIONAL(ENABLE_HTML,[test "x${DX_FLAG_html}" = x1])
|
AC_ARG_WITH([symlink],
|
||||||
|
AS_HELP_STRING([--without-symlink], [Disable compat /usr/include/lite -> libite symlink]),,
|
||||||
|
[with_symlink=yes])
|
||||||
|
|
||||||
|
AM_CONDITIONAL([ENABLE_DOXYGEN], [test "x${DX_FLAG_doc}" = x1])
|
||||||
|
AM_CONDITIONAL([ENABLE_HTML], [test "x${DX_FLAG_html}" = x1])
|
||||||
|
AM_CONDITIONAL([COMPAT_SYMLINK], [test "x$with_symlink" != "xno"])
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
Vendored
+8
@@ -1,3 +1,11 @@
|
|||||||
|
libite (2.5.0) stable; urgency=medium
|
||||||
|
|
||||||
|
* Header files have moved from `lite/*.h` to `libite/*.h` to prevent
|
||||||
|
clashing with DirectFB LiTE library. For a transitional period,
|
||||||
|
however, a compatibility symlink is installed; `lite -> libite/`.
|
||||||
|
|
||||||
|
-- Joachim Wiberg <troglobit@gmail.com> Tue, 30 Nov 2021 06:57:17 +0100
|
||||||
|
|
||||||
libite (2.4.1) stable; urgency=medium
|
libite (2.4.1) stable; urgency=medium
|
||||||
|
|
||||||
* Add doxygen documentation, https://codedocs.xyz/troglobit/libite/
|
* Add doxygen documentation, https://codedocs.xyz/troglobit/libite/
|
||||||
|
|||||||
Vendored
+2
-1
@@ -1,4 +1,5 @@
|
|||||||
usr/include/lite/*.h
|
usr/include/libite/*.h
|
||||||
|
usr/include/lite
|
||||||
usr/lib/*/lib*.a
|
usr/lib/*/lib*.a
|
||||||
usr/lib/*/lib*.so
|
usr/lib/*/lib*.so
|
||||||
usr/lib/*/pkgconfig/lib*.pc
|
usr/lib/*/pkgconfig/lib*.pc
|
||||||
+17
-2
@@ -21,10 +21,25 @@ libite_la_SOURCES = chomp.c copyfile.c \
|
|||||||
queue.h tree.h
|
queue.h tree.h
|
||||||
|
|
||||||
|
|
||||||
## Distribute these header files in the <lite/...> name space
|
## Distribute these header files in the <libite/...> namespace
|
||||||
pkgincludedir = $(includedir)/lite
|
pkgincludedir = $(includedir)/libite
|
||||||
pkginclude_HEADERS = lite.h queue.h conio.h tree.h strlite.h strdupa.h \
|
pkginclude_HEADERS = lite.h queue.h conio.h tree.h strlite.h strdupa.h \
|
||||||
strndupa.h strnlen.h
|
strndupa.h strnlen.h
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = libite.pc
|
pkgconfig_DATA = libite.pc
|
||||||
|
|
||||||
|
## For compatibility with previous <lite/...> namespace
|
||||||
|
if COMPAT_SYMLINK
|
||||||
|
install-data-hook:
|
||||||
|
link=$(DESTDIR)$(includedir)/lite; \
|
||||||
|
if [ ! -f $$link ]; then \
|
||||||
|
$(LN_S) libite $$link; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
uninstall-hook:
|
||||||
|
link=$(shell readlink $(DESTDIR)$(includedir)/lite); \
|
||||||
|
if [ "$$link" = "libite" ]; then \
|
||||||
|
$(RM) $(DESTDIR)$(includedir)/lite; \
|
||||||
|
fi
|
||||||
|
endif
|
||||||
+3
-3
@@ -29,8 +29,8 @@ extern "C"
|
|||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONIO_H_
|
#ifndef LIBITE_CONIO_H_
|
||||||
#define CONIO_H_
|
#define LIBITE_CONIO_H_
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
@@ -130,7 +130,7 @@ static inline void printheader(FILE *fp, const char *line, int nl)
|
|||||||
printhdr(fp, line, nl, REVERSE);
|
printhdr(fp, line, nl, REVERSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONIO_H_ */
|
#endif /* LIBITE_CONIO_H_ */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -8,5 +8,4 @@ Description: Frog DNA, basically
|
|||||||
Version: @VERSION@
|
Version: @VERSION@
|
||||||
Requires:
|
Requires:
|
||||||
Libs: -L${libdir} -lite
|
Libs: -L${libdir} -lite
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir} -D_LIBITE_LITE
|
||||||
|
|
||||||
+3
-3
@@ -38,8 +38,8 @@ extern "C"
|
|||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LITE_H_
|
#ifndef LIBITE_LITE_H_
|
||||||
#define LITE_H_
|
#define LIBITE_LITE_H_
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h> /* Definition of AT_* constants for utimensat() */
|
#include <fcntl.h> /* Definition of AT_* constants for utimensat() */
|
||||||
@@ -245,7 +245,7 @@ static inline int fisslashdir(const char *dir)
|
|||||||
#define pidfile_read_pid(file) pidfile_read(file)
|
#define pidfile_read_pid(file) pidfile_read(file)
|
||||||
#define signal_pidfile(file, signo) pidfile_signal(file, signo)
|
#define signal_pidfile(file, signo) pidfile_signal(file, signo)
|
||||||
|
|
||||||
#endif /* LITE_H_ */
|
#endif /* LIBITE_LITE_H_ */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -36,8 +36,8 @@ extern "C"
|
|||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LITE_STRDUPA_H
|
#ifndef LIBITE_STRDUPA_H
|
||||||
#define LITE_STRDUPA_H
|
#define LIBITE_STRDUPA_H
|
||||||
|
|
||||||
#if !defined(HAVE_STRDUPA)
|
#if !defined(HAVE_STRDUPA)
|
||||||
#if defined(strdupa)
|
#if defined(strdupa)
|
||||||
@@ -67,7 +67,7 @@ extern "C"
|
|||||||
#endif /* __GNUC__ */
|
#endif /* __GNUC__ */
|
||||||
#endif /* !HAVE_STRDUPA */
|
#endif /* !HAVE_STRDUPA */
|
||||||
|
|
||||||
#endif /* LITE_STRDUPA_H */
|
#endif /* LIBITE_STRDUPA_H */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -33,8 +33,8 @@ extern "C"
|
|||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LITE_STRING_H_
|
#ifndef LIBITE_STRING_H_
|
||||||
#define LITE_STRING_H_
|
#define LIBITE_STRING_H_
|
||||||
|
|
||||||
#include <stdint.h> /* uint8_t, uint16_t, uint32_t, INT32_MAX, etc. */
|
#include <stdint.h> /* uint8_t, uint16_t, uint32_t, INT32_MAX, etc. */
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -143,7 +143,7 @@ static inline int string_case_compare(const char *a, const char *b)
|
|||||||
return strlen(a) == strlen(b) && !strcasecmp(a, b);
|
return strlen(a) == strlen(b) && !strcasecmp(a, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LITE_STRING_H_ */
|
#endif /* LIBITE_STRING_H_ */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -36,8 +36,8 @@ extern "C"
|
|||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LITE_STRNDUPA_H_
|
#ifndef LIBITE_STRNDUPA_H_
|
||||||
#define LITE_STRNDUPA_H_
|
#define LIBITE_STRNDUPA_H_
|
||||||
|
|
||||||
#if !defined(HAVE_STRNDUPA)
|
#if !defined(HAVE_STRNDUPA)
|
||||||
#if defined(strndupa)
|
#if defined(strndupa)
|
||||||
@@ -69,7 +69,7 @@ extern "C"
|
|||||||
#endif /* __GNUC__ */
|
#endif /* __GNUC__ */
|
||||||
#endif /* !HAVE_STRNDUPA */
|
#endif /* !HAVE_STRNDUPA */
|
||||||
|
|
||||||
#endif /* GNU_STRING_STRNDUPA_H */
|
#endif /* LIBITE_STRNDUPA_H */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -27,8 +27,8 @@ extern "C"
|
|||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LITE_STRNLEN_H_
|
#ifndef LIBITE_STRNLEN_H_
|
||||||
#define LITE_STRNLEN_H_
|
#define LIBITE_STRNLEN_H_
|
||||||
|
|
||||||
#if !defined(HAVE_STRNLEN)
|
#if !defined(HAVE_STRNLEN)
|
||||||
#if defined(strnlen)
|
#if defined(strnlen)
|
||||||
@@ -51,14 +51,14 @@ static inline size_t xstrnlen(const char *str, size_t lim)
|
|||||||
{
|
{
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
|
|
||||||
while (str[i] && i < lim)
|
while (i < lim && str[i])
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* LITE_STRNLEN_H_ */
|
#endif /* LIBITE_STRNLEN_H_ */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -1,5 +1,5 @@
|
|||||||
#ifndef LITE_TESTS_CHECK_H_
|
#ifndef LIBLITE_TESTS_CHECK_H_
|
||||||
#define LITE_TESTS_CHECK_H_
|
#define LIBLITE_TESTS_CHECK_H_
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -78,4 +78,4 @@ static inline char *timespec2str(struct timespec *ts, char *buf, size_t len)
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LITE_TESTS_CHECK_H_ */
|
#endif /* LIBLITE_TESTS_CHECK_H_ */
|
||||||
Reference in new issue
Block a user