reorganize configure to better support racketcs

Rearrange the configure scripts so that it will be possible to build
RacketCS from a source distribution and have it installed in the right
place. Also, when building Racket3m just to bootstrap RacketCS, don't
install Racket3m.
This commit is contained in:
Matthew Flatt 2018-10-20 06:10:17 -06:00
parent 0f18df2c1a
commit 3591a685fc
22 changed files with 14256 additions and 8703 deletions

View File

@ -176,6 +176,8 @@ SELF_UP =
SELF_FLAGS_qq = SELF_RACKET_FLAGS="-G `cd $(SELF_UP)../../../build/config; pwd`"
INSTALL_SETUP_ARGS = $(SELF_FLAGS_qq) PLT_SETUP_OPTIONS="$(JOB_OPTIONS) $(PLT_SETUP_OPTIONS)"
BASE_INSTALL_TARGET = plain-base-install
base:
if [ "$(CPUS)" = "" ] ; \
then $(MAKE) plain-base ; \
@ -190,6 +192,9 @@ plain-base:
$(MAKE) racket/src/build/Makefile
cd racket/src/build; $(MAKE) reconfigure
cd racket/src/build; $(MAKE) $(SELF_FLAGS_qq)
$(MAKE) $(BASE_INSTALL_TARGET)
plain-base-install:
cd racket/src/build; $(MAKE) install $(INSTALL_SETUP_ARGS)
base-config:
@ -210,8 +215,10 @@ win32-remove-setup-dlls:
IF EXIST racket\lib\libeay32.dll cmd /c del racket\lib\libeay32.dll
IF EXIST racket\lib\ssleay32.dll cmd /c del racket\lib\ssleay32.dll
racket/src/build/Makefile: racket/src/configure racket/src/Makefile.in
cd racket/src/build; ../configure $(CONFIGURE_ARGS_qq) $(MORE_CONFIGURE_ARGS)
SRC_MAKEFILE_CONFIG = configure
racket/src/build/Makefile: racket/src/$(SRC_MAKEFILE_CONFIG) racket/src/Makefile.in
cd racket/src/build; ../$(SRC_MAKEFILE_CONFIG) $(CONFIGURE_ARGS_qq) $(MORE_CONFIGURE_ARGS)
# For cross-compilation, build a native executable with no configure options:
@ -236,6 +243,9 @@ RACKETCS_SUFFIX = cs
# traditional virtual machine
RACKET =
# The built traditional Racket:
RACKET_BUILT_FOR_CS = racket/src/build/racket/racket3m
# If `SCHEME_SRC` is not set, then we'll download a copy of
# Chez Scheme from `CHEZ_SCHEME_REPO`
SCHEME_SRC =
@ -246,7 +256,6 @@ CHEZ_SCHEME_REPO = https://github.com/mflatt/ChezScheme
GIT_CLONE_ARGS_qq = --depth 1
# Redirected for `cs-as-is` and `cs-base`:
BASE_TARGET = plain-minimal-in-place
CS_SETUP_TARGET = plain-in-place-after-base
cs:
@ -259,7 +268,7 @@ plain-cs:
then $(MAKE) scheme-src ; fi
if [ "$(RACKET)" = "" ] ; \
then $(MAKE) racket-then-cs ; \
else $(MAKE) cs-after-racket-with-racket RACKET="$(RACKET)" ; fi
else $(MAKE) cs-only RACKET="$(RACKET)" ; fi
cpus-cs:
$(MAKE) -j $(CPUS) plain-cs JOB_OPTIONS="-j $(CPUS)"
@ -271,11 +280,11 @@ cs-base:
$(MAKE) cs CS_SETUP_TARGET=nothing-after-base
cs-as-is:
$(MAKE) cs BASE_TARGET=plain-base CS_SETUP_TARGET=in-place-setup
$(MAKE) cs CS_SETUP_TARGET=in-place-setup
cs-after-racket:
if [ "$(RACKET)" = "" ] ; \
then $(MAKE) cs-after-racket-with-racket RACKET="$(PLAIN_RACKET)" ; \
then $(MAKE) cs-after-racket-with-racket RACKET="$(RACKET_BUILT_FOR_CS)" SETUP_BOOT_MODE=--boot ; \
else $(MAKE) cs-after-racket-with-racket RACKET="$(RACKET)" ; fi
RACKETCS_SUFFIX_CONFIG = MORE_CONFIGURE_ARGS="$(MORE_CONFIGURE_ARGS) --enable-csdefault" PLAIN_RACKET="$(PLAIN_RACKET)3m"
@ -286,12 +295,18 @@ racket-then-cs:
else $(MAKE) racket-configured-then-cs ; fi
racket-configured-then-cs:
$(MAKE) $(BASE_TARGET) PKGS="compiler-lib parser-tools-lib"
$(RUN_RACO) setup $(ALL_PLT_SETUP_OPTIONS) -D -l compiler parser-tools
$(MAKE) cs-after-racket-with-racket RACKET="$(PLAIN_RACKET)"
$(MAKE) plain-base BASE_INSTALL_TARGET=nothing-after-base
$(MAKE) cs-after-racket-with-racket RACKET="$(RACKET_BUILT_FOR_CS)" SETUP_BOOT_MODE=--boot
ABS_RACKET = "`$(RACKET) racket/src/cs/absify.rkt --exec $(RACKET)`"
ABS_SCHEME_SRC = "`$(RACKET) racket/src/cs/absify.rkt $(SCHEME_SRC)`"
cs-only:
$(MAKE) racket/src/build/Makefile SRC_MAKEFILE_CONFIG=cfg-cs
$(MAKE) cs-after-racket-with-racket RACKET="$(RACKET)"
SETUP_BOOT_MODE = --chain
ABS_SETUP_BOOT = -l- setup $(SETUP_BOOT_MODE) racket/src/setup-go.rkt racket/src/build/compiled
ABS_BOOT = $(ABS_SETUP_BOOT) ignored racket/src/build/ignored.d
ABS_RACKET = `$(RACKET) $(ABS_BOOT) racket/src/cs/absify.rkt --exec $(RACKET)`
ABS_SCHEME_SRC = `$(RACKET) $(ABS_BOOT) racket/src/cs/absify.rkt $(SCHEME_SRC)`
cs-after-racket-with-racket:
if [ "$(SCHEME_SRC)" = "" ] ; \
@ -299,16 +314,14 @@ cs-after-racket-with-racket:
else $(MAKE) cs-after-racket-with-racket-and-scheme-src RACKET="$(RACKET)" SCHEME_SRC="$(SCHEME_SRC)" MAKE_BUILD_SCHEME=n ; fi
cs-after-racket-with-racket-and-scheme-src:
$(RACKET) -O "info@compiler/cm" $(ABS_BOOT) racket/src/cs/absify.rkt just-to-compile-absify
$(MAKE) cs-after-racket-with-abs-paths RACKET="$(ABS_RACKET)" SCHEME_SRC="$(ABS_SCHEME_SRC)" SELF_UP=../
UPCASE_PROG = "(displayln (string-upcase (vector-ref (current-command-line-arguments) 0)))"
SUFFIX_ARGS = CS_INSTALLED=$(RACKETCS_SUFFIX) CS_GR_INSTALLED="`$(RACKET) -I racket/base -e $(UPCASE_PROG) "$(RACKETCS_SUFFIX)"`"
cs-after-racket-with-abs-paths:
$(MAKE) racket/src/build/cs/Makefile
cd racket/src/build/cs; $(MAKE) RACKET="$(RACKET)" SCHEME_SRC="$(SCHEME_SRC)" MAKE_BUILD_SCHEME="$(MAKE_BUILD_SCHEME)"
$(MAKE) base-config
cd racket/src/build/cs; $(MAKE) install RACKET="$(RACKET)" $(SUFFIX_ARGS) $(INSTALL_SETUP_ARGS)
cd racket/src/build; $(MAKE) install-cs RACKET="$(RACKET)" CS_INSTALLED=$(RACKETCS_SUFFIX) $(INSTALL_SETUP_ARGS)
$(MAKE) $(CS_SETUP_TARGET) PLAIN_RACKET=racket/bin/racket$(RACKETCS_SUFFIX)
nothing-after-base:

View File

@ -48,7 +48,7 @@ COPYING = "$(srcdir)/COPYING-libscheme.txt" \
"$(srcdir)/COPYING.txt"
all:
$(MAKE) @MAIN_VARIANT@
$(MAKE) @MAIN_MAKE_TARGET@
TAGS:
etags `find "@srcdir@/racket" -type f`
@ -79,6 +79,14 @@ both:
$(MAKE) cgc
$(MAKE) 3m
racketcs:
$(MAKE) @CS_BOOTSTRAP_HELP@
cd cs; $(MAKE)
.PHONY: cs
cs:
$(MAKE) racketcs
# Cross-compilation helper:
no-local-racket:
@ -100,13 +108,13 @@ SETUP_SETUP_FLAGS = @INSTALL_SETUP_FLAGS@ $(PLT_SETUP_OPTIONS) $(PLT_ISO)
SETUP_ARGS = $(SETUP_RACKET_FLAGS) -N "raco" -l- setup $(SETUP_SETUP_FLAGS)
install:
$(MAKE) install-@MAIN_VARIANT@
$(MAKE) install-@MAIN_MAKE_TARGET@
plain-install:
if [ "$(DESTDIR)" != "" ]; then \
echo "cannot use plain-install with DESTDIR=$(DESTDIR)"; exit 1; \
fi
$(MAKE) plain-install-@MAIN_VARIANT@
$(MAKE) plain-install-@MAIN_MAKE_TARGET@
install-common-first:
case "$(DESTDIR)" in \
@ -233,6 +241,28 @@ install-no-both:
install-gracket-both:
cd gracket; $(MAKE) install-both
# CS install ----------------------------------------
CS_INSTALL_TARGET = install
install-cs-common:
$(MAKE) install-common-first
cd cs; $(MAKE) $(CS_INSTALL_TARGET)
$(MAKE) install-common-middle
$(MAKE) install-common-last
install-racketcs:
$(MAKE) install-cs-common
plain-install-racketcs:
$(MAKE) install-cs-common CS_INSTALL_TARGET=plain-install
install-cs:
$(MAKE) install-racketcs
plain-install-cs:
$(MAKE) plain-install-racketcs
# Docs install ----------------------------------------
# The "install" target already does this, but it does tons more too.

View File

@ -23,12 +23,19 @@ Please report bugs via one of the following:
Traditional Racket versus Racket-on-Chez
========================================================================
To build the experimental variant of Racket that runs on Chez Scheme
see "cs/c/README.txt".
By default, `configure` and the Windows scripts build the traditional
3m variant of Racket. The rest of the instructions below are about
building the traditional Racket implementation, except for a general
"Implementation Organization" note at the end applies to both
variants.
The rest of the instructions below are about building the traditional
Racket implementation, but a general "Implementation Organization"
note at the end applies to both variants.
Supplying `--enable-cs` or `--enable-csdefault` builds Racket on Chez
Scheme in addition to the traditional variant of Racket, while
`--enable-csonly` builds only Racket-on-Chez. Building Racket-on-Chez
requires either a "ChezScheme" build checkout in the build directory
or `--enable-scheme=...` to specify the Chez Scheme build directory
location. For more information on building Racket-on-Chez see
"cs/c/README.txt".
========================================================================
Compiling for Windows
@ -562,6 +569,8 @@ Directories in "src":
"native-libs" --- build scripts for some native-library packages
"ac" --- autoconf helpers
"lt" --- libtool/configure support
"utils" --- miscellaneous

View File

@ -1,8 +1,8 @@
#!/bin/sh
#|
cd "`dirname \"$0\"`"
src="configure.ac"
tgt="../configure"
src="../racket/configure.ac"
tgt="../cfg-racket"
if [ ! -e "$src" ]; then echo "abort: did not find $src"; exit 1; fi
echo "Creating $tgt from $src"
if [ -e "$tgt" ]; then
@ -18,7 +18,12 @@ chmod +x "$tgt"
src="../cs/c/configure.ac"
tgt="../cs/c/configure"
echo "Creating $tgt from $src"
autoconf "$src" > "$tgt"
autoconf "$src" | racket "$0" > "$tgt"
chmod +x "$tgt"
src="../cs/c/configure-parent.ac"
tgt="../cfg-cs"
echo "Creating $tgt from $src"
autoconf "$src" | racket "$0" > "$tgt"
chmod +x "$tgt"
exit 0
|#

164
racket/src/ac/path.m4 Normal file
View File

@ -0,0 +1,164 @@
unixstyle=no
if test "${prefix}" != "NONE" ; then
if test "${enable_origtree}" != "yes" ; 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
unixstyle=yes
fi
else
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
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
MAKE_COPYTREE=no
if test "${unixstyle}" = "no" ; then
if test "${prefix}" = "NONE" ; then
inplacebuild=yes
prefix=`cd "${srcdir}/..${PREFIX_PATH_RELATIVE}" && pwd`
else
MAKE_COPYTREE=copytree
fi
bindir='${prefix}/bin'
libpltdir='${prefix}/lib'
libpltdir_rel='lib'
sharepltdir='${prefix}/share'
etcpltdir='${prefix}/etc'
includepltdir='${prefix}/include'
docdir='${prefix}/doc'
mandir='${prefix}/man'
collectsdir='${prefix}/collects'
appsdir='${prefix}/share/applications'
COLLECTS_PATH="../collects"
CONFIG_PATH="../etc"
GR_APP_COLLECTS_PATH="../../../../collects"
GR_APP_CONFIG_PATH="../../../../etc"
INSTALL_ORIG_TREE=yes
else
if test "${prefix}" = "NONE" ; then
# Set prefix explicitly so we can use it during configure
prefix="${ac_default_prefix}"
fi
libpltdir="${libdir}/"'${PACKAGE}'
libpltdir_rel=""
if test "${libpltdir}" = '${exec_prefix}/lib/${PACKAGE}' ; then
if test "${bindir}" = '${exec_prefix}/bin' ; then
libpltdir_rel="lib/"'${PACKAGE}'
fi
fi
sharepltdir="${datadir}/"'${PACKAGE}'
etcpltdir="${sysconfdir}/"'${PACKAGE}'
includepltdir="${includedir}/"'${PACKAGE}'
MAKE_COPYTREE=copytree
COLLECTS_PATH='${collectsdir}'
CONFIG_PATH='${etcpltdir}'
GR_APP_COLLECTS_PATH="${COLLECTS_PATH}"
GR_APP_CONFIG_PATH="${CONFIG_PATH}"
INSTALL_ORIG_TREE=no
fi
GUI_COLLECTS_PATH="${COLLECTS_PATH}"
GUI_CONFIG_PATH="${CONFIG_PATH}"
CS_BOOTSTRAP_HELP="no-3m"
########################################
AC_SUBST(collectsdir)
AC_SUBST(appsdir)
AC_SUBST(libpltdir)
AC_SUBST(libpltdir_rel)
AC_SUBST(sharepltdir)
AC_SUBST(etcpltdir)
AC_SUBST(includepltdir)
AC_SUBST(docdir)
AC_SUBST(MAKE_COPYTREE)
AC_SUBST(MAKE_GRACKET)
AC_SUBST(LIBFINISH)
AC_SUBST(MMM)
AC_SUBST(MMM_INSTALLED)
AC_SUBST(MMM_CAP_INSTALLED)
AC_SUBST(CGC)
AC_SUBST(CGC_INSTALLED)
AC_SUBST(CGC_CAP_INSTALLED)
AC_SUBST(MAIN_VARIANT)
AC_SUBST(MAIN_MAKE_TARGET)
AC_SUBST(CS_BOOTSTRAP_HELP)
AC_SUBST(MAKE_LOCAL_RACKET)
########################################
show_path_results()
{
if test "${inplacebuild}" = "yes" ; then
echo ">>> Installation is in-place:"
echo " ${srcdir}/.."
echo " Configure with --prefix if you wanted to install somewhere else."
if test "${enable_quartz}" != "yes" ; then
echo " The --prefix option also makes the installed files better conform"
echo " to Unix installation conventions. (The configure script will show"
echo " you specific installation paths when --prefix is used.)"
fi
if test "${enable_shared}" != "yes" ; then
echo " Alternately, you can simply "'`'"mv' the in-place installation after"
echo " running "'`'"make install'."
fi
else
echo ">>> Installation targets:"
echo " executables : ${bindir}/..."
echo " core docs : ${docdir}/..."
echo " C libraries : ${libdir}/..."
echo " C headers : ${includepltdir}/..."
echo " platform libraries : ${libpltdir}/..."
echo " common libraries : ${sharepltdir}/..."
echo " base collections : ${collectsdir}/..."
echo " configuration : ${etcpltdir}/..."
echo " .desktop files : ${appsdir}/..."
echo " man pages : ${mandir}/..."
echo " where prefix = ${prefix}"
echo " and datarootdir = ${datarootdir}"
if test "${unixstyle}" = "yes" ; then
echo " and exec_prefix = ${exec_prefix}"
echo " and PACKAGE = racket"
fi
fi
}

View File

@ -0,0 +1,6 @@
AC_ARG_ENABLE(origtree, [ --enable-origtree install with original directory structure])
AC_ARG_ENABLE(pkgscope, [ --enable-pkgscope=<s> set `raco pkg' default: installation, user, or shared])
AC_ARG_ENABLE(docs, [ --enable-docs build docs on install (enabled by default)], , enable_docs=yes)
AC_ARG_ENABLE(usersetup, [ --enable-usersetup setup user-specific files on install])

View File

@ -0,0 +1,24 @@
INSTALL_PKGSCOPE=user
MAKE_INSTALL_PKGSCOPE=preserve
if test "${enable_pkgscope}" != "" ; then
case "${enable_pkgscope}" in
installation)
INSTALL_PKGSCOPE=installation
;;
user)
INSTALL_PKGSCOPE=user
;;
shared)
INSTALL_PKGSCOPE=shared
;;
*)
echo "Unrecognized package scope: ${enable_pkgscope}"
exit 1
;;
esac
echo "=== Package scope: " $INSTALL_PKGSCOPE
MAKE_INSTALL_PKGSCOPE=adjust
fi
AC_SUBST(INSTALL_PKGSCOPE)
AC_SUBST(MAKE_INSTALL_PKGSCOPE)

25
racket/src/ac/xonx.m4 Normal file
View File

@ -0,0 +1,25 @@
enable_quartz=no
if test "${enable_xonx}" = "yes" ; then
enable_quartz=no
else
case "$host_os" in
darwin*)
enable_quartz=yes
if test "${enable_origtree}" != "no" ; then
enable_origtree=yes
fi
if test "${prefix}" != "NONE" ; then
if test "${enable_macprefix}" != "yes" ; then
echo "ERROR: --prefix not allowed for a Mac OS build, unless either"
echo " --enable-xonx is supplied (to create a Unix-style"
echo " build), or "
echo " --enable-macprefix is supplied (to allow a Mac-style"
echo " installation, even though --prefix is normally used"
echo " for Unix-style installations)"
exit 1
fi
fi
;;
esac
fi

View File

@ -0,0 +1,3 @@
AC_ARG_ENABLE(xonx, [ --enable-xonx use Unix style (e.g., use Gtk) for Mac OS])
AC_ARG_ENABLE(macprefix, [ --enable-macprefix allow --prefix with a Mac OS install])

3281
racket/src/cfg-cs Executable file

File diff suppressed because it is too large Load Diff

8470
racket/src/cfg-racket Executable file

File diff suppressed because it is too large Load Diff

8481
racket/src/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -13,23 +13,20 @@ CFLAGS = @CFLAGS@ @CPPFLAGS@ -I$(SCHEME_INC) -I$(srcdir)/../../rktio -Irktio -I.
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
DEFAULT_RACKET = $(srcdir)/../../../bin/racket
DEFAULT_RACKET = ../racket/racket3m
RACKET = @RACKET@
RACO = $(RACKET) -N raco -l- raco
CS_INSTALLED = cs
CS_GR_INSTALLED = CS
bindir = $(srcdir)/../../../bin
libpltdir = $(srcdir)/../../../lib
docdir = $(srcdir)/../../../doc
sharepltdir = $(srcdir)/../../../share
configdir = $(srcdir)/../../../etc
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
bindir = @bindir@
libdir = @libdir@
libpltdir = @libpltdir@
libpltdir_rel = @libpltdir_rel@
ALLDIRINFO = "$(DESTDIR)$(bindir)" \
"$(DESTDIR)$(docdir)" \
"$(DESTDIR)$(libpltdir)" \
"$(DESTDIR)$(sharepltdir)" \
"$(DESTDIR)$(configdir)"
"$(DESTDIR)$(libpltdir)"
# Defines FWVERSION:
mainsrcdir = @srcdir@/../..
@ -43,15 +40,19 @@ cs:
$(MAKE) gracketcs
$(MAKE) starter
ABS_RACKET = "`$(RACKET) $(srcdir)/../absify.rkt --exec $(RACKET)`"
ABS_SCHEME_SRC = "`$(RACKET) $(srcdir)/../absify.rkt $(SCHEME_SRC)`"
ABS_SRCDIR = "`$(RACKET) $(srcdir)/../absify.rkt $(srcdir)`"
ABS_BUILDDIR = "`$(RACKET) $(srcdir)/../absify.rkt $(builddir)`"
SETUP_BOOT_MODE = --chain
SETUP_COMMON_BOOT = -l- setup $(SETUP_BOOT_MODE) $(srcdir)/../../setup-go.rkt $(builddir)/compiled
SETUP_BOOT = -W 'info@compiler/cm error' -l- setup --chain $(srcdir)/../../setup-go.rkt $(builddir)/compiled
ABS_BOOT = $(SETUP_COMMON_BOOT) ignored $(builddir)/ignored.d
ABS_RACKET = "`$(RACKET) $(ABS_BOOT) $(srcdir)/../absify.rkt --exec $(RACKET)`"
ABS_SCHEME_SRC = "`$(RACKET) $(ABS_BOOT) $(srcdir)/../absify.rkt $(SCHEME_SRC)`"
ABS_SRCDIR = "`$(RACKET) $(ABS_BOOT) $(srcdir)/../absify.rkt $(srcdir)`"
ABS_BUILDDIR = "`$(RACKET) $(ABS_BOOT) $(srcdir)/../absify.rkt $(builddir)`"
SETUP_BOOT = -O 'info@compiler/cm' $(SETUP_COMMON_BOOT)
# We don't try to track dependencies through makefiles for things
# build with the expander extrator, hence "ignored"
# built with the expander extractor, hence "ignored"
BOOTSTRAP_RACKET = $(RACKET) $(SETUP_BOOT) ignored $(builddir)/ignored.d
RKTIO_RACKET = $(RACKET) $(SETUP_BOOT) '(GENERATED_RKTIO_RKTL)' $(builddir)/rktio.d
@ -75,6 +76,7 @@ build-racket-so:
cd $(srcdir)/.. && $(RACKET_SO_ENV) $(MAKE) "$(builddir)/racket.so" $(CS_PROGS) $(CS_OPTS) BUILDDIR="$(builddir)/"
bounce:
$(RACKET) -O 'info@compiler/cm' $(ABS_BOOT) $(srcdir)/../absify.rkt just-to-compile-absify
$(MAKE) RACKET="$(ABS_RACKET)" SCHEME_SRC="$(ABS_SCHEME_SRC)" srcdir="$(ABS_SRCDIR)" builddir="$(ABS_BUILDDIR)" $(TARGET)
# You can't make `expander`, `thread`, etc., directly, because
@ -198,7 +200,7 @@ ICP=@ICP@
install:
$(MAKE) plain-install
$(srcdir)/../../../bin/racket$(RACKETCS_SUFFIX) $(SELF_RACKET_FLAGS) -N raco -l- raco setup $(PLT_SETUP_OPTIONS)
$(DESTDIR)$(bindir)/racket$(CS_INSTALLED) $(SELF_RACKET_FLAGS) -N raco -l- raco setup $(PLT_SETUP_OPTIONS)
plain-install@NOT_OSX@:
$(MAKE) unix-install
@ -217,6 +219,8 @@ unix-install:
$(ICP) gracketcs "$(DESTDIR)$(libpltdir)/gracket$(CS_INSTALLED)"
RKTFWDEST = @FRAMEWORK_INSTALL_DIR@/Racket.framework
FRAMEWORK_REL_PREFIX = "@executable_path/../$(libpltdir_rel)/"
FRAMEWORK_ABS_PREFIX = "$(libpltdir)/"
macos-install:
$(MAKE) common-install
@ -228,7 +232,10 @@ macos-install:
cp $(RKTFWDIR)/boot/petite.boot $(DESTDIR)$(RKTFWDEST)/Versions/$(FWVERSION)_CS/boot/
cp $(RKTFWDIR)/boot/scheme.boot $(DESTDIR)$(RKTFWDEST)/Versions/$(FWVERSION)_CS/boot/
cp $(RKTFWDIR)/boot/racket.boot $(DESTDIR)$(RKTFWDEST)/Versions/$(FWVERSION)_CS/boot/
/usr/bin/install_name_tool -change "@executable_path/Racket.framework/Versions/$(FWVERSION)_CS/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)_CS/Racket" $(DESTDIR)"$(bindir)/racket$(CS_GR_INSTALLED)"
$(MAKE) macos-install-gracket CS_GR_INSTALLED="`echo $(CS_INSTALLED) | tr a-z A-Z`"
macos-install-gracket:
/usr/bin/install_name_tool -change "@executable_path/Racket.framework/Versions/$(FWVERSION)_CS/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)_CS/Racket" $(DESTDIR)"$(bindir)/racket$(CS_INSTALLED)"
rm -rf $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app"
$(ICP) -r "GRacketCS.app" $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app"
$(RACKET) "$(srcdir)/../../mac/rename-app.rkt" $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app" "GRacketCS" "GRacket$(CS_GR_INSTALLED)" no-up

View File

@ -583,6 +583,7 @@ PACKAGE_BUGREPORT=
PACKAGE_URL=
ac_unique_file="embed-boot.rkt"
enable_option_checking=no
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@ -650,6 +651,28 @@ CPPFLAGS
LDFLAGS
CFLAGS
CC
MAKE_LOCAL_RACKET
CS_BOOTSTRAP_HELP
MAIN_MAKE_TARGET
MAIN_VARIANT
CGC_CAP_INSTALLED
CGC_INSTALLED
CGC
MMM_CAP_INSTALLED
MMM_INSTALLED
MMM
LIBFINISH
MAKE_GRACKET
MAKE_COPYTREE
includepltdir
etcpltdir
sharepltdir
libpltdir_rel
libpltdir
appsdir
collectsdir
MAKE_INSTALL_PKGSCOPE
INSTALL_PKGSCOPE
target_os
target_vendor
target_cpu
@ -674,8 +697,8 @@ mandir
localedir
libdir
psdir
pdfdir
dvidir
appsdir
collectsdir
htmldir
infodir
docdir
@ -708,10 +731,18 @@ enable_standalone
enable_pthread
enable_iconv
enable_compress
enable_xonx
enable_origtree
enable_pkgscope
enable_docs
enable_usersetup
enable_racket
enable_scheme
enable_mach
enable_xonx
enable_macprefix
enable_csdefault
enable_csonly
enable_parent
'
ac_precious_vars='build_alias
host_alias
@ -765,8 +796,8 @@ oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
collectsdir='${exec_prefix}/share/${PACKAGE}/collects'
appsdir='${exec_prefix}/share/applications'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
@ -848,10 +879,10 @@ do
-docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
docdir=$ac_optarg ;;
-dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
ac_prev=dvidir ;;
-dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
dvidir=$ac_optarg ;;
-collectsdir | --collectsdir | --collectsdi | --collectsd | --collects | --dv)
ac_prev=collectsdir ;;
-collectsdir=* | --collectsdir=* | --collectsdi=* | --collectsd=* | --collects=* | --dv=*)
collectsdir=$ac_optarg ;;
-enable-* | --enable-*)
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
@ -998,10 +1029,10 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
ac_prev=pdfdir ;;
-pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
pdfdir=$ac_optarg ;;
-appsdir | --appsdir | --appsdi | --appsd | --apps | --pd)
ac_prev=appsdir ;;
-appsdir=* | --appsdir=* | --appsdi=* | --appsd=* | --apps=* | --pd=*)
appsdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
@ -1148,7 +1179,7 @@ fi
# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
oldincludedir docdir infodir htmldir collectsdir appsdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
@ -1297,24 +1328,15 @@ For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
--collectsdir=DIR base collections [EPREFIX/share/PACKAGE/collects]
--appsdir=DIR .desktop files [EPREFIX/share/applications]
_ACEOF
cat <<\_ACEOF
@ -1339,10 +1361,18 @@ Optional Features:
--enable-pthread link with pthreads (usually auto-enabled if needed)
--enable-iconv use iconv (usually auto-enabled)
--enable-compress compress compiled code
--enable-xonx use Unix style (e.g., use Gtk) for Mac OS
--enable-origtree install with original directory structure
--enable-pkgscope=<s> set `raco pkg' default: installation, user, or shared
--enable-docs build docs on install (enabled by default)
--enable-usersetup setup user-specific files on install
--enable-racket=<path> use <path> as Racket to build; or "auto" to create
--enable-scheme=<path> Chez Scheme build directory at <path>
--enable-mach=<mac> Use Chez Scheme machine type <mach>
--enable-xonx use Unix style (e.g., use Gtk) for Mac OS
--enable-macprefix allow --prefix with a Mac OS install
--enable-csdefault use CS as default build
--enable-csonly build CS only
--enable-parent Create "../Makefile" (internal use)
Some influential environment variables:
CC C compiler command
@ -2210,6 +2240,9 @@ test -n "$target_alias" &&
program_prefix=${target_alias}-
# Check whether --enable-shared was given.
if test "${enable_shared+set}" = set; then :
enableval=$enable_shared;
@ -2235,11 +2268,31 @@ if test "${enable_compress+set}" = set; then :
enableval=$enable_compress;
fi
# Check whether --enable-xonx was given.
if test "${enable_xonx+set}" = set; then :
enableval=$enable_xonx;
# Check whether --enable-origtree was given.
if test "${enable_origtree+set}" = set; then :
enableval=$enable_origtree;
fi
# Check whether --enable-pkgscope was given.
if test "${enable_pkgscope+set}" = set; then :
enableval=$enable_pkgscope;
fi
# Check whether --enable-docs was given.
if test "${enable_docs+set}" = set; then :
enableval=$enable_docs;
else
enable_docs=yes
fi
# Check whether --enable-usersetup was given.
if test "${enable_usersetup+set}" = set; then :
enableval=$enable_usersetup;
fi
# Check whether --enable-racket was given.
if test "${enable_racket+set}" = set; then :
enableval=$enable_racket;
@ -2256,6 +2309,33 @@ if test "${enable_mach+set}" = set; then :
fi
# Check whether --enable-xonx was given.
if test "${enable_xonx+set}" = set; then :
enableval=$enable_xonx;
fi
# Check whether --enable-macprefix was given.
if test "${enable_macprefix+set}" = set; then :
enableval=$enable_macprefix;
fi
# Check whether --enable-csdefault was given.
if test "${enable_csdefault+set}" = set; then :
enableval=$enable_csdefault;
fi
# Check whether --enable-csonly was given.
if test "${enable_csonly+set}" = set; then :
enableval=$enable_csonly;
fi
# Check whether --enable-parent was given.
if test "${enable_parent+set}" = set; then :
enableval=$enable_parent;
fi
show_explicitly_disabled()
{
if test "$1" = "no" ; then
@ -2288,6 +2368,33 @@ show_explicitly_set "${enable_racket}" "Racket"
show_explicitly_set "${enable_scheme}" "Chez Scheme build directory"
show_explicitly_set "${enable_mach}" "machine type"
enable_quartz=no
if test "${enable_xonx}" = "yes" ; then
enable_quartz=no
else
case "$host_os" in
darwin*)
enable_quartz=yes
if test "${enable_origtree}" != "no" ; then
enable_origtree=yes
fi
if test "${prefix}" != "NONE" ; then
if test "${enable_macprefix}" != "yes" ; then
echo "ERROR: --prefix not allowed for a Mac OS build, unless either"
echo " --enable-xonx is supplied (to create a Unix-style"
echo " build), or "
echo " --enable-macprefix is supplied (to allow a Mac-style"
echo " installation, even though --prefix is normally used"
echo " for Unix-style installations)"
exit 1
fi
fi
;;
esac
fi
if test "${enable_iconv}" = "" ; then
enable_iconv=yes
fi
@ -2296,6 +2403,204 @@ if test "${enable_xonx}" == "" ; then
enable_xonx=no
fi
INSTALL_PKGSCOPE=user
MAKE_INSTALL_PKGSCOPE=preserve
if test "${enable_pkgscope}" != "" ; then
case "${enable_pkgscope}" in
installation)
INSTALL_PKGSCOPE=installation
;;
user)
INSTALL_PKGSCOPE=user
;;
shared)
INSTALL_PKGSCOPE=shared
;;
*)
echo "Unrecognized package scope: ${enable_pkgscope}"
exit 1
;;
esac
echo "=== Package scope: " $INSTALL_PKGSCOPE
MAKE_INSTALL_PKGSCOPE=adjust
fi
############## Install targets ################
PREFIX_PATH_RELATIVE=/../..
unixstyle=no
if test "${prefix}" != "NONE" ; then
if test "${enable_origtree}" != "yes" ; 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
unixstyle=yes
fi
else
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
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
MAKE_COPYTREE=no
if test "${unixstyle}" = "no" ; then
if test "${prefix}" = "NONE" ; then
inplacebuild=yes
prefix=`cd "${srcdir}/..${PREFIX_PATH_RELATIVE}" && pwd`
else
MAKE_COPYTREE=copytree
fi
bindir='${prefix}/bin'
libpltdir='${prefix}/lib'
libpltdir_rel='lib'
sharepltdir='${prefix}/share'
etcpltdir='${prefix}/etc'
includepltdir='${prefix}/include'
docdir='${prefix}/doc'
mandir='${prefix}/man'
collectsdir='${prefix}/collects'
appsdir='${prefix}/share/applications'
COLLECTS_PATH="../collects"
CONFIG_PATH="../etc"
GR_APP_COLLECTS_PATH="../../../../collects"
GR_APP_CONFIG_PATH="../../../../etc"
INSTALL_ORIG_TREE=yes
else
if test "${prefix}" = "NONE" ; then
# Set prefix explicitly so we can use it during configure
prefix="${ac_default_prefix}"
fi
libpltdir="${libdir}/"'${PACKAGE}'
libpltdir_rel=""
if test "${libpltdir}" = '${exec_prefix}/lib/${PACKAGE}' ; then
if test "${bindir}" = '${exec_prefix}/bin' ; then
libpltdir_rel="lib/"'${PACKAGE}'
fi
fi
sharepltdir="${datadir}/"'${PACKAGE}'
etcpltdir="${sysconfdir}/"'${PACKAGE}'
includepltdir="${includedir}/"'${PACKAGE}'
MAKE_COPYTREE=copytree
COLLECTS_PATH='${collectsdir}'
CONFIG_PATH='${etcpltdir}'
GR_APP_COLLECTS_PATH="${COLLECTS_PATH}"
GR_APP_CONFIG_PATH="${CONFIG_PATH}"
INSTALL_ORIG_TREE=no
fi
GUI_COLLECTS_PATH="${COLLECTS_PATH}"
GUI_CONFIG_PATH="${CONFIG_PATH}"
CS_BOOTSTRAP_HELP="no-3m"
########################################
########################################
show_path_results()
{
if test "${inplacebuild}" = "yes" ; then
echo ">>> Installation is in-place:"
echo " ${srcdir}/.."
echo " Configure with --prefix if you wanted to install somewhere else."
if test "${enable_quartz}" != "yes" ; then
echo " The --prefix option also makes the installed files better conform"
echo " to Unix installation conventions. (The configure script will show"
echo " you specific installation paths when --prefix is used.)"
fi
if test "${enable_shared}" != "yes" ; then
echo " Alternately, you can simply "'`'"mv' the in-place installation after"
echo " running "'`'"make install'."
fi
else
echo ">>> Installation targets:"
echo " executables : ${bindir}/..."
echo " core docs : ${docdir}/..."
echo " C libraries : ${libdir}/..."
echo " C headers : ${includepltdir}/..."
echo " platform libraries : ${libpltdir}/..."
echo " common libraries : ${sharepltdir}/..."
echo " base collections : ${collectsdir}/..."
echo " configuration : ${etcpltdir}/..."
echo " .desktop files : ${appsdir}/..."
echo " man pages : ${mandir}/..."
echo " where prefix = ${prefix}"
echo " and datarootdir = ${datarootdir}"
if test "${unixstyle}" = "yes" ; then
echo " and exec_prefix = ${exec_prefix}"
echo " and PACKAGE = racket"
fi
fi
}
############## init variables ################
skip_iconv_check=no
use_flag_pthread=yes
use_flag_posix_pthread=no
@ -2306,7 +2611,7 @@ NOT_OSX=""
CONFIGURE_RACKET_SO_COMPILE=""
COMPRESS_COMP=""
FRAMEWORK_INSTALL_DIR='$(srcdir)/../../../lib/'
FRAMEWORK_INSTALL_DIR='$(libpltdir)'
FRAMEWORK_PREFIX='@executable_path/../lib/'
RACKET='$(DEFAULT_RACKET)'
@ -3251,6 +3556,24 @@ case "$host_os" in
CPPFLAGS="${CPPFLAGS} -DRACKET_XONX"
fi
if test "${enable_libfw}" = "yes" ; then
FRAMEWORK_INSTALL_DIR=/Library/Frameworks
FRAMEWORK_REL_INSTALL=no
FRAMEWORK_PREFIX=''
elif test "${enable_userfw}" = "yes" ; then
FRAMEWORK_INSTALL_DIR=~/Library/Frameworks
FRAMEWORK_REL_INSTALL=no
FRAMEWORK_PREFIX=''
else
FRAMEWORK_INSTALL_DIR='${libpltdir}'
FRAMEWORK_REL_INSTALL=yes
if test "${libpltdir_rel}" = "" ; then
FRAMEWORK_PREFIX='$(FRAMEWORK_ABS_PREFIX)'
else
FRAMEWORK_PREFIX='$(FRAMEWORK_REL_PREFIX)'
fi
fi
# -pthread is not needed and triggers a warning
use_flag_pthread=no
;;
@ -5219,3 +5542,6 @@ mkdir -p rktio
abssrcdir=`(cd ${srcdir}; pwd)`
echo "=== configuring in rktio (${abssrcdir}/../../rktio)"
cd rktio; ${abssrcdir}/../../rktio/configure
# From "../ac/path.m4":
show_path_results

View File

@ -0,0 +1,35 @@
#################################################################
# This configure script generates `cfg-cs`, which is used only #
# when building RacketCS without first building Racket. It #
# creates a "Makefile" that manages installation steps. #
#################################################################
AC_INIT([setup-go.rkt])
AC_CONFIG_AUX_DIR(lt)
AC_CANONICAL_SYSTEM
AC_DISABLE_OPTION_CHECKING
m4_include(../ac/path_arg.m4)
m4_include(../ac/xonx_arg.m4)
m4_include(../ac/xonx.m4)
m4_include(../ac/path_pkgscope.m4)
m4_include(../ac/path.m4)
MAIN_MAKE_TARGET=racketcs
MAIN_VARIANT=3m
MAKE_GRACKET=no
LIBFINISH=echo
ICP=cp
AC_SUBST(ICP)
makefiles="Makefile"
AC_OUTPUT($makefiles)

View File

@ -1,7 +1,7 @@
#################################################################
# This is the source for the `configure` script, to be compiled #
# by autoconf (use `make-configure` in "../../racket"). #
# by autoconf (use `make-configure` in "../../ac"). #
#################################################################
AC_INIT([embed-boot.rkt])
@ -10,15 +10,21 @@ AC_CONFIG_HEADERS([cs_config.h])
AC_CONFIG_AUX_DIR(../../lt)
AC_CANONICAL_SYSTEM
AC_DISABLE_OPTION_CHECKING
AC_ARG_ENABLE(shared, [ --enable-shared create shared libraries (ok, but not recommended)])
AC_ARG_ENABLE(standalone, [ --enable-standalone create a standalone shared library])
AC_ARG_ENABLE(pthread, [ --enable-pthread link with pthreads (usually auto-enabled if needed)])
AC_ARG_ENABLE(iconv, [ --enable-iconv use iconv (usually auto-enabled)])
AC_ARG_ENABLE(compress, [ --enable-compress compress compiled code])
AC_ARG_ENABLE(xonx, [ --enable-xonx use Unix style (e.g., use Gtk) for Mac OS])
m4_include(../ac/path_arg.m4)
AC_ARG_ENABLE(racket, [ --enable-racket=<path> use <path> as Racket to build; or "auto" to create])
AC_ARG_ENABLE(scheme, [ --enable-scheme=<path> Chez Scheme build directory at <path>])
AC_ARG_ENABLE(mach, [ --enable-mach=<mac> Use Chez Scheme machine type <mach>])
m4_include(../ac/xonx_arg.m4)
AC_ARG_ENABLE(csdefault, [ --enable-csdefault use CS as default build])
AC_ARG_ENABLE(csonly, [ --enable-csonly build CS only])
AC_ARG_ENABLE(parent, [ --enable-parent Create "../Makefile" (internal use)])
show_explicitly_disabled()
{
@ -52,6 +58,8 @@ show_explicitly_set "${enable_racket}" "Racket"
show_explicitly_set "${enable_scheme}" "Chez Scheme build directory"
show_explicitly_set "${enable_mach}" "machine type"
m4_include(../ac/xonx.m4)
if test "${enable_iconv}" = "" ; then
enable_iconv=yes
fi
@ -60,6 +68,16 @@ if test "${enable_xonx}" == "" ; then
enable_xonx=no
fi
m4_include(../ac/path_pkgscope.m4)
############## Install targets ################
PREFIX_PATH_RELATIVE=/../..
m4_include(../ac/path.m4)
############## init variables ################
skip_iconv_check=no
use_flag_pthread=yes
use_flag_posix_pthread=no
@ -70,7 +88,7 @@ NOT_OSX=""
CONFIGURE_RACKET_SO_COMPILE=""
COMPRESS_COMP=""
FRAMEWORK_INSTALL_DIR='$(srcdir)/../../../lib/'
FRAMEWORK_INSTALL_DIR='$(libpltdir)'
FRAMEWORK_PREFIX='@executable_path/../lib/'
RACKET='$(DEFAULT_RACKET)'
@ -138,6 +156,24 @@ case "$host_os" in
CPPFLAGS="${CPPFLAGS} -DRACKET_XONX"
fi
if test "${enable_libfw}" = "yes" ; then
FRAMEWORK_INSTALL_DIR=/Library/Frameworks
FRAMEWORK_REL_INSTALL=no
FRAMEWORK_PREFIX=''
elif test "${enable_userfw}" = "yes" ; then
FRAMEWORK_INSTALL_DIR=~/Library/Frameworks
FRAMEWORK_REL_INSTALL=no
FRAMEWORK_PREFIX=''
else
FRAMEWORK_INSTALL_DIR='${libpltdir}'
FRAMEWORK_REL_INSTALL=yes
if test "${libpltdir_rel}" = "" ; then
FRAMEWORK_PREFIX='$(FRAMEWORK_ABS_PREFIX)'
else
FRAMEWORK_PREFIX='$(FRAMEWORK_REL_PREFIX)'
fi
fi
# -pthread is not needed and triggers a warning
use_flag_pthread=no
;;
@ -372,3 +408,6 @@ mkdir -p rktio
abssrcdir=`(cd ${srcdir}; pwd)`
echo "=== configuring in rktio (${abssrcdir}/../../rktio)"
cd rktio; ${abssrcdir}/../../rktio/configure
# From "../ac/path.m4":
show_path_results

View File

@ -89,7 +89,7 @@ LINKRESULT_wx_xt = gracket@CGC@
LINKRESULT_wx_mac = GRacket@CGC@.app/Contents/MacOS/GRacket@CGC@
LINKRESULT = $(LINKRESULT_@WXVARIANT@)
SETUP_BOOT = -O "info@compiler/cm error" -l- setup @BOOT_MODE@ $(srcdir)/../setup-go.rkt ../compiled
SETUP_BOOT = -O "info@compiler/cm" -l- setup @BOOT_MODE@ $(srcdir)/../setup-go.rkt ../compiled
# Incremented each time the binaries change:
DOWNLOAD_BIN_VERSION = 1

View File

@ -49,7 +49,7 @@ RACKET = racket
RUN_THIS_RACKET_CGC = ./racket@CGC@
RUN_THIS_RACKET_MMM = ./racket@MMM@
SETUP_BOOT = -O "info@compiler/cm error" -l- setup @BOOT_MODE@ $(srcdir)/../setup-go.rkt ../compiled
SETUP_BOOT = -O "info@compiler/cm" -l- setup @BOOT_MODE@ $(srcdir)/../setup-go.rkt ../compiled
MZSRC = $(srcdir)/src

View File

@ -1,8 +1,8 @@
#################################################################
# This is the source for the `configure' script, to be compiled #
# by autoconf (use `make-configure` in this directory). #
#################################################################
##################################################################
# This is the source for the `cfg-racket' script, to be compiled #
# by autoconf (use `../ac/make-configure`). #
##################################################################
# Remember:
# CFLAGS - C compilation only
@ -43,11 +43,8 @@ AC_ARG_ENABLE(extflonum, [ --enable-extflonum support extflonums (enabl
AC_ARG_ENABLE(racket, [ --enable-racket=<path> use <path> as Racket to build; or "auto" to create])
AC_ARG_ENABLE(origtree,[ --enable-origtree install with original directory structure])
AC_ARG_ENABLE(pkgscope,[ --enable-pkgscope=<s> set `raco pkg' default: installation, user, or shared])
m4_include(../ac/path_arg.m4)
AC_ARG_ENABLE(docs, [ --enable-docs build docs on install (enabled by default)], , enable_docs=yes)
AC_ARG_ENABLE(usersetup, [ --enable-usersetup setup user-specific files on install])
AC_ARG_ENABLE(natipkg, [ --enable-natipkg add "-natipkg" to library subpath])
AC_ARG_ENABLE(shared, [ --enable-shared create shared libraries (ok, but not recommended)])
@ -62,14 +59,13 @@ AC_ARG_ENABLE(sdk, [ --enable-sdk5=<path> use Mac OS 10.5 SDK directory]
AC_ARG_ENABLE(sdk, [ --enable-sdk6=<path> use Mac OS 10.6 SDK directory])
AC_ARG_ENABLE(sdk, [ --enable-ios=<path> use iOS SDK directory])
AC_ARG_ENABLE(sdk, [ --enable-sysroot=<path> use sysroot directory (e.g., for Android)])
AC_ARG_ENABLE(xonx, [ --enable-xonx use Unix style (e.g., use Gtk) for Mac OS])
m4_include(../ac/xonx_arg.m4)
AC_ARG_ENABLE(libfw, [ --enable-libfw install Mac OS frameworks to /Library/Frameworks])
AC_ARG_ENABLE(libfw, [ --enable-userfw install Mac OS frameworks to ~/Library/Frameworks])
AC_ARG_ENABLE(macprefix, [ --enable-macprefix allow --prefix with a Mac OS install])
AC_ARG_ENABLE(mac64, [ --enable-mac64 allow 64-bit Mac OS build (enabled by default)], , enable_mac64=yes)
AC_ARG_ENABLE(csdefault, [ --enable-csdefault use CS as default build])
AC_ARG_ENABLE(cgcdefault, [ --enable-cgcdefault use CGC as default build (NOT RECOMMENDED)])
AC_ARG_ENABLE(csefault, [ --enable-csdefault prepare for CS as default build (not CGC or 3m)])
AC_ARG_ENABLE(sgc, [ --enable-sgc use Senora GC instead of Boehm GC (enabled by default)], , enable_sgc=yes)
AC_ARG_ENABLE(sgcdebug,[ --enable-sgcdebug use Senora GC for debugging (expensive debug mode)])
AC_ARG_ENABLE(backtrace, [ --enable-backtrace 3m: support GC backtrace dumps (expensive debug mode)])
@ -142,30 +138,7 @@ if test "${enable_shared}" = "yes" ; then
esac
fi
enable_quartz=no
if test "${enable_xonx}" = "yes" ; then
enable_quartz=no
else
case "$host_os" in
darwin*)
enable_quartz=yes
if test "${enable_origtree}" != "no" ; then
enable_origtree=yes
fi
if test "${prefix}" != "NONE" ; then
if test "${enable_macprefix}" != "yes" ; then
echo "ERROR: --prefix not allowed for a Mac OS build, unless either"
echo " --enable-xonx is supplied (to create a Unix-style"
echo " build), or "
echo " --enable-macprefix is supplied (to allow a Mac-style"
echo " installation, even though --prefix is normally used"
echo " for Unix-style installations)"
exit 1
fi
fi
;;
esac
fi
m4_include(../ac/xonx.m4)
if test "${enable_iconv}" = "" ; then
enable_iconv=yes
@ -173,102 +146,7 @@ fi
############## Install targets ################
unixstyle=no
if test "${prefix}" != "NONE" ; then
if test "${enable_origtree}" != "yes" ; 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
unixstyle=yes
fi
else
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
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
MAKE_COPYTREE=no
if test "${unixstyle}" = "no" ; then
if test "${prefix}" = "NONE" ; then
inplacebuild=yes
prefix=`cd "${srcdir}/.." && pwd`
else
MAKE_COPYTREE=copytree
fi
bindir='${prefix}/bin'
libpltdir='${prefix}/lib'
libpltdir_rel='lib'
sharepltdir='${prefix}/share'
etcpltdir='${prefix}/etc'
includepltdir='${prefix}/include'
docdir='${prefix}/doc'
mandir='${prefix}/man'
collectsdir='${prefix}/collects'
appsdir='${prefix}/share/applications'
COLLECTS_PATH="../collects"
CONFIG_PATH="../etc"
GR_APP_COLLECTS_PATH="../../../../collects"
GR_APP_CONFIG_PATH="../../../../etc"
INSTALL_ORIG_TREE=yes
else
if test "${prefix}" = "NONE" ; then
# Set prefix explicitly so we can use it during configure
prefix="${ac_default_prefix}"
fi
libpltdir="${libdir}/"'${PACKAGE}'
libpltdir_rel=""
if test "${libpltdir}" = '${exec_prefix}/lib/${PACKAGE}' ; then
if test "${bindir}" = '${exec_prefix}/bin' ; then
libpltdir_rel="lib/"'${PACKAGE}'
fi
fi
sharepltdir="${datadir}/"'${PACKAGE}'
etcpltdir="${sysconfdir}/"'${PACKAGE}'
includepltdir="${includedir}/"'${PACKAGE}'
MAKE_COPYTREE=copytree
COLLECTS_PATH='${collectsdir}'
CONFIG_PATH='${etcpltdir}'
GR_APP_COLLECTS_PATH="${COLLECTS_PATH}"
GR_APP_CONFIG_PATH="${CONFIG_PATH}"
INSTALL_ORIG_TREE=no
fi
GUI_COLLECTS_PATH="${COLLECTS_PATH}"
GUI_CONFIG_PATH="${CONFIG_PATH}"
m4_include(../ac/path.m4)
###### Make sure GRacket is really there ######
@ -407,27 +285,7 @@ if test "${enable_racket}" != "" ; then
fi
fi
INSTALL_PKGSCOPE=user
MAKE_INSTALL_PKGSCOPE=preserve
if test "${enable_pkgscope}" != "" ; then
case "${enable_pkgscope}" in
installation)
INSTALL_PKGSCOPE=installation
;;
user)
INSTALL_PKGSCOPE=user
;;
shared)
INSTALL_PKGSCOPE=shared
;;
*)
echo "Unrecognized package scope: ${enable_pkgscope}"
exit 1
;;
esac
echo "=== Package scope: " $INSTALL_PKGSCOPE
MAKE_INSTALL_PKGSCOPE=adjust
fi
m4_include(../ac/path_pkgscope.m4)
###### Some defaults #######
@ -1009,10 +867,13 @@ if test "${enable_cgcdefault}" ; then
CGC_CAP_INSTALLED=
MAIN_VARIANT=cgc
fi
MAIN_MAKE_TARGET="${MAIN_VARIANT}"
CS_BOOTSTRAP_HELP="${MAIN_VARIANT}"
if test "${enable_csdefault}" ; then
MMM_INSTALLED=3m
MMM_CAP_INSTALLED=3m
MAIN_MAKE_TARGET=racketcs
fi
############## SGC ################
@ -1737,8 +1598,6 @@ AC_SUBST(FRAMEWORK_INSTALL_DIR)
AC_SUBST(FRAMEWORK_REL_INSTALL)
AC_SUBST(FRAMEWORK_PREFIX)
AC_SUBST(INSTALL_ORIG_TREE)
AC_SUBST(INSTALL_PKGSCOPE)
AC_SUBST(MAKE_INSTALL_PKGSCOPE)
AC_SUBST(EXE_SUFFIX)
AC_SUBST(SO_SUFFIX)
AC_SUBST(OWN_LIBFFI)
@ -1749,10 +1608,7 @@ AC_SUBST(WXVARIANT)
AC_SUBST(ICP)
AC_SUBST(ICP_LIB)
AC_SUBST(MRLIBINSTALL)
AC_SUBST(LIBFINISH)
AC_SUBST(MAKE_GRACKET)
AC_SUBST(MAKE_COPYTREE)
AC_SUBST(MAKE_FINISH)
AC_SUBST(WXPRECOMP)
@ -1779,14 +1635,6 @@ AC_SUBST(LIBRACKET_DEP)
AC_SUBST(LTO)
AC_SUBST(LTA)
AC_SUBST(collectsdir)
AC_SUBST(appsdir)
AC_SUBST(libpltdir)
AC_SUBST(libpltdir_rel)
AC_SUBST(sharepltdir)
AC_SUBST(etcpltdir)
AC_SUBST(includepltdir)
AC_SUBST(docdir)
AC_SUBST(COLLECTS_PATH)
AC_SUBST(GUI_COLLECTS_PATH)
AC_SUBST(GR_APP_COLLECTS_PATH)
@ -1794,14 +1642,6 @@ AC_SUBST(CONFIG_PATH)
AC_SUBST(GUI_CONFIG_PATH)
AC_SUBST(GR_APP_CONFIG_PATH)
AC_SUBST(MMM)
AC_SUBST(MMM_INSTALLED)
AC_SUBST(MMM_CAP_INSTALLED)
AC_SUBST(CGC)
AC_SUBST(CGC_INSTALLED)
AC_SUBST(CGC_CAP_INSTALLED)
AC_SUBST(MAIN_VARIANT)
AC_SUBST(INSTALL_SETUP_FLAGS)
AC_SUBST(INSTALL_SETUP_RACKET_FLAGS)
@ -1817,8 +1657,6 @@ AC_SUBST(STARTUP_AS_BYTECODE)
AC_SUBST(STARTUP_AS_C)
AC_SUBST(STARTUP_AS_AUTO)
AC_SUBST(MAKE_LOCAL_RACKET)
mk_needed_dir()
{
if test ! -d "$1" ; then
@ -1897,35 +1735,5 @@ fi
AC_OUTPUT($makefiles)
if test "${inplacebuild}" = "yes" ; then
echo ">>> Installation is in-place:"
echo " ${srcdir}/.."
echo " Configure with --prefix if you wanted to install somewhere else."
if test "${enable_quartz}" != "yes" ; then
echo " The --prefix option also makes the installed files better conform"
echo " to Unix installation conventions. (The configure script will show"
echo " you specific installation paths when --prefix is used.)"
fi
if test "${enable_shared}" != "yes" ; then
echo " Alternately, you can simply "'`'"mv' the in-place installation after"
echo " running "'`'"make install'."
fi
else
echo ">>> Installation targets:"
echo " executables : ${bindir}/..."
echo " core docs : ${docdir}/..."
echo " C libraries : ${libdir}/..."
echo " C headers : ${includepltdir}/..."
echo " platform libraries : ${libpltdir}/..."
echo " common libraries : ${sharepltdir}/..."
echo " base collections : ${collectsdir}/..."
echo " configuration : ${etcpltdir}/..."
echo " .desktop files : ${appsdir}/..."
echo " man pages : ${mandir}/..."
echo " where prefix = ${prefix}"
echo " and datarootdir = ${datarootdir}"
if test "${unixstyle}" = "yes" ; then
echo " and exec_prefix = ${exec_prefix}"
echo " and PACKAGE = racket"
fi
fi
# From "../ac/path.m4":
show_path_results

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,32 @@
if test "${inplacebuild}" = "yes" ; then
echo ">>> Installation is in-place:"
echo " ${srcdir}/.."
echo " Configure with --prefix if you wanted to install somewhere else."
if test "${enable_quartz}" != "yes" ; then
echo " The --prefix option also makes the installed files better conform"
echo " to Unix installation conventions. (The configure script will show"
echo " you specific installation paths when --prefix is used.)"
fi
if test "${enable_shared}" != "yes" ; then
echo " Alternately, you can simply "'`'"mv' the in-place installation after"
echo " running "'`'"make install'."
fi
else
echo ">>> Installation targets:"
echo " executables : ${bindir}/..."
echo " core docs : ${docdir}/..."
echo " C libraries : ${libdir}/..."
echo " C headers : ${includepltdir}/..."
echo " platform libraries : ${libpltdir}/..."
echo " common libraries : ${sharepltdir}/..."
echo " base collections : ${collectsdir}/..."
echo " configuration : ${etcpltdir}/..."
echo " .desktop files : ${appsdir}/..."
echo " man pages : ${mandir}/..."
echo " where prefix = ${prefix}"
echo " and datarootdir = ${datarootdir}"
if test "${unixstyle}" = "yes" ; then
echo " and exec_prefix = ${exec_prefix}"
echo " and PACKAGE = racket"
fi
fi