summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <sandmann@daimi.au.dk>2005-07-27 21:48:38 +0000
committerSøren Sandmann Pedersen <sandmann@daimi.au.dk>2005-07-27 21:48:38 +0000
commit0dd89a9e7ba09ed0c3f90a415b506a4ed89b91bb (patch)
tree5e06161d7d3a39ad8cfd2f9e9c953bb8298b1ad6
parentdb7a51a120898eda2824ec15d55641589571ed5d (diff)
downloadxorg-lib-libXft-0dd89a9e7ba09ed0c3f90a415b506a4ed89b91bb.tar.gz
Build system for Xft
-rw-r--r--Makefile.am31
-rwxr-xr-xautogen.sh12
-rw-r--r--configure.ac134
-rw-r--r--man/Makefile.am2
-rw-r--r--src/Makefile.am32
5 files changed, 211 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..bf0f882
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,31 @@
+#
+# $Id$
+#
+# Copyright © 2003 Keith Packard, Noah Levitt
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of Keith Packard not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. Keith Packard makes no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+SUBDIRS = man src
+
+bin_SCRIPTS = xft-config
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xft.pc
+
+EXTRA_DIST = xft-config.in xft.pc.in autogen.sh
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..08b467a
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,134 @@
+dnl
+dnl $Id$
+dnl
+dnl Copyright © 2003 Keith Packard, Noah Levitt
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation, and that the name of Keith Packard not be used in
+dnl advertising or publicity pertaining to distribution of the software without
+dnl specific, written prior permission. Keith Packard makes no
+dnl representations about the suitability of this software for any purpose. It
+dnl is provided "as is" without express or implied warranty.
+dnl
+dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+dnl PERFORMANCE OF THIS SOFTWARE.
+dnl
+dnl Process this file with autoconf to create configure.
+
+AC_PREREQ([2.57])
+
+dnl
+dnl This is the package version number, not the shared library
+dnl version. This same version number must appear in Xft.h
+dnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's
+dnl not possible to extract the version number here from Xft.h
+dnl Please bump the minor library number at each release as well.
+dnl
+AC_INIT(libXft, 2.1.7, [keithp@keithp.com], libXft)
+AC_CONFIG_AUX_DIR(.)
+
+AM_INIT_AUTOMAKE([dist-bzip2])
+AM_MAINTAINER_MODE
+
+AM_CONFIG_HEADER(config.h)
+
+# checks for progs
+AC_PROG_CC
+AC_PROG_LIBTOOL
+
+#
+# Check for Xrender
+#
+PKG_CHECK_MODULES(XRENDER, xrender >= 0.8.2, [xrender_found_with_pkgconfig=yes],
+ [xrender_found_with_pkgconfig=no])
+case "$xrender_found_with_pkgconfig" in
+no)
+ PKG_CHECK_MODULES(XRENDER, xrender >= 0, [old_xrender_found_with_pkgconfig=yes],
+ [old_xrender_found_with_pkgconfig=no])
+ case "$old_xrender_found_with_pkgconfig" in
+ yes)
+ XRENDER_LIBS="$XRENDER_LIBS -lXext -lX11"
+ ;;
+ *)
+ # checks for X
+ AC_PATH_X
+
+ XRENDER_CFLAGS="-I$x_includes"
+ XRENDER_LIBS="-L$x_libraries -lXrender -lXext -lX11"
+
+ saved_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS"
+ AC_CHECK_HEADERS([X11/extensions/Xrender.h], [], [AC_MSG_ERROR([Xrender.h not found.])])
+ CPPFLAGS="$saved_CPPFLAGS"
+
+ saved_LIBS="$LIBS"
+ LIBS="$LIBS $XRENDER_LIBS"
+ AC_CHECK_FUNCS([XRenderFindStandardFormat], [], [AC_MSG_ERROR([libXrender not found or too old.])])
+ LIBS="$saved_LIBS"
+ ;;
+ esac
+ ;;
+esac
+
+# Check freetype configuration
+AC_CHECK_PROG(ft_config, freetype-config, freetype-config)
+if test "x$ft_config" = "x" ; then
+ AC_MSG_ERROR([freetype-config not found. freetype is required. Please make sure you have the freetype development packages installed.])
+fi
+FREETYPE_CFLAGS="`$ft_config --cflags`"
+FREETYPE_LIBS="`$ft_config --libs`"
+
+# Check fontconfig configuration
+PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.2)
+
+AC_SUBST(XRENDER_CFLAGS)
+AC_SUBST(XRENDER_LIBS)
+AC_SUBST(FREETYPE_CFLAGS)
+AC_SUBST(FREETYPE_LIBS)
+AC_SUBST(FONTCONFIG_CFLAGS)
+AC_SUBST(FONTCONFIG_LIBS)
+
+fontconfig_save_libs="$LIBS"
+fontconfig_save_cflags="$CFLAGS"
+LIBS="$LIBS $FREETYPE_LIBS"
+CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
+AC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_GlyphSlot_Embolden)
+AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
+ HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
+ HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
+[#include <ft2build.h>
+#include FT_FREETYPE_H])
+AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
+ [FT_Bitmap_Size structure includes y_ppem field])
+
+LIBS="$fontconfig_save_libs"
+CFLAGS="$fontconfig_save_cflags"
+
+if test "$VERSION" = "" ; then
+ VERSION=$PACKAGE_VERSION;
+fi
+
+WARN_CFLAGS=""
+
+if test "x$GCC" = "xyes"; then
+ WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wnested-externs -fno-strict-aliasing"
+fi
+AC_SUBST(WARN_CFLAGS)
+
+AC_OUTPUT([Makefile
+ xft.pc
+ xft-config
+ src/Makefile
+ man/Makefile
+ man/xft-config.1
+ man/Xft.3])
diff --git a/man/Makefile.am b/man/Makefile.am
new file mode 100644
index 0000000..990e9b3
--- /dev/null
+++ b/man/Makefile.am
@@ -0,0 +1,2 @@
+dist_man_MANS = Xft.3 xft-config.1
+EXTRA_DIST = xft-config.1.in Xft.3.in
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..9618e16
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,32 @@
+AM_CFLAGS = $(FONTCONFIG_CFLAGS) $(FREETYPE_CFLAGS) $(XRENDER_CFLAGS) \
+ $(WARN_CFLAGS) -I$(top_srcdir)/include/X11/Xft
+
+lib_LTLIBRARIES = libXft.la
+
+libXft_la_SOURCES = xftint.h \
+ xftcolor.c \
+ xftcore.c \
+ xftdbg.c \
+ xftdpy.c \
+ xftdraw.c \
+ xftextent.c \
+ xftfont.c \
+ xftfreetype.c \
+ xftglyphs.c \
+ xftinit.c \
+ xftlist.c \
+ xftname.c \
+ xftrender.c \
+ xftstr.c \
+ xftswap.c \
+ xftxlfd.c
+
+libXft_la_LIBADD = @FONTCONFIG_LIBS@ @FREETYPE_LIBS@ @XRENDER_LIBS@
+
+# -version-number requires libtool >= 1.5
+libXft_la_LDFLAGS = -version-number 2:1:2 -no-undefined
+
+libXftincludedir = $(includedir)/X11/Xft
+libXftinclude_HEADERS = \
+ $(top_srcdir)/include/X11/Xft/Xft.h \
+ $(top_srcdir)/include/X11/Xft/XftCompat.h