From d0a98cb42aa3c72bf063f3cfd2225644fb51a4d1 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 20 Mar 2019 20:42:01 -0600 Subject: [PATCH] cs: update for LZ4 compression --- Makefile | 1 + pkgs/base/info.rkt | 2 +- racket/src/cs/c/Makefile.in | 5 ++++- racket/src/cs/c/configure | 7 ++++--- racket/src/cs/c/configure.ac | 7 ++++--- racket/src/cs/compile-file.ss | 1 + racket/src/racket/src/schvers.h | 4 ++-- racket/src/worksp/cs/prep.rkt | 1 + racket/src/worksp/csbuild.rkt | 4 +++- 9 files changed, 21 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 8517282090..5129f1372e 100644 --- a/Makefile +++ b/Makefile @@ -389,6 +389,7 @@ clone-ChezScheme-as-extra: cd $(BUILD_FOR_FOR_SCHEME_DIR)/ChezScheme && git clone $(GIT_CLONE_ARGS_qq) $(EXTRA_REPOS_BASE)nanopass/.git cd $(BUILD_FOR_FOR_SCHEME_DIR)/ChezScheme && git clone $(GIT_CLONE_ARGS_qq) $(EXTRA_REPOS_BASE)stex/.git cd $(BUILD_FOR_FOR_SCHEME_DIR)/ChezScheme && git clone $(GIT_CLONE_ARGS_qq) $(EXTRA_REPOS_BASE)zlib/.git + cd $(BUILD_FOR_FOR_SCHEME_DIR)/ChezScheme && git clone $(GIT_CLONE_ARGS_qq) $(EXTRA_REPOS_BASE)lz4/.git WIN32_CS_COPY_ARGS_EXCEPT_PKGS_SUT = SRC_CATALOG="$(SRC_CATALOG)" RACKETCS_SUFFIX="$(RACKETCS_SUFFIX)" \ SCHEME_SRC="$(SCHEME_SRC)" EXTRA_REPOS_BASE="$(EXTRA_REPOS_BASE)" diff --git a/pkgs/base/info.rkt b/pkgs/base/info.rkt index 18acdb180a..3c52c0a6f0 100644 --- a/pkgs/base/info.rkt +++ b/pkgs/base/info.rkt @@ -12,7 +12,7 @@ (define collection 'multi) -(define version "7.2.0.10") +(define version "7.2.0.11") (define deps `("racket-lib" ["racket" #:version ,version])) diff --git a/racket/src/cs/c/Makefile.in b/racket/src/cs/c/Makefile.in index d59913ca53..aaba856719 100644 --- a/racket/src/cs/c/Makefile.in +++ b/racket/src/cs/c/Makefile.in @@ -22,6 +22,7 @@ LIBS = @LIBS@ AR = @AR@ ARFLAGS = @ARFLAGS@ RANLIB = @RANLIB@ +WINDRES = @WINDRES@ STRIP_DEBUG = @STRIP_DEBUG@ STRIP_LIB_DEBUG = @STRIP_LIB_DEBUG@ @@ -130,7 +131,9 @@ scheme: if [ "$(MAKE_BUILD_SCHEME)" = "y" ] ; \ then $(MAKE) scheme-make ; fi -SCHEME_CONFIG_VARS = CC="$(CC)" CFLAGS="$(BASE_CFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" RANLIB="$(RANLIB)" +SCHEME_CONFIG_VARS = CC="$(CC)" CFLAGS="$(BASE_CFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \ + AR="$(AR)" ARFLAGS="$(ARFLAGS)" RANLIB="$(RANLIB)" \ + WINDRES="$(WINDRES)" scheme-make: cd $(SCHEME_SRC) && git submodule -q init && git submodule -q update diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure index e3ddc8653f..62c55fe106 100755 --- a/racket/src/cs/c/configure +++ b/racket/src/cs/c/configure @@ -1398,7 +1398,7 @@ Optional Features: --enable-standalone create a standalone shared library --enable-pthread link with pthreads (usually auto-enabled if needed) --enable-iconv use iconv (usually auto-enabled) - --enable-compress compress compiled code + --enable-compress compress compiled code (enabled by default) --enable-origtree install with original directory structure --enable-pkgscope= set `raco pkg' default: installation, user, or shared --enable-docs build docs on install (enabled by default) @@ -2502,7 +2502,7 @@ show_explicitly_set() show_explicitly_enabled "${enable_pthread}" "pthreads" show_explicitly_disabled "${enable_pthread}" "pthreads" -show_explicitly_enabled "${enable_compress}" "Compressed code" +show_explicitly_disabled "${enable_compress}" "Compressed code" show_explicitly_enabled "${enable_xonx}" "Unix style" show_explicitly_set "${enable_racket}" "Racket" show_explicitly_set "${enable_scheme}" "Chez Scheme build directory" @@ -4132,7 +4132,7 @@ fi SCHEME_CONFIG_ARGS="--machine=${MACH} --disable-x11 ${disable_curses_arg} ${extra_scheme_config_args}" SCHEME_CROSS_CONFIG_ARGS="--machine=${TARGET_MACH} --disable-x11 ${disable_curses_arg} ${extra_scheme_config_args}" -if test "${enable_compress}" = "yes" ; then +if test "${enable_compress}" != "no" ; then COMPRESS_COMP="--compress" fi @@ -4919,6 +4919,7 @@ SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} LDFLAGS="'"'"${LDFLAGS}"'"' SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} AR="'"'"${AR}"'"' SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} ARFLAGS="'"'"${ARFLAGS}"'"' SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} RANLIB="'"'"${RANLIB}"'"' +SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} WINDRES="'"'"${WINDRES}"'"' ############## final output ################ diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac index 240258a67a..53c040a7d2 100644 --- a/racket/src/cs/c/configure.ac +++ b/racket/src/cs/c/configure.ac @@ -16,7 +16,7 @@ AC_ARG_ENABLE(shared, [ --enable-shared create shared libraries (ok 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(compress, [ --enable-compress compress compiled code (enabled by default)]) m4_include(../ac/path_arg.m4) AC_ARG_ENABLE(racket, [ --enable-racket= use as Racket to build; or "auto" to create]) AC_ARG_ENABLE(scheme, [ --enable-scheme= Chez Scheme build directory at ]) @@ -57,7 +57,7 @@ show_explicitly_set() show_explicitly_enabled "${enable_pthread}" "pthreads" show_explicitly_disabled "${enable_pthread}" "pthreads" -show_explicitly_enabled "${enable_compress}" "Compressed code" +show_explicitly_disabled "${enable_compress}" "Compressed code" show_explicitly_enabled "${enable_xonx}" "Unix style" show_explicitly_set "${enable_racket}" "Racket" show_explicitly_set "${enable_scheme}" "Chez Scheme build directory" @@ -385,7 +385,7 @@ fi SCHEME_CONFIG_ARGS="--machine=${MACH} --disable-x11 ${disable_curses_arg} ${extra_scheme_config_args}" SCHEME_CROSS_CONFIG_ARGS="--machine=${TARGET_MACH} --disable-x11 ${disable_curses_arg} ${extra_scheme_config_args}" -if test "${enable_compress}" = "yes" ; then +if test "${enable_compress}" != "no" ; then COMPRESS_COMP="--compress" fi @@ -570,6 +570,7 @@ SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} LDFLAGS="'"'"${LDFLAGS}"'"' SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} AR="'"'"${AR}"'"' SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} ARFLAGS="'"'"${ARFLAGS}"'"' SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} RANLIB="'"'"${RANLIB}"'"' +SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} WINDRES="'"'"${WINDRES}"'"' ############## final output ################ diff --git a/racket/src/cs/compile-file.ss b/racket/src/cs/compile-file.ss index 5bf75f195d..c06573e68b 100644 --- a/racket/src/cs/compile-file.ss +++ b/racket/src/cs/compile-file.ss @@ -46,6 +46,7 @@ (unless (eq? (vector-ref v 0) (vector-ref v 1)) (error 'eq-on-flonum "no"))))) (check-defined 'procedure-known-single-valued?) +(check-defined 'compress-format) ;; ---------------------------------------- diff --git a/racket/src/racket/src/schvers.h b/racket/src/racket/src/schvers.h index c6798e2013..b1ed823ca7 100644 --- a/racket/src/racket/src/schvers.h +++ b/racket/src/racket/src/schvers.h @@ -13,12 +13,12 @@ consistently.) */ -#define MZSCHEME_VERSION "7.2.0.10" +#define MZSCHEME_VERSION "7.2.0.11" #define MZSCHEME_VERSION_X 7 #define MZSCHEME_VERSION_Y 2 #define MZSCHEME_VERSION_Z 0 -#define MZSCHEME_VERSION_W 10 +#define MZSCHEME_VERSION_W 11 #define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y) #define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W) diff --git a/racket/src/worksp/cs/prep.rkt b/racket/src/worksp/cs/prep.rkt index 7606dce059..f453a5e655 100644 --- a/racket/src/worksp/cs/prep.rkt +++ b/racket/src/worksp/cs/prep.rkt @@ -43,6 +43,7 @@ (copy-one-dir "mats") (copy-one-dir "nanopass") (copy-one-dir "zlib") + (copy-one-dir "lz4") (copy-one-dir (build-path "boot" machine-name)) (define config-h (build-path dir machine-name "c" "config.h")) diff --git a/racket/src/worksp/csbuild.rkt b/racket/src/worksp/csbuild.rkt index c0ded975c3..9cd2220ac4 100644 --- a/racket/src/worksp/csbuild.rkt +++ b/racket/src/worksp/csbuild.rkt @@ -84,7 +84,9 @@ (clone (format "~astex/.git" extra-repos-base) (build-path scheme-dir "stex")) (clone (format "~azlib/.git" extra-repos-base) - (build-path scheme-dir "zlib"))] + (build-path scheme-dir "zlib")) + (clone (format "~alz4/.git" extra-repos-base) + (build-path scheme-dir "lz4"))] [else (clone "https://github.com/mflatt/ChezScheme" scheme-dir