unix-style install: ".zo"s in "lib" instead of "share"

For a Unix-style installation, change the default mode to put
"compiled" directories under "lib" instead of "shared", since they're
architecture-specific for Racket CS.

This installation mode relies on the new 'compiled-file-roots config
entry. The installation process updates "config.rktl" so that
`current-compiled-file-roots` is initialized to find ".zo" files under
"lib".

Use `--enable-sharezo` to get the old behavior, either for installing
Racket BC or if you want to ignore "lib"-vs.-"share" guidelines to
simplify the installation.
This commit is contained in:
Matthew Flatt 2021-02-20 16:21:59 -07:00
parent a110c58e52
commit 51b8606861
19 changed files with 368 additions and 98 deletions

View File

@ -57,7 +57,7 @@
[(macosx) versions]
[else
(case (path->string (system-library-subpath #f))
[("x86_64-darwin" "i386-darwin") versions]
[("x86_64-darwin" "i386-darwin" "aarch64-darwin") versions]
[else
(cons "" ; versionless (eg from devel pkg)
versions)])])))

View File

@ -227,6 +227,12 @@
'share
'path->main-share-relative
'main-share-relative->path))
(define-values (path->main-lib-relative
main-lib-relative->path)
(make-relativize find-lib-dir
'lib
'path->main-lib-relative
'main-lib-relative->path))
(let ([colls (make-hash)])
(for ([f+root-dir (reverse (table-paths t))])
(let ([f (car f+root-dir)]
@ -245,7 +251,7 @@
"bad info-domain cache file: ~a" f)]))])
(match i
[(list (and pathbytes (or (? bytes?)
(list (or 'info 'share) (? bytes?) ...)
(list (or 'info 'share 'lib) (? bytes?) ...)
(list 'rel (or 'up (? bytes?)) ...)))
(list (? symbol? fields) ...)
key ;; anything is okay here
@ -265,7 +271,8 @@
(case (car pathbytes)
[(rel) (simplify-path (build-path root-dir (decode-relative-path pathbytes)))]
[(info) (info-relative->path pathbytes)]
[(lib) (main-share-relative->path pathbytes)]))
[(share) (main-share-relative->path pathbytes)]
[(lib) (main-lib-relative->path pathbytes)]))
fields)])
(hash-set! colls key
((table-insert t) root-dir new-item old-items)))]

View File

@ -18,10 +18,14 @@
;; - `make-install-copytree': copies some toplevel directories, skips ".*"
;; subdirs, and rewrites "config.rkt", but no uninstaller
;; (used by `make install') (requires an additional `origtree' argument)
;; - `make-install-libzo-move' : moves "compiled" directories from the
;; "collects" and "pkg" directories under sharerkt to a "compiled"
;; tree under librkt (requires DESTDIR to be set if it's being
;; used for the installation)
;; - `make-install-destdir-fix': fixes paths in binaries, laucnhers, and
;; config.rkt (used by `make install' to fix a DESTDIR) (requires exactly
;; the same args as `make-install-copytree' (prefixed) and requires a
;; DESTDIR setting)
;; the same args as `make-install-copytree' (prefixed) plus one more
;; to indicate libzo mode, and requires a DESTDIR setting)
;; * rktdir: The source racket directory
;; * Path names that should be moved/copied (bin, collects, doc, lib, ...)
;; or a sigle path that is used to automatically build the set of
@ -56,13 +60,14 @@
[(sharerkt) "share"]
[(config) "etc"]
[(collects) "collects"]
[(pkgs) "share/pkgs"]
[(apps) "share/applications"]
[else (symbol->string name)])))
(define dirs (map (lambda (name) (list name
(if base-destdir
(build-dest-arg name)
(get-arg))))
'(bin collects doc lib includerkt librkt sharerkt config apps man #|src|#)))
'(bin collects pkgs doc lib includerkt librkt sharerkt config apps man #|src|#)))
(define (dir: name)
(cadr (or (assq name dirs) (error 'getdir "unknown dir name: ~e" name))))
@ -81,6 +86,7 @@
(case dir
[(bin) #f]
[(collects) 1]
[(pkgs) 1]
[(doc) 1]
[(include) 1]
;; if shared libraries are used, then these files should be moved
@ -150,6 +156,11 @@
(or (equal? f "share/applications")
(skip-filter f)))))
(define (add-pkgs-skip skip-filter)
(lambda (f)
(or (equal? f "share/pkgs")
(skip-filter f))))
;; copy a file or a directory (recursively), preserving time stamps
;; (racket's copy-file preservs permission bits)
(define (cp src dst #:build-path? [build-path? #f])
@ -300,6 +311,31 @@
(lambda (o)
(map (lambda (s) (displayln s o)) new-ls)))))))
;; change references to "pkgs/..." to refer to `pkgs-dir`
(define (fix-pkg-links share-dir pkgs-dir)
(define links-rktd (build-path share-dir "links.rktd"))
(when (file-exists? links-rktd)
(printf "Fixing package links at: ~a...\n" links-rktd)
(define entries (call-with-input-file links-rktd read))
(call-with-output-file*
links-rktd
#:exists 'truncate
(lambda (o)
(fprintf o "(\n")
(for ([e (in-list entries)])
(define p (cadr e))
(fprintf o " ")
(define m (regexp-match #rx"^pkgs/(.*)$" p))
(write
(if m
(list* (car e)
(string-append pkgs-dir "/" (cadr m))
(cddr e))
e)
o)
(newline o))
(fprintf o ")\n")))))
;; remove and record all empty dirs
(define (remove-empty-dirs dir)
(let loop ([dir dir] [recurse? #t])
@ -367,7 +403,8 @@
(define write-config
(case-lambda
[() (write-config (dir: 'config))]
[(configdir)
[(configdir) (write-config configdir #f)]
[(configdir libzo?)
(define (cpath . xs)
(apply make-path configdir xs))
(define (ftime file)
@ -389,12 +426,18 @@
(when (eq? 'shared (cross-system-type 'link)) ; never true for now
(out! 'dll-dir (dir: 'lib)))
(out! 'lib-dir (dir: 'librkt))
(out! 'pkgs-dir (dir: 'pkgs))
(out! 'share-dir (dir: 'sharerkt))
(out! 'include-dir (dir: 'includerkt))
(out! 'bin-dir (dir: 'bin))
(out! 'apps-dir (dir: 'apps))
(out! 'man-dir (dir: 'man))
(out! 'absolute-installation? #t)
(when libzo?
(out! 'compiled-file-roots
(list 'same
(path->string
(build-path (dir: 'librkt) "compiled")))))
;; Preserve all other keys:
(for ([(key val) (in-hash old)])
(unless (hash-ref handled key #f)
@ -470,6 +513,7 @@
;; --------------------------------------------------------------------------
;; Does not support moving "collects" or "pkgs" outside of "share"
(define (move/copy-distribution move? bundle?)
(define do-tree (move/copy-tree move?))
(current-directory rktdir)
@ -486,12 +530,13 @@
;; All other platforms use "bin":
(do-tree "bin" 'bin))
(do-tree "collects" 'collects)
(do-tree "share/pkgs" 'pkgs)
(do-tree "doc" 'doc #:missing 'skip) ; not included in text distros
(do-tree "lib" 'librkt)
(do-tree "include" 'includerkt)
(define appfiles (ls* "share/applications"))
(do-tree "share/applications" 'apps #:missing 'skip) ; Unix only
(parameterize ([current-skip-filter (make-apps-skip)])
(parameterize ([current-skip-filter (add-pkgs-skip (make-apps-skip))])
(do-tree "share" 'sharerkt))
(do-tree "etc" 'config)
(unless (eq? 'windows (cross-system-type))
@ -517,6 +562,9 @@
(current-directory (dirname rktdir))
(delete-directory rktdir)))
(define (equal-path? a b)
(equal? (explode-path a) (explode-path b)))
(define dot-file?
;; skip all dot-names, except ".LOCK..."
(lambda (p) (regexp-match? #rx"^[.](?!LOCK)" (basename p))))
@ -532,36 +580,70 @@
(with-handlers ([exn? (lambda (e) (undo-changes) (raise e))])
(set! yes-to-all? #t) ; non-interactive
(copytree "collects" 'collects)
(copytree "share" 'sharerkt #:missing 'skip)
(copytree "share/pkgs" 'pkgs #:missing 'skip)
(parameterize ([current-skip-filter (add-pkgs-skip (current-skip-filter))])
(copytree "share" 'sharerkt #:missing 'skip))
(copytree "doc" 'doc #:missing 'skip)
(copytree "etc" 'config #:missing 'skip)
(unless (equal-path? (dir: 'pkgs) (build-path (dir: 'sharerkt) "pkgs"))
(fix-pkg-links (dir: 'sharerkt) (dir: 'pkgs)))
(unless origtree? (write-config))))
(define (remove-dest destdir p)
(if destdir
(let* ([destdirlen (string-length destdir)]
[pfx (and (< destdirlen (string-length p))
(substring p 0 destdirlen))])
(if (equal? pfx destdir)
(regexp-replace #rx"^/*" (substring p destdirlen) "/")
(error (format "expecting a DESTDIR prefix of ~s in ~s" destdir p))))
p))
(define (make-install-libzo-move)
(define destdir (getenv "DESTDIR"))
(define collectsdir (dir: 'collects))
(define pkgsdir (dir: 'pkgs))
(define configdir (dir: 'config))
(define (move dir)
(define dest-rel (regexp-replace #rx"^/*" (remove-dest destdir dir) ""))
(define dest (build-path (dir: 'librkt) "compiled" dest-rel))
(printf "Moving \"compiled\" in ~a to ~a\n" dir dest)
(let loop ([dir dir] [dest dest])
(for ([f-path (in-list (directory-list dir))])
(define f (path->string f-path))
(define f-abs (build-path dir f))
(when (directory-exists? f-abs)
(define f-dest (build-path dest f-path))
(cond
[(equal? f "compiled")
(make-directory* dest)
(rm f-dest)
(rename-file-or-directory f-abs f-dest)]
[else
(loop f-abs f-dest)])))))
(move collectsdir)
(move pkgsdir)
(write-config configdir #t))
(define (make-install-destdir-fix)
(define destdir
(or (getenv "DESTDIR")
(error "missing DESTDIR value for make-install-destdir-fix")))
(define destdirlen (string-length destdir))
(define origtree? (equal? "yes" (get-arg)))
(define libzo? (equal? "libzo" (get-arg)))
;; grab paths before we change them
(define bindir (dir: 'bin))
(define librktdir (dir: 'librkt))
(define sharerktdir (dir: 'sharerkt))
(define configdir (dir: 'config))
(define appsdir (dir: 'apps))
(define (remove-dest p)
(let ([pfx (and (< destdirlen (string-length p))
(substring p 0 destdirlen))])
(if (equal? pfx destdir)
(regexp-replace #rx"^/*" (substring p destdirlen) "/")
(error (format "expecting a DESTDIR prefix of ~s in ~s" destdir p)))))
(set! dirs (map (lambda (d) (list (car d) (remove-dest (cadr d)))) dirs))
(set! dirs (map (lambda (d) (list (car d) (remove-dest destdir (cadr d)))) dirs))
;; no need to send an explicit binfiles argument -- this function is used
;; only when DESTDIR is present, so we're installing to a directory that
;; has only our binaries
(fix-executables bindir librktdir)
(fix-desktop-files appsdir bindir sharerktdir)
(unless origtree? (write-config configdir)))
(unless origtree? (write-config configdir libzo?)))
(define (post-adjust)
(when (regexp-match? #rx"--source" (car adjust-mode))
@ -666,5 +748,6 @@
(move/copy-distribution #f #t)]
[(post-adjust) (post-adjust)]
[(make-install-copytree) (make-install-copytree)]
[(make-install-libzo-move) (make-install-libzo-move)]
[(make-install-destdir-fix) (make-install-destdir-fix)]
[else (error (format "unknown operation: ~e" op))]))

View File

@ -13,6 +13,7 @@ libpltdir = @libpltdir@
sharepltdir = @sharepltdir@
configdir = @etcpltdir@
collectsdir = @collectsdir@
pkgsdir = @pkgsdir@
appsdir = @appsdir@
mandir = @mandir@
docdir = @docdir@
@ -22,6 +23,7 @@ NOOP = :
ALLDIRINFO = "$(DESTDIR)$(bindir)" \
"$(DESTDIR)$(collectsdir)" \
"$(DESTDIR)$(pkgsdir)" \
"$(DESTDIR)$(docdir)" \
"$(DESTDIR)$(libdir)" \
"$(DESTDIR)$(includepltdir)" \
@ -132,6 +134,7 @@ install-common-middle:
$(MAKE) @MAKE_COPYTREE@-run
install-common-last:
$(MAKE) move-compiled-@INSTALL_LIBZO@
$(MAKE) fix-paths
$(MAKE) @MAKE_INSTALL_PKGSCOPE@-raco-pkg-default-scope
cp $(COPYING) "$(DESTDIR)$(sharepltdir)"/
@ -157,13 +160,22 @@ preserve-raco-pkg-default-scope:
install-no-post-collects:
$(NOOP)
move-compiled-no:
$(NOOP)
move-compiled-libzo:
@RUN_RACKET@ $(SELF_RACKET_FLAGS) -u \
"$(srcdir)/../collects/setup/unixstyle-install.rkt" \
make-install-libzo-move "$(srcdir)/.." \
$(ALLDIRINFO) \
fix-paths:
if [ "$(DESTDIR)" != "" ]; then \
if [ "$(SKIP_DESTDIR_FIX)" = "" ]; then \
@RUN_RACKET@ $(SELF_RACKET_FLAGS) -u \
"$(srcdir)/../collects/setup/unixstyle-install.rkt" \
make-install-destdir-fix "$(srcdir)/.." \
$(ALLDIRINFO) "@INSTALL_ORIG_TREE@"; \
$(ALLDIRINFO) "@INSTALL_ORIG_TREE@" "@INSTALL_LIBZO@"; \
fi \
fi

View File

@ -232,6 +232,20 @@ Detailed instructions:
compiling ".zo" files, creating launchers, or building
documentation.
For a `--prefix` build, unless `--enable-sharezo` is specified,
"compiled" directories containin ".zo" files are moved from
"share" to "lib" as the last step of installation. (The
"config.rktd" file is updated so that `current-compile-file-roots`
is initialized to find the relocated ".zo" files.) For Racket BC,
".zo" files are architecture-independent, and `--enable-sharezo`
was the default installation mode through Racket version 8.0. To
prepare additional packages (i.e., package that are not included
with the source distribution) in installation scope without
`--enable-sharezo`, then it's easiest to first install in-place,
then configure and install again for a `--prefix` build; that way,
the packages installed in-place will get carried along, and their
"compiled" directories will be moved appropriately.
If the installation fails because the target directory cannot be
created, or because the target directory is not the one you want,
then you can try repeating step 4 after running `configure` again

View File

@ -1 +1 @@
AC_ARG_ENABLE(asan, [ --enable-asan compile with -fsanitize=address])
AC_ARG_ENABLE(asan, [ --enable-asan compile with -fsanitize=address])

View File

@ -52,9 +52,10 @@ exit 0
htmldir
;; Note: any arguments converted this way need to be excluded in "rktio_keep.m4"
;; dvidir - converted to "collectsdir"
;; pdfdir - converted to "appsdir"
;; pdfdir - converted to "pkgsdir"
psdir
localedir)))
;; localedir - converted to "appsdir"
)))
(let loop ()
(let ([l (read-line)])
@ -76,14 +77,24 @@ exit 0
(displayln (regexp-replace* "pdf" (regexp-replace* #rx"dvi" l "collects") "apps"))])
(loop)]
[(regexp-match #rx"pdfdir" l)
;; Hack: take over "pdfdir" for "appsdir":
;; Hack: take over "pdfdir" for "pkgsdir":
(cond
[(equal? l "pdfdir='${docdir}'")
(displayln "appsdir='${exec_prefix}/share/applications'")]
(displayln "pkgsdir='${datarootdir}/${PACKAGE}/pkgs'")]
[(equal? l " --pdfdir=DIR pdf documentation [DOCDIR]")
(displayln " --pkgsdir=DIR installed pkgs [EPREFIX/share/PACKAGE/pkgs]")]
[else
(displayln (regexp-replace* #rx"pdf" l "pkgs"))])
(loop)]
[(regexp-match #rx"localedir" l)
;; Hack: take over "localedir" for "appsdir":
(cond
[(equal? l "localedir='${datarootdir}/locale'")
(displayln "appsdir='${exec_prefix}/share/applications'")]
[(equal? l " --localedir=DIR locale-dependent data [DATAROOTDIR/locale]")
(displayln " --appsdir=DIR .desktop files [EPREFIX/share/applications]")]
[else
(displayln (regexp-replace* #rx"pdf" l "apps"))])
(displayln (regexp-replace* #rx"locale" l "apps"))])
(loop)]
[else
;; Copy

View File

@ -43,6 +43,9 @@ if test "${enable_origtree}" != "yes" -a "${enable_useprefix}" != "no" ; then
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${pkgsdir}" != '${datarootdir}/${PACKAGE}/pkgs' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
@ -65,12 +68,17 @@ if test "${unixstyle}" = "no" ; then
docdir='${prefix}/doc'
mandir='${prefix}/man'
collectsdir='${prefix}/collects'
pkgsdir='${prefix}/share/pkgs'
appsdir='${prefix}/share/applications'
COLLECTS_PATH="../collects"
CONFIG_PATH="../etc"
GR_APP_COLLECTS_PATH="../../../../collects"
GR_APP_CONFIG_PATH="../../../../etc"
INSTALL_ORIG_TREE=yes
if test "${enable_sharezo}" = "yes" ; then
enable_sharezo=no
echo WARNING: --enable-sharezo is ignored for an origtree installation
fi
else
if test "${prefix}" = "NONE" ; then
# Set prefix explicitly so we can use it during configure
@ -97,6 +105,12 @@ fi
GUI_COLLECTS_PATH="${COLLECTS_PATH}"
GUI_CONFIG_PATH="${CONFIG_PATH}"
if test "${enable_sharezo}" = "yes" ; then
INSTALL_LIBZO=no
else
INSTALL_LIBZO=yes
fi
########################################
AC_SUBST(collectsdir)
@ -107,6 +121,7 @@ AC_SUBST(sharepltdir)
AC_SUBST(etcpltdir)
AC_SUBST(includepltdir)
AC_SUBST(docdir)
AC_SUBST(pkgsdir)
AC_SUBST(COLLECTS_PATH)
AC_SUBST(GUI_COLLECTS_PATH)
@ -119,6 +134,7 @@ AC_SUBST(MAKE_COPYTREE)
AC_SUBST(MAKE_GRACKET)
AC_SUBST(LIBFINISH)
AC_SUBST(INSTALL_ORIG_TREE)
AC_SUBST(INSTALL_LIBZO)
AC_SUBST(MMM)
AC_SUBST(MMM_INSTALLED)
@ -157,6 +173,7 @@ show_path_results()
echo " platform libraries : ${libpltdir}/..."
echo " common libraries : ${sharepltdir}/..."
echo " base collections : ${collectsdir}/..."
echo " installed pkgs : ${pkgsdir}/..."
echo " configuration : ${etcpltdir}/..."
echo " .desktop files : ${appsdir}/..."
echo " man pages : ${mandir}/..."

View File

@ -1,5 +1,6 @@
AC_ARG_ENABLE(origtree, [ --enable-origtree install with original directory structure])
AC_ARG_ENABLE(sharezo, [ --enable-sharezo install ".zo"s to "share", not "lib"])
AC_ARG_ENABLE(useprefix, [ --disable-useprefix ignore any --prefix setting])
AC_ARG_ENABLE(pkgscope, [ --enable-pkgscope=<s> set `raco pkg' default: installation, user, or shared])

View File

@ -0,0 +1 @@
show_explicitly_enabled "${enable_libzo}" 'Compiled ".zo" files moved to lib'

View File

@ -7,7 +7,9 @@ for fixup_arg
do
case $fixup_arg in
# Strip away all feature choices
-enable* | --enable* | -disable* | --disable* | -collects* | --collects* | -apps* | --apps*)
-enable* | --enable* | -disable* | --disable*)
;;
-collects* | --collects* | -apps* | --apps* | -pkgs* | --pkgs*)
;;
*)
case $fixup_arg in

View File

@ -731,6 +731,7 @@ CGC
MMM_CAP_INSTALLED
MMM_INSTALLED
MMM
INSTALL_LIBZO
INSTALL_ORIG_TREE
LIBFINISH
MAKE_GRACKET
@ -741,6 +742,7 @@ CONFIG_PATH
GR_APP_COLLECTS_PATH
GUI_COLLECTS_PATH
COLLECTS_PATH
pkgsdir
includepltdir
etcpltdir
sharepltdir
@ -770,10 +772,10 @@ ECHO_N
ECHO_C
DEFS
mandir
localedir
appsdir
libdir
psdir
appsdir
pkgsdir
collectsdir
htmldir
infodir
@ -812,6 +814,7 @@ enable_floatinstead
enable_extflonum
enable_racket
enable_origtree
enable_sharezo
enable_useprefix
enable_pkgscope
enable_docs
@ -902,10 +905,10 @@ docdir='${datarootdir}/doc/${PACKAGE}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
collectsdir='${exec_prefix}/share/${PACKAGE}/collects'
appsdir='${exec_prefix}/share/applications'
pkgsdir='${datarootdir}/${PACKAGE}/pkgs'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
appsdir='${exec_prefix}/share/applications'
mandir='${datarootdir}/man'
ac_prev=
@ -1060,10 +1063,10 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-appsdir | --appsdir | --appsdi | --appsd | --apps)
ac_prev=appsdir ;;
-appsdir=* | --appsdir=* | --appsdi=* | --appsd=* | --apps=*)
appsdir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
@ -1134,10 +1137,10 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-appsdir | --appsdir | --appsdi | --appsd | --apps | --pd)
ac_prev=appsdir ;;
-appsdir=* | --appsdir=* | --appsdi=* | --appsd=* | --apps=* | --pd=*)
appsdir=$ac_optarg ;;
-pkgsdir | --pkgsdir | --pkgsdi | --pkgsd | --pkgs | --pd)
ac_prev=pkgsdir ;;
-pkgsdir=* | --pkgsdir=* | --pkgsdi=* | --pkgsd=* | --pkgs=* | --pd=*)
pkgsdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
@ -1285,7 +1288,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir collectsdir appsdir psdir \
libdir localedir mandir
libdir appsdir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@ -1438,10 +1441,11 @@ Fine tuning of the installation directories:
--includedir=DIR C header files [PREFIX/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--appsdir=DIR .desktop files [EPREFIX/share/applications]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--collectsdir=DIR base collections [EPREFIX/share/PACKAGE/collects]
--appsdir=DIR .desktop files [EPREFIX/share/applications]
--pkgsdir=DIR installed pkgs [EPREFIX/share/PACKAGE/pkgs]
_ACEOF
cat <<\_ACEOF
@ -1471,6 +1475,7 @@ Optional Features:
--enable-extflonum support extflonums (enabled by default, if available)
--enable-racket=<path> use <path> as Racket to build; or "auto" to create
--enable-origtree install with original directory structure
--enable-sharezo install ".zo"s to "share", not "lib"
--disable-useprefix ignore any --prefix setting
--enable-pkgscope=<s> set `raco pkg' default: installation, user, or shared
--enable-docs build docs on install (enabled by default)
@ -2683,6 +2688,11 @@ if test "${enable_origtree+set}" = set; then :
enableval=$enable_origtree;
fi
# Check whether --enable-sharezo was given.
if test "${enable_sharezo+set}" = set; then :
enableval=$enable_sharezo;
fi
# Check whether --enable-useprefix was given.
if test "${enable_useprefix+set}" = set; then :
enableval=$enable_useprefix;
@ -3079,6 +3089,9 @@ if test "${enable_origtree}" != "yes" -a "${enable_useprefix}" != "no" ; then
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${pkgsdir}" != '${datarootdir}/${PACKAGE}/pkgs' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
@ -3101,12 +3114,17 @@ if test "${unixstyle}" = "no" ; then
docdir='${prefix}/doc'
mandir='${prefix}/man'
collectsdir='${prefix}/collects'
pkgsdir='${prefix}/share/pkgs'
appsdir='${prefix}/share/applications'
COLLECTS_PATH="../collects"
CONFIG_PATH="../etc"
GR_APP_COLLECTS_PATH="../../../../collects"
GR_APP_CONFIG_PATH="../../../../etc"
INSTALL_ORIG_TREE=yes
if test "${enable_sharezo}" = "yes" ; then
enable_sharezo=no
echo WARNING: --enable-sharezo is ignored for an origtree installation
fi
else
if test "${prefix}" = "NONE" ; then
# Set prefix explicitly so we can use it during configure
@ -3133,6 +3151,12 @@ fi
GUI_COLLECTS_PATH="${COLLECTS_PATH}"
GUI_CONFIG_PATH="${CONFIG_PATH}"
if test "${enable_sharezo}" = "yes" ; then
INSTALL_LIBZO=no
else
INSTALL_LIBZO=yes
fi
########################################
@ -3164,6 +3188,8 @@ GUI_CONFIG_PATH="${CONFIG_PATH}"
@ -3193,6 +3219,7 @@ show_path_results()
echo " platform libraries : ${libpltdir}/..."
echo " common libraries : ${sharepltdir}/..."
echo " base collections : ${collectsdir}/..."
echo " installed pkgs : ${pkgsdir}/..."
echo " configuration : ${etcpltdir}/..."
echo " .desktop files : ${appsdir}/..."
echo " man pages : ${mandir}/..."
@ -3296,6 +3323,8 @@ show_explicitly_enabled "${enable_natipkg}" "Adding \"-natipkg\" suffix to libra
show_explicitly_enabled "${enable_xonx}" "Unix style"
show_explicitly_enabled "${enable_libzo}" 'Compiled ".zo" files moved to lib'
show_explicitly_enabled "${enable_shared}" "Shared libraries"
show_explicitly_disabled "${enable_gracket}" GRacket
@ -7283,7 +7312,9 @@ for fixup_arg
do
case $fixup_arg in
# Strip away all feature choices
-enable* | --enable* | -disable* | --disable* | -collects* | --collects* | -apps* | --apps*)
-enable* | --enable* | -disable* | --disable*)
;;
-collects* | --collects* | -apps* | --apps* | -pkgs* | --pkgs*)
;;
*)
case $fixup_arg in
@ -8454,11 +8485,11 @@ ac_sed_dataroot='
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@appsdir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
*@datadir@*|*@docdir@*|*@infodir@*|*@appsdir@*|*@mandir@*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
@ -8467,7 +8498,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@appsdir@&$appsdir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac

View File

@ -174,6 +174,7 @@ show_explicitly_enabled "${enable_usersetup}" "User-specific setup on install"
m4_include(../ac/natipkg_show.m4)
show_explicitly_enabled "${enable_xonx}" "Unix style"
m4_include(../ac/path_show.m4)
show_explicitly_enabled "${enable_shared}" "Shared libraries"
show_explicitly_disabled "${enable_gracket}" GRacket

View File

@ -600,6 +600,7 @@ CGC
MMM_CAP_INSTALLED
MMM_INSTALLED
MMM
INSTALL_LIBZO
INSTALL_ORIG_TREE
LIBFINISH
MAKE_GRACKET
@ -610,6 +611,7 @@ CONFIG_PATH
GR_APP_COLLECTS_PATH
GUI_COLLECTS_PATH
COLLECTS_PATH
pkgsdir
includepltdir
etcpltdir
sharepltdir
@ -641,10 +643,10 @@ ECHO_N
ECHO_C
DEFS
mandir
localedir
appsdir
libdir
psdir
appsdir
pkgsdir
collectsdir
htmldir
infodir
@ -674,6 +676,7 @@ ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_origtree
enable_sharezo
enable_useprefix
enable_pkgscope
enable_docs
@ -737,10 +740,10 @@ docdir='${datarootdir}/doc/${PACKAGE}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
collectsdir='${exec_prefix}/share/${PACKAGE}/collects'
appsdir='${exec_prefix}/share/applications'
pkgsdir='${datarootdir}/${PACKAGE}/pkgs'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
appsdir='${exec_prefix}/share/applications'
mandir='${datarootdir}/man'
ac_prev=
@ -895,10 +898,10 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-appsdir | --appsdir | --appsdi | --appsd | --apps)
ac_prev=appsdir ;;
-appsdir=* | --appsdir=* | --appsdi=* | --appsd=* | --apps=*)
appsdir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
@ -969,10 +972,10 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-appsdir | --appsdir | --appsdi | --appsd | --apps | --pd)
ac_prev=appsdir ;;
-appsdir=* | --appsdir=* | --appsdi=* | --appsd=* | --apps=* | --pd=*)
appsdir=$ac_optarg ;;
-pkgsdir | --pkgsdir | --pkgsdi | --pkgsd | --pkgs | --pd)
ac_prev=pkgsdir ;;
-pkgsdir=* | --pkgsdir=* | --pkgsdi=* | --pkgsd=* | --pkgs=* | --pd=*)
pkgsdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
@ -1120,7 +1123,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir collectsdir appsdir psdir \
libdir localedir mandir
libdir appsdir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@ -1273,10 +1276,11 @@ Fine tuning of the installation directories:
--includedir=DIR C header files [PREFIX/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--appsdir=DIR .desktop files [EPREFIX/share/applications]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--collectsdir=DIR base collections [EPREFIX/share/PACKAGE/collects]
--appsdir=DIR .desktop files [EPREFIX/share/applications]
--pkgsdir=DIR installed pkgs [EPREFIX/share/PACKAGE/pkgs]
_ACEOF
cat <<\_ACEOF
@ -1297,6 +1301,7 @@ Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-origtree install with original directory structure
--enable-sharezo install ".zo"s to "share", not "lib"
--disable-useprefix ignore any --prefix setting
--enable-pkgscope=<s> set `raco pkg' default: installation, user, or shared
--enable-docs build docs on install (enabled by default)
@ -1898,6 +1903,11 @@ if test "${enable_origtree+set}" = set; then :
enableval=$enable_origtree;
fi
# Check whether --enable-sharezo was given.
if test "${enable_sharezo+set}" = set; then :
enableval=$enable_sharezo;
fi
# Check whether --enable-useprefix was given.
if test "${enable_useprefix+set}" = set; then :
enableval=$enable_useprefix;
@ -2129,6 +2139,9 @@ if test "${enable_origtree}" != "yes" -a "${enable_useprefix}" != "no" ; then
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${pkgsdir}" != '${datarootdir}/${PACKAGE}/pkgs' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
@ -2151,12 +2164,17 @@ if test "${unixstyle}" = "no" ; then
docdir='${prefix}/doc'
mandir='${prefix}/man'
collectsdir='${prefix}/collects'
pkgsdir='${prefix}/share/pkgs'
appsdir='${prefix}/share/applications'
COLLECTS_PATH="../collects"
CONFIG_PATH="../etc"
GR_APP_COLLECTS_PATH="../../../../collects"
GR_APP_CONFIG_PATH="../../../../etc"
INSTALL_ORIG_TREE=yes
if test "${enable_sharezo}" = "yes" ; then
enable_sharezo=no
echo WARNING: --enable-sharezo is ignored for an origtree installation
fi
else
if test "${prefix}" = "NONE" ; then
# Set prefix explicitly so we can use it during configure
@ -2183,6 +2201,12 @@ fi
GUI_COLLECTS_PATH="${COLLECTS_PATH}"
GUI_CONFIG_PATH="${CONFIG_PATH}"
if test "${enable_sharezo}" = "yes" ; then
INSTALL_LIBZO=no
else
INSTALL_LIBZO=yes
fi
########################################
@ -2214,6 +2238,8 @@ GUI_CONFIG_PATH="${CONFIG_PATH}"
@ -2243,6 +2269,7 @@ show_path_results()
echo " platform libraries : ${libpltdir}/..."
echo " common libraries : ${sharepltdir}/..."
echo " base collections : ${collectsdir}/..."
echo " installed pkgs : ${pkgsdir}/..."
echo " configuration : ${etcpltdir}/..."
echo " .desktop files : ${appsdir}/..."
echo " man pages : ${mandir}/..."
@ -3414,11 +3441,11 @@ ac_sed_dataroot='
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@appsdir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
*@datadir@*|*@docdir@*|*@infodir@*|*@appsdir@*|*@mandir@*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
@ -3427,7 +3454,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@appsdir@&$appsdir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac

View File

@ -600,6 +600,7 @@ CGC
MMM_CAP_INSTALLED
MMM_INSTALLED
MMM
INSTALL_LIBZO
INSTALL_ORIG_TREE
LIBFINISH
MAKE_GRACKET
@ -610,6 +611,7 @@ CONFIG_PATH
GR_APP_COLLECTS_PATH
GUI_COLLECTS_PATH
COLLECTS_PATH
pkgsdir
includepltdir
etcpltdir
sharepltdir
@ -641,10 +643,10 @@ ECHO_N
ECHO_C
DEFS
mandir
localedir
appsdir
libdir
psdir
appsdir
pkgsdir
collectsdir
htmldir
infodir
@ -674,6 +676,7 @@ ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_origtree
enable_sharezo
enable_useprefix
enable_pkgscope
enable_docs
@ -734,10 +737,10 @@ docdir='${datarootdir}/doc/${PACKAGE}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
collectsdir='${exec_prefix}/share/${PACKAGE}/collects'
appsdir='${exec_prefix}/share/applications'
pkgsdir='${datarootdir}/${PACKAGE}/pkgs'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
appsdir='${exec_prefix}/share/applications'
mandir='${datarootdir}/man'
ac_prev=
@ -892,10 +895,10 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-appsdir | --appsdir | --appsdi | --appsd | --apps)
ac_prev=appsdir ;;
-appsdir=* | --appsdir=* | --appsdi=* | --appsd=* | --apps=*)
appsdir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
@ -966,10 +969,10 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-appsdir | --appsdir | --appsdi | --appsd | --apps | --pd)
ac_prev=appsdir ;;
-appsdir=* | --appsdir=* | --appsdi=* | --appsd=* | --apps=* | --pd=*)
appsdir=$ac_optarg ;;
-pkgsdir | --pkgsdir | --pkgsdi | --pkgsd | --pkgs | --pd)
ac_prev=pkgsdir ;;
-pkgsdir=* | --pkgsdir=* | --pkgsdi=* | --pkgsd=* | --pkgs=* | --pd=*)
pkgsdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
@ -1117,7 +1120,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir collectsdir appsdir psdir \
libdir localedir mandir
libdir appsdir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@ -1270,10 +1273,11 @@ Fine tuning of the installation directories:
--includedir=DIR C header files [PREFIX/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--appsdir=DIR .desktop files [EPREFIX/share/applications]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--collectsdir=DIR base collections [EPREFIX/share/PACKAGE/collects]
--appsdir=DIR .desktop files [EPREFIX/share/applications]
--pkgsdir=DIR installed pkgs [EPREFIX/share/PACKAGE/pkgs]
_ACEOF
cat <<\_ACEOF
@ -1294,6 +1298,7 @@ Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-origtree install with original directory structure
--enable-sharezo install ".zo"s to "share", not "lib"
--disable-useprefix ignore any --prefix setting
--enable-pkgscope=<s> set `raco pkg' default: installation, user, or shared
--enable-docs build docs on install (enabled by default)
@ -1891,6 +1896,11 @@ if test "${enable_origtree+set}" = set; then :
enableval=$enable_origtree;
fi
# Check whether --enable-sharezo was given.
if test "${enable_sharezo+set}" = set; then :
enableval=$enable_sharezo;
fi
# Check whether --enable-useprefix was given.
if test "${enable_useprefix+set}" = set; then :
enableval=$enable_useprefix;
@ -2092,6 +2102,9 @@ if test "${enable_origtree}" != "yes" -a "${enable_useprefix}" != "no" ; then
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${pkgsdir}" != '${datarootdir}/${PACKAGE}/pkgs' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
@ -2114,12 +2127,17 @@ if test "${unixstyle}" = "no" ; then
docdir='${prefix}/doc'
mandir='${prefix}/man'
collectsdir='${prefix}/collects'
pkgsdir='${prefix}/share/pkgs'
appsdir='${prefix}/share/applications'
COLLECTS_PATH="../collects"
CONFIG_PATH="../etc"
GR_APP_COLLECTS_PATH="../../../../collects"
GR_APP_CONFIG_PATH="../../../../etc"
INSTALL_ORIG_TREE=yes
if test "${enable_sharezo}" = "yes" ; then
enable_sharezo=no
echo WARNING: --enable-sharezo is ignored for an origtree installation
fi
else
if test "${prefix}" = "NONE" ; then
# Set prefix explicitly so we can use it during configure
@ -2146,6 +2164,12 @@ fi
GUI_COLLECTS_PATH="${COLLECTS_PATH}"
GUI_CONFIG_PATH="${CONFIG_PATH}"
if test "${enable_sharezo}" = "yes" ; then
INSTALL_LIBZO=no
else
INSTALL_LIBZO=yes
fi
########################################
@ -2177,6 +2201,8 @@ GUI_CONFIG_PATH="${CONFIG_PATH}"
@ -2206,6 +2232,7 @@ show_path_results()
echo " platform libraries : ${libpltdir}/..."
echo " common libraries : ${sharepltdir}/..."
echo " base collections : ${collectsdir}/..."
echo " installed pkgs : ${pkgsdir}/..."
echo " configuration : ${etcpltdir}/..."
echo " .desktop files : ${appsdir}/..."
echo " man pages : ${mandir}/..."
@ -3317,11 +3344,11 @@ ac_sed_dataroot='
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@appsdir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
*@datadir@*|*@docdir@*|*@infodir@*|*@appsdir@*|*@mandir@*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
@ -3330,7 +3357,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@appsdir@&$appsdir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac

View File

@ -207,10 +207,12 @@ EMBED_DEPS = $(srcdir)/embed-boot.rkt
racketcs@NOT_OSX@@NOT_MINGW@: raw_racketcs petite-v.boot scheme-v.boot racket-v.boot $(EMBED_DEPS)
$(BOOTSTRAP_RACKET) $(srcdir)/embed-boot.rkt @ELF_COMP@ --target $(TARGET_MACH) @BOOT_COMPRESS_COMP@ raw_racketcs racketcs petite-v.boot scheme-v.boot racket-v.boot
@POST_LINKER@ racketcs
$(RESTORE_SIGNATURE) racketcs
gracketcs@NOT_OSX@@NOT_MINGW@: raw_gracketcs petite-v.boot scheme-v.boot racket-v.boot $(EMBED_DEPS)
$(BOOTSTRAP_RACKET) $(srcdir)/embed-boot.rkt @ELF_COMP@ --target $(TARGET_MACH) @BOOT_COMPRESS_COMP@ raw_gracketcs gracketcs petite-v.boot scheme-v.boot racket-v.boot
@POST_LINKER@ gracketcs
$(RESTORE_SIGNATURE) gracketcs
OWN_Z_LIB = $(SCHEME_TARGET_INC)/../../zlib/libz.a
OWN_LZ4_LIB = $(SCHEME_TARGET_INC)/../../lz4/lib/liblz4.a

View File

@ -702,6 +702,7 @@ CGC
MMM_CAP_INSTALLED
MMM_INSTALLED
MMM
INSTALL_LIBZO
INSTALL_ORIG_TREE
LIBFINISH
MAKE_GRACKET
@ -712,6 +713,7 @@ CONFIG_PATH
GR_APP_COLLECTS_PATH
GUI_COLLECTS_PATH
COLLECTS_PATH
pkgsdir
includepltdir
etcpltdir
sharepltdir
@ -743,10 +745,10 @@ ECHO_N
ECHO_C
DEFS
mandir
localedir
appsdir
libdir
psdir
appsdir
pkgsdir
collectsdir
htmldir
infodir
@ -783,6 +785,7 @@ enable_wpo
enable_compress
enable_compressboot
enable_origtree
enable_sharezo
enable_useprefix
enable_pkgscope
enable_docs
@ -863,10 +866,10 @@ docdir='${datarootdir}/doc/${PACKAGE}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
collectsdir='${exec_prefix}/share/${PACKAGE}/collects'
appsdir='${exec_prefix}/share/applications'
pkgsdir='${datarootdir}/${PACKAGE}/pkgs'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
appsdir='${exec_prefix}/share/applications'
mandir='${datarootdir}/man'
ac_prev=
@ -1021,10 +1024,10 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-appsdir | --appsdir | --appsdi | --appsd | --apps)
ac_prev=appsdir ;;
-appsdir=* | --appsdir=* | --appsdi=* | --appsd=* | --apps=*)
appsdir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
@ -1095,10 +1098,10 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-appsdir | --appsdir | --appsdi | --appsd | --apps | --pd)
ac_prev=appsdir ;;
-appsdir=* | --appsdir=* | --appsdi=* | --appsd=* | --apps=* | --pd=*)
appsdir=$ac_optarg ;;
-pkgsdir | --pkgsdir | --pkgsdi | --pkgsd | --pkgs | --pd)
ac_prev=pkgsdir ;;
-pkgsdir=* | --pkgsdir=* | --pkgsdi=* | --pkgsd=* | --pkgs=* | --pd=*)
pkgsdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
@ -1246,7 +1249,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir collectsdir appsdir psdir \
libdir localedir mandir
libdir appsdir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@ -1399,10 +1402,11 @@ Fine tuning of the installation directories:
--includedir=DIR C header files [PREFIX/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--appsdir=DIR .desktop files [EPREFIX/share/applications]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--collectsdir=DIR base collections [EPREFIX/share/PACKAGE/collects]
--appsdir=DIR .desktop files [EPREFIX/share/applications]
--pkgsdir=DIR installed pkgs [EPREFIX/share/PACKAGE/pkgs]
_ACEOF
cat <<\_ACEOF
@ -1430,6 +1434,7 @@ Optional Features:
--enable-compress compress compiled code (enabled by default)
--enable-compressboot compress boot files
--enable-origtree install with original directory structure
--enable-sharezo install ".zo"s to "share", not "lib"
--disable-useprefix ignore any --prefix setting
--enable-pkgscope=<s> set `raco pkg' default: installation, user, or shared
--enable-docs build docs on install (enabled by default)
@ -1454,7 +1459,7 @@ Optional Features:
--enable-libs install static libraries (enabled by default for Unix)
--enable-strip strip debug on install (usually enabled by default)
--enable-ubsan compile with -fsanitize=undefined
--enable-asan compile with -fsanitize=address
--enable-asan compile with -fsanitize=address
--enable-bcdefault install BC without suffix
--enable-bconly BC default, and skip CS build
--enable-csdefault install CS without suffix
@ -2556,6 +2561,11 @@ if test "${enable_origtree+set}" = set; then :
enableval=$enable_origtree;
fi
# Check whether --enable-sharezo was given.
if test "${enable_sharezo+set}" = set; then :
enableval=$enable_sharezo;
fi
# Check whether --enable-useprefix was given.
if test "${enable_useprefix+set}" = set; then :
enableval=$enable_useprefix;
@ -2813,6 +2823,8 @@ show_explicitly_disabled "${enable_pthread}" "pthreads"
show_explicitly_disabled "${enable_compress}" "Compressed code"
show_explicitly_enabled "${enable_compressboot}" "Compressed boot files"
show_explicitly_enabled "${enable_xonx}" "Unix style"
show_explicitly_enabled "${enable_libzo}" 'Compiled ".zo" files moved to lib'
show_explicitly_set "${enable_racket}" "Racket"
show_explicitly_set "${enable_scheme}" "Chez Scheme build directory"
show_explicitly_set "${enable_mach}" "machine type"
@ -3042,6 +3054,9 @@ if test "${enable_origtree}" != "yes" -a "${enable_useprefix}" != "no" ; then
if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then
unixstyle=yes
fi
if test "${pkgsdir}" != '${datarootdir}/${PACKAGE}/pkgs' ; then
unixstyle=yes
fi
if test "${appsdir}" != '${exec_prefix}/share/applications' ; then
unixstyle=yes
fi
@ -3064,12 +3079,17 @@ if test "${unixstyle}" = "no" ; then
docdir='${prefix}/doc'
mandir='${prefix}/man'
collectsdir='${prefix}/collects'
pkgsdir='${prefix}/share/pkgs'
appsdir='${prefix}/share/applications'
COLLECTS_PATH="../collects"
CONFIG_PATH="../etc"
GR_APP_COLLECTS_PATH="../../../../collects"
GR_APP_CONFIG_PATH="../../../../etc"
INSTALL_ORIG_TREE=yes
if test "${enable_sharezo}" = "yes" ; then
enable_sharezo=no
echo WARNING: --enable-sharezo is ignored for an origtree installation
fi
else
if test "${prefix}" = "NONE" ; then
# Set prefix explicitly so we can use it during configure
@ -3096,6 +3116,12 @@ fi
GUI_COLLECTS_PATH="${COLLECTS_PATH}"
GUI_CONFIG_PATH="${CONFIG_PATH}"
if test "${enable_sharezo}" = "yes" ; then
INSTALL_LIBZO=no
else
INSTALL_LIBZO=yes
fi
########################################
@ -3127,6 +3153,8 @@ GUI_CONFIG_PATH="${CONFIG_PATH}"
@ -3156,6 +3184,7 @@ show_path_results()
echo " platform libraries : ${libpltdir}/..."
echo " common libraries : ${sharepltdir}/..."
echo " base collections : ${collectsdir}/..."
echo " installed pkgs : ${pkgsdir}/..."
echo " configuration : ${etcpltdir}/..."
echo " .desktop files : ${appsdir}/..."
echo " man pages : ${mandir}/..."
@ -5643,7 +5672,9 @@ for fixup_arg
do
case $fixup_arg in
# Strip away all feature choices
-enable* | --enable* | -disable* | --disable* | -collects* | --collects* | -apps* | --apps*)
-enable* | --enable* | -disable* | --disable*)
;;
-collects* | --collects* | -apps* | --apps* | -pkgs* | --pkgs*)
;;
*)
case $fixup_arg in
@ -6874,11 +6905,11 @@ ac_sed_dataroot='
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@appsdir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
*@datadir@*|*@docdir@*|*@infodir@*|*@appsdir@*|*@mandir@*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
@ -6887,7 +6918,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@appsdir@&$appsdir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac

View File

@ -74,6 +74,7 @@ show_explicitly_disabled "${enable_pthread}" "pthreads"
show_explicitly_disabled "${enable_compress}" "Compressed code"
show_explicitly_enabled "${enable_compressboot}" "Compressed boot files"
show_explicitly_enabled "${enable_xonx}" "Unix style"
m4_include(../ac/path_show.m4)
show_explicitly_set "${enable_racket}" "Racket"
show_explicitly_set "${enable_scheme}" "Chez Scheme build directory"
show_explicitly_set "${enable_mach}" "machine type"

View File

@ -53,10 +53,12 @@
bstr3 terminator))
(define pos
(case (or target (path->string (system-library-subpath #f)))
[("x86_64-darwin" "i386-darwin" "aarch64-darwin"
[("ta6osx" "ti3osx" "tarm64osx"
"x86_64-darwin" "i386-darwin" "aarch64-darwin"
"x86_64-macosx" "i386-macosx" "aarch64-macosx")
;; Mach-O
(copy-file use-src-file dest-file #t)
(remove-signature dest-file)
(add-plt-segment dest-file data #:name #"__RKTBOOT")
;; Find segment at run time:
0]