aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Gladkov <gladkov.alexey@gmail.com>2022-01-27 19:12:05 +0100
committerAlexey Gladkov <gladkov.alexey@gmail.com>2022-03-20 14:20:01 +0100
commitce52f192af4d2fd91f39dfcfe3e6f8ed214b6e55 (patch)
tree16d4635a480883618fa7d3e623506417367eaf3b
parent1f567a60e346d1af6bebf0a2d167298cdba46b90 (diff)
downloadkbd-ce52f192af4d2fd91f39dfcfe3e6f8ed214b6e55.tar.gz
Make libkfont public library
Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>
-rw-r--r--.gitignore1
-rw-r--r--Makefile.am1
-rw-r--r--configure.ac14
-rw-r--r--src/libkbdfile/Makefile.am2
-rw-r--r--src/libkfont/Makefile.am23
-rw-r--r--src/libkfont/libkfont.map1
-rw-r--r--src/libkfont/libkfont.pc.in12
7 files changed, 52 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 210e9008..be3305c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -60,6 +60,7 @@ src/libkeymap/syms.latin1.h
src/libkeymap/syms.latin2.h
src/libkeymap/syms.latin3.h
src/libkeymap/syms.latin4.h
+src/libkfont/libkfont.pc
src/loadkeys
src/loadunimap
src/mapscrn
diff --git a/Makefile.am b/Makefile.am
index 111c90ca..efa84788 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -7,6 +7,7 @@ include $(top_srcdir)/aminclude_static.am
AM_DISTCHECK_CONFIGURE_FLAGS = \
--disable-code-coverage \
--enable-libkeymap \
+ --enable-libkfont \
--enable-optional-progs \
${DISTCHECK_CONFIGURE_EXTRA_FLAGS}
diff --git a/configure.ac b/configure.ac
index edc85a19..ef6a84ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -132,6 +132,17 @@ AC_ARG_ENABLE(libkeymap,
[BUILD_LIBKEYMAP=$enableval],[BUILD_LIBKEYMAP=no])
AM_CONDITIONAL(BUILD_LIBKEYMAP, test "$BUILD_LIBKEYMAP" = "yes")
+AC_ARG_ENABLE(libkfont,
+ AS_HELP_STRING(--enable-libkfont, [Build and install a libkfont]),
+ [BUILD_LIBKFONT=$enableval],[BUILD_LIBKFONT=no])
+AM_CONDITIONAL(BUILD_LIBKFONT, test "$BUILD_LIBKFONT" = "yes")
+
+BUILD_LIBKBDFILE=no
+if test "$BUILD_LIBKFONT" = "yes" -o "$BUILD_LIBKEYMAP" = "yes"; then
+ BUILD_LIBKBDFILE=yes
+fi
+AM_CONDITIONAL(BUILD_LIBKBDFILE, test "$BUILD_LIBKBDFILE" = "yes")
+
AC_ARG_ENABLE(vlock,
AS_HELP_STRING(--disable-vlock, [do not build vlock]),
[VLOCK_PROG=$enableval],[VLOCK_PROG=yes])
@@ -207,6 +218,7 @@ AC_MSG_RESULT([
resizecons: ${RESIZECONS_PROGS}
optional progs: ${OPTIONAL_PROGS}
vlock: ${VLOCK_PROG}
- libkbdfile: ${BUILD_LIBKEYMAP}
+ libkbdfile: ${BUILD_LIBKBDFILE}
libkeymap: ${BUILD_LIBKEYMAP}
+ libkfont: ${BUILD_LIBKFONT}
])
diff --git a/src/libkbdfile/Makefile.am b/src/libkbdfile/Makefile.am
index 247f1284..2152633d 100644
--- a/src/libkbdfile/Makefile.am
+++ b/src/libkbdfile/Makefile.am
@@ -24,7 +24,7 @@ KBDFILE_CURRENT = 1
KBDFILE_REVISION = 0
KBDFILE_AGE = 0
-if BUILD_LIBKEYMAP
+if BUILD_LIBKBDFILE
lib_LTLIBRARIES = libkbdfile.la
nobase_include_HEADERS = $(headers)
libkbdfile_la_LDFLAGS = -export-symbols-regex ^kbdfile_.* -version-info $(KBDFILE_CURRENT):$(KBDFILE_REVISION):$(KBDFILE_AGE)
diff --git a/src/libkfont/Makefile.am b/src/libkfont/Makefile.am
index dbe198a2..266d2728 100644
--- a/src/libkfont/Makefile.am
+++ b/src/libkfont/Makefile.am
@@ -12,6 +12,9 @@ AM_CPPFLAGS = \
AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+CLEANFILES = libkfont.pc
+EXTRA_DIST = libkfont.pc.in libkfont.map
+
LDADD = \
$(top_builddir)/src/libcommon/libcommon.a \
$(CODE_COVERAGE_LIBS)
@@ -37,6 +40,26 @@ libkfont_la_SOURCES = \
setfont.c \
kdfontop.c
+libkfont_la_LIBADD = $(builddir)/../libkbdfile/libkbdfile.la
libkfont_la_LDFLAGS = -Wl,-soname,$(KFONT_SONAME),--version-script=$(KFONT_MAPFILE),-z,defs,-stats
+if BUILD_LIBKFONT
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libkfont.pc
+
+nobase_include_HEADERS = kfont.h
+lib_LTLIBRARIES = libkfont.la
+else
noinst_LTLIBRARIES = libkfont.la
+endif
+
+%.pc: %.pc.in Makefile
+ $(SED) \
+ -e 's,[@]VERSION[@],$(VERSION),g' \
+ -e 's,[@]prefix[@],$(prefix),g' \
+ -e 's,[@]exec_prefix[@],$(exec_prefix),g' \
+ -e 's,[@]libdir[@],$(libdir),g' \
+ -e 's,[@]includedir[@],$(includedir),g' \
+ <$< >$(builddir)/$@
+ touch -r $< $(builddir)/$@
+ chmod 644 $(builddir)/$@
diff --git a/src/libkfont/libkfont.map b/src/libkfont/libkfont.map
index 5e0873a9..0ea76d21 100644
--- a/src/libkfont/libkfont.map
+++ b/src/libkfont/libkfont.map
@@ -7,6 +7,7 @@ KFONT_1.0 {
global:
kfont_activatemap;
kfont_disactivatemap;
+ kfont_get_font;
kfont_get_fontsize;
kfont_get_unicodemap;
kfont_get_uniscrnmap;
diff --git a/src/libkfont/libkfont.pc.in b/src/libkfont/libkfont.pc.in
new file mode 100644
index 00000000..98927e07
--- /dev/null
+++ b/src/libkfont/libkfont.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libkfont
+Version: @VERSION@
+Description: Library to manage the Linux console fonts
+Requires:
+Libs: -L${libdir} -lkfont -lkbdfile
+Libs.private:
+Cflags: -I${includedir}