diff options
author | Karl Berry <karl@freefriends.org> | 2006-11-26 01:39:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-11-26 01:39:25 +0000 |
commit | e8792894f6bd6fa1d66bacf4e718d71c97fc204f (patch) | |
tree | a0aa915db5c45573c67f0561b39305f711d6eb5a /Build/source/README | |
parent | 4d5182da1606547570595a1e7626b9f6d38564ab (diff) |
doc fix
git-svn-id: svn://tug.org/texlive/trunk@2530 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/README')
-rw-r--r-- | Build/source/README | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Build/source/README b/Build/source/README index 7501a8b5ffb..30615718a0a 100644 --- a/Build/source/README +++ b/Build/source/README @@ -70,3 +70,71 @@ bison (GNU Bison) 1.34 flex version 2.5.4 GNU m4 1.4 GNU Make 3.79.1 + + +- TeX Live + include many programs, which depend on many libraries, notably + the TeX file-searching library kpathsea. + +- TL has thousands of users, and they almost all install binaries, + rather than compile from source. + +- Of course kpathsea is itself part of TeX Live, and we need to use the + version that is included here, not whatever is randomly installed on + the build system or the end-user's system. + +- So a program that TL includes, such as lcdf-typetools + (http://www.lcdf.org/type/), has a configure option + --enable-tetex-build, which sets up CPPFLAGS and LDFLAGS to use the + local kpathsea in the build tree, like this: + +if test "x$enable_tetex_build" = xyes; then +... + CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/../../texk -I\$(top_srcdir)/../../texk" + LDFLAGS="$LDFLAGS -L\$(top_builddir)/../../texk/kpathsea/.libs" + + +- The exact paths there aren't important reflect the structure + of our source hierarchy, relative to top_builddir/srcddir. + +- The quoting there makes the values in the Makefile use Make variables: +CPPFLAGS = -I$(top_builddir)/../../texk -I$(top_srcdir)/../../texk + +- However, since "$(top_builddir)" is used as a literal string, of + course that's not going to be found in the -I list, so any further + configure tests that need those values are going to fail. For example: +AC_CHECK_DECLS(kpse_opentype_format, :, :, [#include <kpathsea/kpathsea.h>]) + +- To get around this, we've simply been hardwiring the test results of + when --enable-tetex-build is given. So the test above becomes: + if test "x$enable_tetex_build" = xyes; then + AC_DEFINE(HAVE_DECL_KPSE_OPENTYPE_FORMAT) + else + AC_CHECK_DECLS(kpse_opentype_format, :, :, [#include <kpathsea/kpathsea.h>]) + fi + +- None of this is actually specific to kpathsea, there are tons of other + libraries involved. It's just easier to discuss a specific example. + +So I asked autoconf@gnu.org: +I am wondering if there's a reasonable way to use the top_builddir and +top_srcdir values at configure time. As in: +CPPFLAGS="$CPPFLAGS -I$top_builddir/whatever" + +When simply used as above, the value is not defined. It seems that the +value for these variables only gets defined at the end, for output (or +for recursive --help's). + +I guess I could simply duplicate the code which computes them, but of +course that is not very appealing. Is there a better way? + + +Andreas Schwab replied: +At configure time $top_builddir == "." and $top_srcdir == $srcdir. They +are only different in sub-makefiles. + +So maybe it would not be so hard. Bob Frisenhahn mentioned: +# Get full paths to source and build directories +srcdirfull=`cd $srcdir && pwd` +builddir=`pwd` + |