X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=383011d71162c39ebb0f5e0d5f689ac009d28159;hb=01c80d847da9379e5abc01a91c44d423c3df4efe;hp=7e00d1852d1701a36a1d922fd525aa1ded4a45af;hpb=c140c1415a91991c617f8ba153b54e6e69cf9640;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 7e00d18..383011d 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -501,9 +501,6 @@ endif # On Windows this is a c:/foo/bar style path. FPTOOLS_TOP_ABS = @hardtop@ -# This gets used in the default docdir -PACKAGE_TARNAME = @PACKAGE_TARNAME@ - BIN_DIST_NAME=ghc-$(ProjectVersion) BIN_DIST_TOPDIR_REL=$(FPTOOLS_TOP) BIN_DIST_TOPDIR_ABS=$(FPTOOLS_TOP_ABS) @@ -512,11 +509,35 @@ BIN_DIST_TARBALL=$(BIN_DIST_TOPDIR_REL)/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.b BIN_DIST_INST_DIR = $(FPTOOLS_TOP_ABS)/bindisttest/installed - -# -# Installation directories, we don't use half of these, -# but since the configure script has them on offer while -# passing through, we might as well set them. +# Definition of installation directories, we don't use half of these, but since +# the configure script has them on offer while passing through, we might as well +# set them. Note that we have to be careful, because the GNU coding standards +# have changed a bit over the course of time, and autoconf development reflects +# this. +# +# A little bit of history regarding autoconf and GNU coding standards, use this +# as a cheat-sheet for the stuff below: +# +# variable | default < 2.60 | default >= 2.60 +# ------------+--------------------+-------------------------------------- +# exec_prefix | ${prefix} | ${prefix} +# libdir | ${exec_prefix}/lib | ${exec_prefix}/lib +# datarootdir | NONE! | ${prefix}/share +# datadir | ${prefix}/share | ${datarootdir} +# infodir | ${prefix}/info | ${datarootdir}/info +# mandir | ${prefix}/man | ${datarootdir}/man +# docdir | NONE! | ${datarootdir}/doc/${PACKAGE_TARNAME} +# htmldir | NONE! | ${docdir} +# dvidir | NONE! | ${docdir} +# pdfdir | NONE! | ${docdir} +# psdir | NONE! | ${docdir} +# +# NOTE: The default e.g. ${docdir} above means that autoconf substitutes the +# string "${docdir}", not the value of docdir! This is crucial for the GNU +# coding standards. + +# This gets used in the default docdir when autoconf >= 2.60 is used +PACKAGE_TARNAME := @PACKAGE_TARNAME@ prefix := @prefix@ @@ -532,15 +553,10 @@ bindir := @bindir@ datadir0 := @datadir@ libdir0 := @libdir@ includedir := @includedir@ -oldincludedir := @oldincludedir@ mandir := @mandir@ ifeq "$(Windows)" "YES" -ifeq "$(strip $(prefix))" "" -prefix = /c/ghc -endif - # Hack: our directory layouts tend to be different on Windows, so # hack around configure's bogus assumptions here. datarootdir := $(prefix) @@ -549,10 +565,8 @@ libdir := $(prefix) else -# # Unix: override libdir and datadir to put ghc-specific stuff in # a subdirectory with the version number included. -# datarootdir := $(datadir0) datadir := $(datadir0)/ghc-$(ProjectVersion) libdir := $(libdir0)/ghc-$(ProjectVersion) @@ -580,43 +594,12 @@ psdir := $(docdir) # (overriden for packages in package.mk) ifacedir = $(libdir) -# -# Default values for most of the above are only set if -# they weren't configured to anything in particular -# via the configure script. (i.e., we make no assumption -# that the autoconf-generated script will assign defaults -# to all of the above). -# -ifeq "$(strip $(exec_prefix))" "" -exec_prefix = $(prefix) -endif -ifeq "$(strip $(bindir))" "" -bindir = $(exec_prefix)/bin -endif - -# # NOTE: by intention, libexecdir and libdir point to # the same place. # => Only way to override this is to set libexecdir= on the command line. # (NOTE: configure script setting is ignored). libexecdir = $(libdir) -ifeq "$(strip $(datadir))" "" -datadir = $(prefix)/share -endif -ifeq "$(strip $(libdir))" "" -libdir = $(exec_prefix)/lib -endif -ifeq "$(strip $(includedir))" "" -includedir = $(prefix)/include -endif -ifeq "$(strip $(oldincludedir))" "" -oldincludedir = /usr/include -endif -ifeq "$(strip $(mandir))" "" -mandir = $(prefix)/man -endif - # This is a bit of a lie, as this is a wrapper rather than the program # itself. However, it means that we don't have to worry about Windows # and non-Windows having different extensions.