Make libkfont public library
Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>
diff --git a/.gitignore b/.gitignore
index 210e900..be3305c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -60,6 +60,7 @@
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 111c90c..efa8478 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -7,6 +7,7 @@
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 edc85a1..ef6a84e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -132,6 +132,17 @@
[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 @@
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 247f128..2152633 100644
--- a/src/libkbdfile/Makefile.am
+++ b/src/libkbdfile/Makefile.am
@@ -24,7 +24,7 @@
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 dbe198a..266d272 100644
--- a/src/libkfont/Makefile.am
+++ b/src/libkfont/Makefile.am
@@ -12,6 +12,9 @@
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 @@
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 5e0873a..0ea76d2 100644
--- a/src/libkfont/libkfont.map
+++ b/src/libkfont/libkfont.map
@@ -7,6 +7,7 @@
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 0000000..98927e0
--- /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}