avoid incorrect unix-style inference

Closes #2659 by both recognizing `lib64` as a default path and by
having `--enable-origtree` override inference and specified when
running `configure` through the root makefile.
This commit is contained in:
Matthew Flatt 2019-05-18 07:45:25 -04:00
parent e3e141d1fd
commit a56c984db0
6 changed files with 170 additions and 158 deletions

View File

@ -136,6 +136,7 @@ win32-as-is:
PREFIX =
CONFIG_PREFIX_ARGS = --prefix="$(PREFIX)" --enable-macprefix
UNIXSTYLE_CONFIG_qq = MORE_CONFIGURE_ARGS="$(MORE_CONFIGURE_ARGS) $(CONFIG_PREFIX_ARGS)" CONFIG_IN_PLACE_ARGS=""
UNIX_CATALOG = build/local/catalog
UNIX_RACO_ARGS = $(JOB_OPTIONS) --catalog $(UNIX_CATALOG) --auto -i
UNIX_BASE_ARGS = SELF_FLAGS_qq="" SKIP_DESTDIR_FIX="skip"
@ -150,7 +151,7 @@ cpus-unix-style:
plain-unix-style:
if [ "$(PREFIX)" = "" ] ; then $(MAKE) error-need-prefix ; fi
$(MAKE) base MORE_CONFIGURE_ARGS="$(MORE_CONFIGURE_ARGS) $(CONFIG_PREFIX_ARGS)" $(UNIX_BASE_ARGS)
$(MAKE) base $(UNIXSTYLE_CONFIG_qq) $(UNIX_BASE_ARGS)
$(MAKE) set-src-catalog
$(MAKE) local-catalog
"$(DESTDIR)$(PREFIX)/bin/raco" pkg install $(UNIX_RACO_ARGS) $(REQUIRED_PKGS) $(PKGS)
@ -227,10 +228,11 @@ win32-remove-setup-dlls:
IF EXIST racket\lib\ssleay32.dll cmd /c del racket\lib\ssleay32.dll
SRC_MAKEFILE_CONFIG = configure
CONFIG_IN_PLACE_ARGS = --enable-origtree
racket/src/build/Makefile: racket/src/$(SRC_MAKEFILE_CONFIG) racket/src/Makefile.in
mkdir -p racket/src/build
cd racket/src/build; ../$(SRC_MAKEFILE_CONFIG) $(CONFIGURE_ARGS_qq) $(MORE_CONFIGURE_ARGS)
cd racket/src/build; ../$(SRC_MAKEFILE_CONFIG) $(CONFIGURE_ARGS_qq) $(MORE_CONFIGURE_ARGS) $(CONFIG_IN_PLACE_ARGS)
MORE_CROSS_CONFIGURE_ARGS =
@ -360,11 +362,11 @@ nothing-after-base:
racket/src/build/cs/c/Makefile: racket/src/cs/c/configure racket/src/cs/c/Makefile.in racket/src/cfg-cs
mkdir -p cd racket/src/build/cs/c
cd racket/src/build/cs/c; ../../../cs/c/configure $(CONFIGURE_ARGS_qq) $(MORE_CONFIGURE_ARGS)
cd racket/src/build/cs/c; ../../../cs/c/configure $(CONFIGURE_ARGS_qq) $(MORE_CONFIGURE_ARGS) $(CONFIG_IN_PLACE_ARGS)
$(MAKE) $(CS_CONFIG_TARGET)
run-cfg-cs:
cd racket/src/build; ../cfg-cs $(CONFIGURE_ARGS_qq) $(MORE_CONFIGURE_ARGS)
cd racket/src/build; ../cfg-cs $(CONFIGURE_ARGS_qq) $(MORE_CONFIGURE_ARGS) $(CONFIG_IN_PLACE_ARGS)
no-cfg-cs:
echo done

View File

@ -169,8 +169,10 @@ Detailed instructions:
current directory, "[here]" is possibly unnecessary, or possibly
just "./", depending on your shell and PATH setting.
If the `--prefix` flag is omitted, the executables are built for
an in-place installation (i.e., the parent of the directory
If the `--prefix` flag is omitted and if directories like `bindir`
and `libdir` appear to be the default paths or the
`--enable-origtree` flag is specified, then executables are built
for an in-place installation (i.e., the parent of the directory
containing this README will be used directly). Unless
`--enable-shared` is used, the "racket" directory can be moved
later; most system administrators would recommend that you use

View File

@ -1,49 +1,51 @@
unixstyle=no
if test "${prefix}" != "NONE" ; then
if test "${enable_origtree}" != "yes" ; then
if test "${enable_origtree}" != "yes" ; then
if test "${prefix}" != "NONE" ; then
unixstyle=yes
fi
fi
if test "${exec_prefix}" != "NONE" ; then
unixstyle=yes
fi
if test "${bindir}" != '${exec_prefix}/bin' ; then
unixstyle=yes
fi
if test "${datadir}" != '${prefix}/share' ; then
# Newer autoconf uses datarootdir:
if test "${datadir}" = '${datarootdir}' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
if test "${exec_prefix}" != "NONE" ; then
unixstyle=yes
fi
if test "${bindir}" != '${exec_prefix}/bin' ; then
unixstyle=yes
fi
if test "${datadir}" != '${prefix}/share' ; then
# Newer autoconf uses datarootdir:
if test "${datadir}" = '${datarootdir}' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
else
unixstyle=yes
fi
fi
if test "${libdir}" != '${exec_prefix}/lib' ; then
if test "${libdir}" != '${exec_prefix}/lib64' ; then
unixstyle=yes
fi
else
fi
if test "${includedir}" != '${prefix}/include' ; then
unixstyle=yes
fi
fi
if test "${libdir}" != '${exec_prefix}/lib' ; then
unixstyle=yes
fi
if test "${includedir}" != '${prefix}/include' ; then
unixstyle=yes
fi
if test "${mandir}" != '${prefix}/man' ; then
if test "${mandir}" = '${datarootdir}/man' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
if test "${mandir}" != '${prefix}/man' ; then
if test "${mandir}" = '${datarootdir}/man' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
else
unixstyle=yes
fi
else
unixstyle=yes
fi
fi
if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then
unixstyle=yes
fi
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then
unixstyle=yes
fi
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
fi
MAKE_COPYTREE=no

View File

@ -2008,50 +2008,52 @@ fi
unixstyle=no
if test "${prefix}" != "NONE" ; then
if test "${enable_origtree}" != "yes" ; then
if test "${enable_origtree}" != "yes" ; then
if test "${prefix}" != "NONE" ; then
unixstyle=yes
fi
fi
if test "${exec_prefix}" != "NONE" ; then
unixstyle=yes
fi
if test "${bindir}" != '${exec_prefix}/bin' ; then
unixstyle=yes
fi
if test "${datadir}" != '${prefix}/share' ; then
# Newer autoconf uses datarootdir:
if test "${datadir}" = '${datarootdir}' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
if test "${exec_prefix}" != "NONE" ; then
unixstyle=yes
fi
if test "${bindir}" != '${exec_prefix}/bin' ; then
unixstyle=yes
fi
if test "${datadir}" != '${prefix}/share' ; then
# Newer autoconf uses datarootdir:
if test "${datadir}" = '${datarootdir}' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
else
unixstyle=yes
fi
fi
if test "${libdir}" != '${exec_prefix}/lib' ; then
if test "${libdir}" != '${exec_prefix}/lib64' ; then
unixstyle=yes
fi
else
fi
if test "${includedir}" != '${prefix}/include' ; then
unixstyle=yes
fi
fi
if test "${libdir}" != '${exec_prefix}/lib' ; then
unixstyle=yes
fi
if test "${includedir}" != '${prefix}/include' ; then
unixstyle=yes
fi
if test "${mandir}" != '${prefix}/man' ; then
if test "${mandir}" = '${datarootdir}/man' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
if test "${mandir}" != '${prefix}/man' ; then
if test "${mandir}" = '${datarootdir}/man' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
else
unixstyle=yes
fi
else
unixstyle=yes
fi
fi
if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then
unixstyle=yes
fi
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then
unixstyle=yes
fi
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
fi
MAKE_COPYTREE=no

View File

@ -2978,50 +2978,52 @@ fi
unixstyle=no
if test "${prefix}" != "NONE" ; then
if test "${enable_origtree}" != "yes" ; then
if test "${enable_origtree}" != "yes" ; then
if test "${prefix}" != "NONE" ; then
unixstyle=yes
fi
fi
if test "${exec_prefix}" != "NONE" ; then
unixstyle=yes
fi
if test "${bindir}" != '${exec_prefix}/bin' ; then
unixstyle=yes
fi
if test "${datadir}" != '${prefix}/share' ; then
# Newer autoconf uses datarootdir:
if test "${datadir}" = '${datarootdir}' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
if test "${exec_prefix}" != "NONE" ; then
unixstyle=yes
fi
if test "${bindir}" != '${exec_prefix}/bin' ; then
unixstyle=yes
fi
if test "${datadir}" != '${prefix}/share' ; then
# Newer autoconf uses datarootdir:
if test "${datadir}" = '${datarootdir}' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
else
unixstyle=yes
fi
fi
if test "${libdir}" != '${exec_prefix}/lib' ; then
if test "${libdir}" != '${exec_prefix}/lib64' ; then
unixstyle=yes
fi
else
fi
if test "${includedir}" != '${prefix}/include' ; then
unixstyle=yes
fi
fi
if test "${libdir}" != '${exec_prefix}/lib' ; then
unixstyle=yes
fi
if test "${includedir}" != '${prefix}/include' ; then
unixstyle=yes
fi
if test "${mandir}" != '${prefix}/man' ; then
if test "${mandir}" = '${datarootdir}/man' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
if test "${mandir}" != '${prefix}/man' ; then
if test "${mandir}" = '${datarootdir}/man' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
else
unixstyle=yes
fi
else
unixstyle=yes
fi
fi
if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then
unixstyle=yes
fi
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then
unixstyle=yes
fi
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
fi
MAKE_COPYTREE=no

View File

@ -2633,50 +2633,52 @@ PREFIX_PATH_RELATIVE=/../..
unixstyle=no
if test "${prefix}" != "NONE" ; then
if test "${enable_origtree}" != "yes" ; then
if test "${enable_origtree}" != "yes" ; then
if test "${prefix}" != "NONE" ; then
unixstyle=yes
fi
fi
if test "${exec_prefix}" != "NONE" ; then
unixstyle=yes
fi
if test "${bindir}" != '${exec_prefix}/bin' ; then
unixstyle=yes
fi
if test "${datadir}" != '${prefix}/share' ; then
# Newer autoconf uses datarootdir:
if test "${datadir}" = '${datarootdir}' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
if test "${exec_prefix}" != "NONE" ; then
unixstyle=yes
fi
if test "${bindir}" != '${exec_prefix}/bin' ; then
unixstyle=yes
fi
if test "${datadir}" != '${prefix}/share' ; then
# Newer autoconf uses datarootdir:
if test "${datadir}" = '${datarootdir}' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
else
unixstyle=yes
fi
fi
if test "${libdir}" != '${exec_prefix}/lib' ; then
if test "${libdir}" != '${exec_prefix}/lib64' ; then
unixstyle=yes
fi
else
fi
if test "${includedir}" != '${prefix}/include' ; then
unixstyle=yes
fi
fi
if test "${libdir}" != '${exec_prefix}/lib' ; then
unixstyle=yes
fi
if test "${includedir}" != '${prefix}/include' ; then
unixstyle=yes
fi
if test "${mandir}" != '${prefix}/man' ; then
if test "${mandir}" = '${datarootdir}/man' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
if test "${mandir}" != '${prefix}/man' ; then
if test "${mandir}" = '${datarootdir}/man' ; then
if test "${datarootdir}" != '${prefix}/share' ; then
unixstyle=yes
fi
else
unixstyle=yes
fi
else
unixstyle=yes
fi
fi
if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then
unixstyle=yes
fi
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then
unixstyle=yes
fi
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
fi
MAKE_COPYTREE=no