now pdf files generated by pdflatex look GOOD ! see configure.in.in for details(rip off from xpdf and minor changes to define HAVE_[]_H properly added the usual .cvsignore stuff svn path=/trunk/kdegraphics/kpdf/; revision=174789remotes/origin/kpdf-3.2
parent
d7c0bc54d7
commit
6c1144398e
2 changed files with 389 additions and 1 deletions
@ -0,0 +1,388 @@ |
||||
# -*- Mode : makefile -*- |
||||
# |
||||
# SUMMARY: |
||||
# USAGE: make <make-target> |
||||
# |
||||
# AUTHOR: Christophe Prud'homme |
||||
# ORG: |
||||
# E-MAIL: prudhomm@mit.edu |
||||
# |
||||
# ORIG-DATE: 31-Aug-02 at 06:16:23 |
||||
# LAST-MOD: 31-Aug-02 at 08:10:28 by Christophe Prud'homme |
||||
# |
||||
# RCS Infos: |
||||
# ========== |
||||
# Author: $Author$ |
||||
# Id: $Id$ |
||||
# Revision: $Revision$ |
||||
# Date: $Date$ |
||||
# locker: $Locker: $ |
||||
# |
||||
# |
||||
# DESCRIPTION: |
||||
# ============ |
||||
# Distributed under the GPL(GNU Public License): |
||||
# This program is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 2 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
||||
# DESCRIP-END. |
||||
# |
||||
|
||||
# <<< smr.m4 from smr_macros 0.2.4 >>> |
||||
|
||||
dnl ####################### -*- Mode: M4 -*- ########################### |
||||
dnl smr.m4 -- |
||||
dnl |
||||
dnl Copyright (C) 1999 Matthew D. Langston <langston@SLAC.Stanford.EDU> |
||||
dnl Copyright (C) 1998 Steve Robbins <stever@cs.mcgill.ca> |
||||
dnl |
||||
dnl This file is free software; you can redistribute it and/or modify it |
||||
dnl under the terms of the GNU General Public License as published by |
||||
dnl the Free Software Foundation; either version 2 of the License, or |
||||
dnl (at your option) any later version. |
||||
dnl |
||||
dnl This file is distributed in the hope that it will be useful, but |
||||
dnl WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
||||
dnl General Public License for more details. |
||||
dnl |
||||
dnl You should have received a copy of the GNU General Public License |
||||
dnl along with this file; if not, write to: |
||||
dnl |
||||
dnl Free Software Foundation, Inc. |
||||
dnl Suite 330 |
||||
dnl 59 Temple Place |
||||
dnl Boston, MA 02111-1307, USA. |
||||
dnl #################################################################### |
||||
|
||||
|
||||
dnl NOTE: The macros in this file are extensively documented in the |
||||
dnl accompanying `smr_macros.texi' Texinfo file. Please see the |
||||
dnl Texinfo documentation for the definitive specification of how |
||||
dnl these macros are supposed to work. If the macros work |
||||
dnl differently than the Texinfo documentation says they should, |
||||
dnl then the macros (and not the Texinfo documentation) has the |
||||
dnl bug(s). |
||||
|
||||
dnl This is a convenient macro which translates illegal characters for |
||||
dnl bourne shell variables into legal characters. It has the same |
||||
dnl functionality as sed 'y%./+-:%__p__%'. |
||||
AC_DEFUN([smr_safe_translation], [patsubst(patsubst([$1], [+], [p]), [./-:], [_])]) |
||||
|
||||
AC_DEFUN(smr_SWITCH, |
||||
[ |
||||
dnl Define convenient aliases for the arguments since there are so |
||||
dnl many of them and I keep confusing myself whenever I have to edit |
||||
dnl this macro. |
||||
pushdef([smr_name], $1) |
||||
pushdef([smr_help_string], $2) |
||||
pushdef([smr_default], $3) |
||||
pushdef([smr_yes_define], $4) |
||||
pushdef([smr_no_define], $5) |
||||
|
||||
dnl Do some sanity checking of the arguments. |
||||
ifelse([regexp(smr_default, [^\(yes\|no\)$])], -1, [AC_MSG_ERROR($0: third arg must be either yes or no)]) |
||||
|
||||
dnl Create the help string |
||||
pushdef([smr_lhs], [--ifelse(smr_default, yes, disable, enable)-smr_name])dnl |
||||
pushdef([smr_rhs], [ifelse(smr_default, yes, disable, enable) smr_help_string (default is smr_default)])dnl |
||||
|
||||
dnl Add the option to `configure --help'. We don't need to supply the |
||||
dnl 4th argument to AC_ARG_ENABLE (i.e. the code to set the default |
||||
dnl value) because that is done below by AC_CACHE_CHECK. |
||||
AC_ARG_ENABLE([smr_name], |
||||
AC_HELP_STRING([smr_lhs], [smr_rhs]), |
||||
smr_cv_enable_[]smr_name=$enableval) |
||||
|
||||
dnl We cache the result so that the user doesn't have to remember |
||||
dnl which flags they passed to `configure'. |
||||
AC_CACHE_CHECK([whether to enable smr_help_string], |
||||
smr_cv_enable_[]smr_name, |
||||
smr_cv_enable_[]smr_name=smr_default) |
||||
|
||||
ifelse(smr_yes_define, , , test x"[$]smr_cv_enable_[]smr_name" = xyes && AC_DEFINE_UNQUOTED(smr_yes_define,1,[])) |
||||
ifelse(smr_no_define, , , test x"[$]smr_cv_enable_[]smr_name" = xno && AC_DEFINE_UNQUOTED(smr_no_define,1,[])) |
||||
|
||||
dnl Sanity check the value assigned to smr_cv_enable_$1 to force it to |
||||
dnl be either `yes' or `no'. |
||||
if test ! x"[$]smr_cv_enable_[]smr_name" = xyes; then |
||||
if test ! x"[$]smr_cv_enable_[]smr_name" = xno; then |
||||
AC_MSG_ERROR([smr_lhs must be either yes or no]) |
||||
fi |
||||
fi |
||||
|
||||
popdef([smr_name]) |
||||
popdef([smr_help_string]) |
||||
popdef([smr_default]) |
||||
popdef([smr_yes_define]) |
||||
popdef([smr_no_define]) |
||||
popdef([smr_lhs]) |
||||
popdef([smr_rhs]) |
||||
]) |
||||
|
||||
|
||||
AC_DEFUN(smr_ARG_WITHLIB, |
||||
[ |
||||
dnl Define convenient aliases for the arguments since there are so |
||||
dnl many of them and I keep confusing myself whenever I have to edit |
||||
dnl this macro. |
||||
pushdef([smr_name], $1) |
||||
pushdef([smr_libname], ifelse($2, , smr_name, $2)) |
||||
pushdef([smr_help_string], $3) |
||||
pushdef([smr_safe_name], smr_safe_translation(smr_name)) |
||||
|
||||
dnl Add the option to `configure --help'. We don't need to supply the |
||||
dnl 4th argument to AC_ARG_WITH (i.e. the code to set the default |
||||
dnl value) because that is done below by AC_CACHE_CHECK. |
||||
AC_ARG_WITH(smr_safe_name-library, |
||||
AC_HELP_STRING([--with-smr_safe_name-library[[=PATH]]], |
||||
[use smr_name library ifelse(smr_help_string, , , (smr_help_string))]), |
||||
smr_cv_with_[]smr_safe_name[]_library=$withval) |
||||
|
||||
dnl We cache the result so that the user doesn't have to remember |
||||
dnl which flags they passed to `configure'. |
||||
AC_CACHE_CHECK([whether to use smr_name library], |
||||
smr_cv_with_[]smr_safe_name[]_library, |
||||
smr_cv_with_[]smr_safe_name[]_library=maybe) |
||||
|
||||
|
||||
case x"[$]smr_cv_with_[]smr_safe_name[]_library" in |
||||
xyes | xmaybe) |
||||
smr_safe_name[]_LIBS="-l[]smr_libname" |
||||
with_[]smr_safe_name=[$]smr_cv_with_[]smr_safe_name[]_library |
||||
;; |
||||
xno) |
||||
smr_safe_name[]_LIBS= |
||||
with_[]smr_safe_name=no |
||||
;; |
||||
*) |
||||
if test -f "[$]smr_cv_with_[]smr_safe_name[]_library"; then |
||||
smr_safe_name[]_LIBS=[$]smr_cv_with_[]smr_safe_name[]_library |
||||
elif test -d "[$]smr_cv_with_[]smr_safe_name[]_library"; then |
||||
smr_safe_name[]_LIBS="-L[$]smr_cv_with_[]smr_safe_name[]_library -l[]smr_libname" |
||||
else |
||||
AC_MSG_ERROR([argument must be boolean, file, or directory]) |
||||
fi |
||||
with_[]smr_safe_name=yes |
||||
;; |
||||
esac |
||||
|
||||
popdef([smr_name]) |
||||
popdef([smr_libname]) |
||||
popdef([smr_help_string]) |
||||
popdef([smr_safe_name]) |
||||
]) |
||||
|
||||
|
||||
AC_DEFUN(smr_ARG_WITHINCLUDES, |
||||
[ |
||||
dnl Define convenient aliases for the arguments since there are so |
||||
dnl many of them and I keep confusing myself whenever I have to edit |
||||
dnl this macro. |
||||
pushdef([smr_name], $1) |
||||
pushdef([smr_header], $2) |
||||
pushdef([smr_header_config], $3) |
||||
pushdef([smr_extra_flags], $4) |
||||
pushdef([smr_safe_name], smr_safe_translation(smr_name)) |
||||
|
||||
dnl Add the option to `configure --help'. We don't need to supply the |
||||
dnl 4th argument to AC_ARG_WITH (i.e. the code to set the default |
||||
dnl value) because that is done below by AC_CACHE_CHECK. |
||||
AC_ARG_WITH(smr_safe_name-includes, |
||||
AC_HELP_STRING([--with-smr_safe_name-includes[[=DIR]]], |
||||
[set directory for smr_name headers]), |
||||
smr_cv_with_[]smr_safe_name[]_includes=$withval) |
||||
|
||||
dnl We cache the result so that the user doesn't have to remember |
||||
dnl which flags they passed to `configure'. |
||||
AC_CACHE_CHECK([where to find the smr_name header files], |
||||
smr_cv_with_[]smr_safe_name[]_includes, |
||||
smr_cv_with_[]smr_safe_name[]_includes=) |
||||
|
||||
if test ! x"[$]smr_cv_with_[]smr_safe_name[]_includes" = x; then |
||||
if test -d "[$]smr_cv_with_[]smr_safe_name[]_includes"; then |
||||
smr_safe_name[]_CFLAGS="-I[$]smr_cv_with_[]smr_safe_name[]_includes" |
||||
else |
||||
AC_MSG_ERROR([argument must be a directory]) |
||||
fi |
||||
else |
||||
smr_safe_name[]_CFLAGS= |
||||
fi |
||||
|
||||
dnl This bit of logic comes from the autoconf AC_PROG_CC macro. We |
||||
dnl need to put the given include directory into CPPFLAGS temporarily, |
||||
dnl but then restore CPPFLAGS to its old value. |
||||
smr_test_CPPFLAGS="${CPPFLAGS+set}" |
||||
smr_save_CPPFLAGS="$CPPFLAGS" |
||||
CPPFLAGS="$CPPFLAGS [$]smr_safe_name[]_CFLAGS smr_extra_flags" |
||||
|
||||
dnl If the header file smr_header exists, then define |
||||
dnl HAVE_[]smr_header (in all capitals). |
||||
AC_CHECK_HEADERS([smr_header], |
||||
[smr_have_[]smr_safe_name[]_header=yes], |
||||
smr_have_[]smr_safe_name[]_header=no) |
||||
|
||||
if test x"$smr_test_CPPFLAGS" = xset; then |
||||
CPPFLAGS=$smr_save_CPPFLAGS |
||||
else |
||||
unset CPPFLAGS |
||||
fi |
||||
|
||||
popdef([smr_name]) |
||||
popdef([smr_header]) |
||||
popdef([smr_header_config]) |
||||
popdef([smr_extra_flags]) |
||||
popdef([smr_safe_name]) |
||||
]) |
||||
|
||||
|
||||
AC_DEFUN(smr_CHECK_LIB, |
||||
[ |
||||
dnl Define convenient aliases for the arguments since there are so |
||||
dnl many of them and I keep confusing myself whenever I have to edit |
||||
dnl this macro. |
||||
pushdef([smr_name], $1) |
||||
pushdef([smr_libname], ifelse($2, , smr_name, $2)) |
||||
pushdef([smr_help_string], $3) |
||||
pushdef([smr_function], $4) |
||||
pushdef([smr_header], $5) |
||||
pushdef([smr_header_config], $6) |
||||
pushdef([smr_extra_libs], $7) |
||||
pushdef([smr_extra_flags], $8) |
||||
pushdef([smr_prototype], $9) |
||||
pushdef([smr_safe_name], smr_safe_translation(smr_name)) |
||||
|
||||
dnl Give the user (via "configure --help") an interface to specify |
||||
dnl whether we should use the library or not, and possibly where we |
||||
dnl should find it. |
||||
smr_ARG_WITHLIB([smr_name], [smr_libname], [smr_help_string]) |
||||
|
||||
if test ! x"$with_[]smr_safe_name" = xno; then |
||||
|
||||
# If we got this far, then the user didn't explicitly ask not to use |
||||
# the library. |
||||
|
||||
dnl If the caller of smr_CHECK_LIB specified a header file for this |
||||
dnl library, then give the user (via "configure --help") an |
||||
dnl interface to specify where this header file can be found (if it |
||||
dnl isn't found by the compiler by default). |
||||
ifelse(smr_header, , , [smr_ARG_WITHINCLUDES(smr_name, smr_header, smr_header_config, smr_extra_flags)]) |
||||
|
||||
# We need only look for the library if the header has been found |
||||
# (or no header is needed). |
||||
if test [$]smr_have_[]smr_safe_name[]_header != no; then |
||||
|
||||
AC_CHECK_LIB(smr_libname, |
||||
smr_function, |
||||
smr_have_[]smr_safe_name[]_library=yes, |
||||
smr_have_[]smr_safe_name[]_library=no, |
||||
[$]smr_safe_name[]_CFLAGS [smr_extra_flags] [$]smr_safe_name[]_LIBS [smr_extra_libs], |
||||
[ifelse(smr_prototype, , , [[#]include <smr_header>])], |
||||
smr_prototype) |
||||
fi |
||||
|
||||
if test x"[$]smr_have_[]smr_safe_name[]_library" = xyes; then |
||||
AC_MSG_RESULT([using smr_name library]) |
||||
else |
||||
smr_safe_name[]_LIBS= |
||||
smr_safe_name[]_CFLAGS= |
||||
|
||||
if test x"$with_[]smr_safe_name" = xmaybe; then |
||||
AC_MSG_RESULT([not using smr_name library]) |
||||
else |
||||
AC_MSG_WARN([requested smr_name library not found!]) |
||||
fi |
||||
fi |
||||
fi |
||||
|
||||
popdef([smr_name]) |
||||
popdef([smr_libname]) |
||||
popdef([smr_help_string]) |
||||
popdef([smr_function]) |
||||
popdef([smr_header]) |
||||
popdef([smr_header_config]) |
||||
popdef([smr_extra_libs]) |
||||
popdef([smr_extra_flags]) |
||||
popdef([smr_prototype]) |
||||
popdef([smr_safe_name]) |
||||
]) |
||||
|
||||
|
||||
dnl ##### Check for t1lib. |
||||
if test -z "$no_x"; then |
||||
smr_CHECK_LIB(t1, t1, [Type 1 font rasterizer], |
||||
T1_InitLib, t1lib.h, HAVE_T1LIB_H, |
||||
$X_LIBS $X_PRE_LIBS $X_LDFLAGS -lX11 $X_EXTRA_LIBS -lm, $X_CFLAGS) |
||||
if test x"$smr_have_t1_header"=x"yes"; then |
||||
AC_DEFINE_UNQUOTED( HAVE_T1LIB_H, 1, [define if T1LIB headers are present] ) |
||||
fi |
||||
AC_SUBST(t1_LIBS) |
||||
AC_SUBST(t1_CFLAGS) |
||||
fi |
||||
|
||||
dnl ##### Check for FreeType. |
||||
dnl ##### Look for FreeType 2.0.5+ first, and then FreeType 1.x. |
||||
dnl ##### (Note: FT_Get_Name_Index was added in FT 2.0.5, and is |
||||
dnl ##### the reason that Xpdf requires 2.0.5+.) |
||||
if test -z "$no_x"; then |
||||
smr_CHECK_LIB(freetype2, freetype, [FreeType2 font rasterizer - version 2.0.5+], |
||||
FT_Get_Name_Index, freetype/freetype.h, HAVE_FREETYPE_H, |
||||
$X_LIBS $X_PRE_LIBS $X_LDFLAGS -lX11 $X_EXTRA_LIBS -lm, $X_CFLAGS) |
||||
if test x"$freetype2_LIBS" = x; then |
||||
smr_CHECK_LIB(freetype2, freetype, [FreeType2 font rasterizer - version 2.0.5+], |
||||
FT_Get_Name_Index, freetype.h, HAVE_FREETYPE_H, |
||||
$X_LIBS $X_PRE_LIBS $X_LDFLAGS -lX11 $X_EXTRA_LIBS -lm, $X_CFLAGS) |
||||
fi |
||||
if test x"$freetype2_LIBS" != x; then |
||||
AC_DEFINE_UNQUOTED(FREETYPE2,1,[define if freetype2 is available]) |
||||
fi |
||||
if test x"$smr_have_freetype2_header"=x"yes"; then |
||||
AC_DEFINE_UNQUOTED( HAVE_FREETYPE_H, 1, [define if FREETYPE headers are present] ) |
||||
fi |
||||
AC_SUBST(freetype2_LIBS) |
||||
AC_SUBST(freetype2_CFLAGS) |
||||
if test x"$freetype2_LIBS" = x; then |
||||
smr_CHECK_LIB(freetype, ttf, [FreeType font rasterizer], |
||||
TT_Init_FreeType, freetype/freetype.h,HAVE_FREETYPE_H, |
||||
$X_LIBS $X_PRE_LIBS $X_LDFLAGS -lX11 $X_EXTRA_LIBS -lm, $X_CFLAGS) |
||||
if test x"$freetype_LIBS" = x; then |
||||
smr_CHECK_LIB(freetype, ttf, [FreeType font rasterizer], |
||||
TT_Init_FreeType, freetype.h, HAVE_FREETYPE_H, |
||||
$X_LIBS $X_PRE_LIBS $X_LDFLAGS -lX11 $X_EXTRA_LIBS -lm, $X_CFLAGS) |
||||
fi |
||||
AC_SUBST(freetype_LIBS) |
||||
AC_SUBST(freetype_CFLAGS) |
||||
fi |
||||
fi |
||||
|
||||
dnl ##### Check for libpaper (Debian). |
||||
smr_CHECK_LIB(libpaper, paper, [Debian libpaper], paperinit, paper.h, HAVE_PAPER_H) |
||||
AC_SUBST(libpaper_LIBS) |
||||
AC_SUBST(libpaper_CFLAGS) |
||||
if test x"$smr_have_paper_header"=x"yes"; then |
||||
AC_DEFINE_UNQUOTED( HAVE_PAPER_H, 1, [define if PAPER headers are present] ) |
||||
fi |
||||
dnl ##### Disable X-specific stuff in top-level Makefile. |
||||
if test -n "$no_x"; then |
||||
X="#" |
||||
XPDF_TARGET="all-no-x" |
||||
else |
||||
X="" |
||||
XPDF_TARGET="all" |
||||
fi |
||||
AC_SUBST(X) |
||||
AC_SUBST(XPDF_TARGET) |
||||
|
||||
dnl ## AC_DEFINE_UNQUOTED(HAVE_FREETYPE_H,1,[]) |
||||
dnl ## AC_DEFINE_UNQUOTED(HAVE_T1LIB_H,1,[]) |
||||
dnl ## AC_DEFINE_UNQUOTED(HAVE_PAPER_H,1,[]) |
||||
Loading…
Reference in new issue