summaryrefslogtreecommitdiff
path: root/meta
Commit message (Collapse)AuthorAgeFilesLines
* Rework bootstrap to be reproducibleAndy Wingo2022-02-012-3/+11
| | | | | | | | | | | | | | | | | | * configure.ac: * Makefile.am (SUBDIRS): Replace bootstrap/ with stage0, stage1, and stage2. * am/bootstrap.am: Include all files and all rules. * meta/build-env.in (GUILE_AUTO_COMPILE): Always turn off auto-compilation. Take a GUILE_BOOTSTRAP_STAGE argument, which can be stage0, stage1, stage2, or unset. Adapt the load-compiled path accordingly. * meta/uninstalled-env.in: Include .go files from stage2. * module/Makefile.am: Rework to use boostrap.am. * module/system/base/optimize.scm (available-optimizations): Punt the inlinable-exports machinery to -O2. * stage0/Makefile.am: * stage1/Makefile.am: * stage2/Makefile.am: New files.
* Bignums avoid both custom GMP allocator and finalizersAndy Wingo2022-01-131-4/+1
| | | | | | | | | | | | | | | | | | | | | * libguile/deprecated.c (make_bignum): Move here from numbers.c, to support scm_i_long2big etc. (scm_i_big2dbl): (scm_i_long2big): (scm_i_ulong2big): (scm_i_clonebig): (scm_i_normbig): Deprecate. (scm_install_gmp_memory_functions): Deprecate, happily! SCM bignums now have digits allocated inline with the bignum itself, so they are completely transparent to the GC already. The price is that if GMP ever allocates digits via the MPZ API, those digits then have to be copied back into managed memory. But we avoid having to install finalizers and we avoid having to muck with GMP's allocator. * libguile/numbers.c (scm_from_mpz): Use scm_integer_from_mpz. (scm_init_numbers): Never muck with GMP's allocators. * doc/ref/guile-invoke.texi (Environment Variables): Remove note about GUILE_INSTALL_GMP_MEMORY_FUNCTIONS. * meta/build-env.in: No need to set GUILE_INSTALL_GMP_MEMORY_FUNCTIONS.
* Add GUILE_INSTALL_GMP_MEMORY_FUNCTIONS to NEWS; use at build-timeAndy Wingo2021-04-271-1/+4
| | | | | | | * NEWS (GUILE_INSTALL_GMP_MEMORY_FUNCTIONS): Update * libguile/numbers.c: Add needed include. * meta/build-env.in (GUILE_INSTALL_GMP_MEMORY_FUNCTIONS): Set when building Guile.
* meta: Increment serial number in 'guile.m4'.Ludovic Courtès2020-08-241-2/+2
| | | | | * meta/guile.m4: Bump "serial", for all the changes made since commit 5ad3881631c078d29e6b5676e8ab55759ee5bb85 (2010).
* GUILE_PKG bails out when 'pkg-config' is missingMathieu Lirzin2020-05-271-1/+4
| | | | | | | * meta/guile.m4 (GUILE_PKG): Ensure that 'pkg-config' is available. Use AC_REQUIRE for PKG_PROG_PKG_CONFIG to avoid unnecessary invocations. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* GUILE_PKG finds guile-3.0Andy Wingo2020-03-031-5/+5
| | | | | * meta/guile.m4 (GUILE_PKG): Drop 1.8 from default versions to look for, and add 3.0.
* Fix guile-config for Guile 3.0Andy Wingo2018-10-071-2/+2
| | | | | * meta/guile-config.in (guile-module): Use pkg-config for effective version.
* Merge remote-tracking branch 'origin/stable-2.2'Andy Wingo2017-05-311-3/+3
|\
| * Update guile.m4 to check for 2.2 by defaultAndy Wingo2017-05-311-3/+3
| | | | | | | | * meta/guile.m4 (GUILE_PKG): Update default Guile versions to 2.2.
| * guile.m4 fix for 3.0 prereleasesAndy Wingo2017-05-311-0/+3
| | | | | | | | | | * meta/guile.m4 (GUILE_PROGS): Allow prereleases of Guile with a new major version.
* | guile.m4 fix for 3.0 prereleasesAndy Wingo2017-05-311-0/+3
| | | | | | | | | | * meta/guile.m4 (GUILE_PROGS): Allow prereleases of Guile with a new major version.
* | Update effective version to 3.0Andy Wingo2017-05-223-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | * GUILE-VERSION: Bump version to 2.3.0, and effective version to 3.0. * .gitignore: * README: * doc/guile.1: * doc/ref/api-evaluation.texi: * doc/ref/api-options.texi: * doc/ref/guile-invoke.texi: * doc/ref/libguile-foreign-objects.texi: * doc/ref/libguile-parallel.texi: * doc/ref/srfi-modules.texi: Update to 3.0. * libguile/_scm.h (SCM_OBJCODE_MAJOR_VERSION): (SCM_OBJCODE_MINIMUM_MINOR_VERSION, SCM_OBJCODE_MINOR_VERSION): Bump bytecode version for fallback path. * libguile/loader.c: Update to avoid loading version 2.2 bytecode files. * meta/guile-3.0-uninstalled.pc.in: * meta/guile-3.0.pc.in: Rename. * module/system/vm/assembler.scm (*bytecode-major-version*): (*bytecode-minor-version*): Write the new bytecode version.
* GUILE_SITE_DIR: Update to find compiled site directoriesFreja Nordsiek2017-03-152-6/+39
| | | | | | * meta/guile.m4 (GUILE_SITE_DIR): Update to find compiled site directories. * meta/guile-2.2.pc.in: Add entry for site-ccache directory.
* Fixed reversed version order bug in GUILE_PROGS Autoconf macro.Freja Nordsiek2017-03-141-2/+2
| | | | * meta/guile.m4 (GUILE_PROGS): Build version in correct order.
* configure detects which set of prebuilt binaries to useAndy Wingo2017-03-142-4/+4
| | | | | | | | | | | | * configure.ac: Use detected endianness and word size to automatically select which set of prebuilt binaries to use. * meta/build-env.in (top_builddir): * meta/uninstalled-env.in (top_builddir): Update to use SCM_PREBUILT_BINARIES for prebuilt entry in GUILE_LOAD_COMPILED_PATH. * prebuilt/32-bit-big-endian: * prebuilt/32-bit-little-endian: * prebuilt/64-bit-little-endian: New links. * prebuilt/x86_64-pc-linux-gnu: Remove this link now that it's unneeded.
* Fixed specific version of guile search in autoconf macro GUILE_PROGS.Freja Nordsiek2017-02-231-8/+22
| | | | | | * meta/guile.m4 (GUILE_PROGS): Search for guile with suffixes first ('-X.Y' and 'X.Y' where X.Y denotes the version) before searching for guile with no suffix. Patch co-authored by Andy Wingo.
* build-env: prebuilt .go files are in srcdirAndy Wingo2016-07-111-1/+1
| | | | | * meta/build-env.in (GUILE_LOAD_COMPILED_PATH): Look for prebuilt files in the srcdir, not the builddir.
* Add meta/build-envAndy Wingo2016-07-101-0/+121
| | | | | | | | | | | | | * meta/build-env.in: New file which sets up an environment that does not inherit GUILE_LOAD_PATH / GUILE_LOAD_COMPILED_PATH (unless cross-compiling). * doc/ref/Makefile.am (autoconf-macros.texi): * libguile/Makefile.am (snarf2checkedtexi): * module/Makefile.am (ice-9/psyntax-pp.go): * test-suite/standalone/Makefile.am (GUILE_INSTALL_LOCALE): * am/bootstrap.am (.scm.go): * am/guilec (.scm.go): Use build-env. * configure.ac: Create build-env.
* Fix uninstalled-env bug that put prebuilt/ in frontAndy Wingo2016-06-271-7/+2
| | | | | | * meta/uninstalled-env.in (top_builddir): Fix bug whereby meta/uninstalled-env run within meta-uninstalled-env, as happens sometimes, would move the prebuilt dir to the front.
* Fixing GUILE_PROGS wrong versioning checksDavid Pirotte2016-06-271-4/+8
| | | | | | | | | | | * meta/guile.m4: Fixing GUILE_PROGS versioning checks were wrong and incomplete, leading to false errors like: "... checking for Guile version >= 2.0.11... configure: error: Guile 2.0.11 required, but 2.1.3 found". thanks to Colomban Wendling, aka b4n, who also suggested this fix during a chat on #autotools while helping me wrt another autotool related problem I was nvestigating.
* Distribute prebuilt bootstraps for common hostsAndy Wingo2016-01-291-13/+14
| | | | | | | | | | | | | | | | | * am/bootstrap.am: New file, factored out of bootstrap/Makefile.am. * bootstrap/Makefile.am: Use bootstrap.am. * prebuilt/Makefile.am: * prebuilt/i686-pc-linux-gnu/Makefile.am: * prebuilt/mips-unknown-linux-gnu/Makefile.am: * prebuilt/x86_64-unknown-linux-gnu/Makefile.am: New files. * configure.ac: Output the prebuilt/ makefiles. * Makefile.am: Descend into prebuilt/ when making dist. * meta/uninstalled-env.in: Arrange to put prebuilt/ in the beginning of the GUILE_LOAD_COMPILED_PATH. Also fix a case where bootstrap/ wasn't being correctly added to the load path.
* Fix uninstalled-env bug that preferred bootstrap/ to module/Andy Wingo2015-10-251-1/+1
| | | | | | * meta/uninstalled-env.in (top_builddir): Whoops! We were preferring bootstrap/ unoptimized .go files to module/ optimized .go files. Fix!
* Use a bootstrapped -O0 compiler to compile the -O2 GuileAndy Wingo2015-10-231-2/+2
| | | | | | | | | | | | | | | | | | | This reduces total build time to around 30 minutes or so. * Makefile.am (SUBDIRS): Visit bootstrap/ before module/. * bootstrap/Makefile.am: New file. * configure.ac: Generate bootstrap/Makefile. * meta/uninstalled-env.in (top_builddir): Add bootstrap/ to the GUILE_LOAD_COMPILED_PATH. * module/Makefile.am: Simplify to just sort files in alphabetical order; since bootstrap/ was already compiled, we don't need to try to optimize compilation order. Although the compiler will get faster as more of the compiler itself is optimized, this isn't a significant enough effect to worry about.
* build: Use pipe symbol instead of comma for substitutions.Mark H Weaver2015-03-071-24/+25
| | | | | * meta/Makefile.am (substitute): Use pipe symbol instead of comma for substitutions.
* Merge commit '47ca15c7dffd14a82e75c1a0aeeaf2e77f3fa5b4'Andy Wingo2015-01-221-15/+17
|\
| * build: Better handle substitutions in 'guile-2.0.pc' & co.Ludovic Courtès2014-12-061-15/+17
| | | | | | | | | | * meta/Makefile.am (dependency_substitutions): Use '|' as the separate instead of ','. See <http://hydra.nixos.org/build/17684751>.
* | Merge commit '7c433cbbce83bc9f2f9967afba00bbb68e312657'Andy Wingo2015-01-221-18/+42
|\ \ | |/ | | | | | | Conflicts: meta/Makefile.am
| * build: Add missing substitutions for 'guile-2.0.pc'.Ludovic Courtès2014-12-031-18/+42
| | | | | | | | | | | | | | | | This is a followup to 5fac1a7. * meta/Makefile.am (substitute): Add GUILE_* and LIBGUILE_* substitutions, and $(dependency_substitutions). (dependency_substitutions): New variable.
* | Merge commit '5fac1a7ada362d78f13143acbc0ceca7f2f101de'Andy Wingo2015-01-222-18/+49
|\ \ | |/ | | | | | | | | Conflicts: configure.ac doc/ref/libguile-parallel.texi
| * Add the 'guild' and 'guile' variables to 'guile-2.0.pc'.Ludovic Courtès2014-12-032-13/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Remove meta/guile-2.0.pc and meta/guile-2.0-uninstalled.pc from 'AC_CONFIG_FILES'. * meta/Makefile.am (substitute): New variable. (guile-2.0.pc, guile-2.0-uninstalled.pc): New targets. (guile-config, guild): Use $(substitute) instead of duplicated sed script. (CLEANFILES): Add the .pc files. * meta/guile-2.0.pc.in (bindir, guild, guile): New variables. * doc/ref/libguile-parallel.texi (Parallel Installations): Document the 'guild' and 'guile' pkg-config variables.
* | Merge commit 'fdd319e9bd4121d844662d3d8ccc69b462b60840'Andy Wingo2015-01-221-1/+1
|\ \ | |/
| * Avoid bash-specific '==' comparison operator in guile.m4.Thomas Klausner2014-11-111-1/+1
| | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/18898>. * meta/guile.m4 (GUILE_PROGS): Use '=' instead of the bash-specific '==' comparison operator in 'test' call.
| * build: Clean up rules for meta/{guild,guile-config}.Ludovic Courtès2014-04-241-12/+12
| | | | | | | | | | | | * meta/Makefile.am (guile-config, guild): Avoid useless 'cat' invocation'. Quote all occurrences of '@'. Suggested by Eric Blake <eblake@redhat.com>.
| * build: Honor program name transformation in 'guild'.Ludovic Courtès2014-04-242-6/+14
| | | | | | | | | | | | | | | | | | | | * configure.ac: Remove erroneous 'guile_program_name' substitute; see <https://lists.gnu.org/archive/html/autoconf/2014-04/msg00010.html> for details. Remove 'meta/guild' config file. * meta/Makefile.am (guild): New target. (CLEANFILES): Add 'guild'. * meta/guild.in: Remove 'prefix' and 'exec_prefix' definitions; use @installed_guile@.
| * guile.m4 tweaksAndy Wingo2014-02-111-5/+11
| | | | | | | | | | | | | | | | | | * meta/guile.m4 (GUILE_PKG): Don't print "checking for guile 2.0" if we've already found 2.2. Print the correct effective version at the end. (GUILE_PROGS): Allow prereleases, whose micro version does not yet match the effective version. Default to the already-chosen effective version.
* | build: Clean up rules for meta/{guild,guile-config}.Ludovic Courtès2014-04-241-12/+12
| | | | | | | | | | | | * meta/Makefile.am (guile-config, guild): Avoid useless 'cat' invocation'. Quote all occurrences of '@'. Suggested by Eric Blake <eblake@redhat.com>.
* | build: Honor program name transformation in 'guild'.Ludovic Courtès2014-04-242-6/+14
| | | | | | | | | | | | | | | | | | | | * configure.ac: Remove erroneous 'guile_program_name' substitute; see <https://lists.gnu.org/archive/html/autoconf/2014-04/msg00010.html> for details. Remove 'meta/guild' config file. * meta/Makefile.am (guild): New target. (CLEANFILES): Add 'guild'. * meta/guild.in: Remove 'prefix' and 'exec_prefix' definitions; use @installed_guile@.
* | guile.m4 tweaksAndy Wingo2014-02-111-5/+11
| | | | | | | | | | | | | | | | | | * meta/guile.m4 (GUILE_PKG): Don't print "checking for guile 2.0" if we've already found 2.2. Print the correct effective version at the end. (GUILE_PROGS): Allow prereleases, whose micro version does not yet match the effective version. Default to the already-chosen effective version.
* | Merge branch 'stable-2.0'Mark H Weaver2014-01-091-8/+37
|\ \ | |/ | | | | | | | | Conflicts: module/system/vm/traps.scm test-suite/tests/peval.test
| * allow specifying a required version in GUILE_PROGSAleix Conchillo Flaque2013-12-211-8/+37
| | | | | | | | | | | | | | | | * meta/guile.m4: GUILE_PROGS now takes an optional argument to specify a required Guile version. By default, it requires Guile >= 2.0. A micro version can also be specified (e.g. GUILE_PROGS([2.0.10])). Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | Merge remote-tracking branch 'origin/stable-2.0'Mark H Weaver2013-04-141-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: GUILE-VERSION libguile/array-map.c libguile/fports.h libguile/gc.h libguile/inline.h libguile/ports.c libguile/ports.h libguile/print.c libguile/r6rs-ports.c libguile/read.c test-suite/tests/00-socket.test
| * Do not add $(EXEEXT) to guild or guile-tools.Mark H Weaver2013-04-101-2/+2
| | | | | | | | | | * meta/Makefile.am (install-exec-hook): Do not add $(EXEEXT) to guild or guile-tools.
* | Merge remote-tracking branch 'origin/stable-2.0'Mark H Weaver2013-03-283-54/+131
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.ac libguile/deprecated.c libguile/deprecated.h libguile/filesys.h libguile/fluids.c libguile/fports.c libguile/gc.c libguile/guile.c libguile/numbers.c libguile/objcodes.c libguile/r6rs-ports.c libguile/smob.c libguile/socket.c libguile/threads.h module/language/scheme/decompile-tree-il.scm module/language/tree-il/peval.scm test-suite/tests/syncase.test
| * build: Use portable sed constructs.Ludovic Courtès2013-03-251-5/+5
| | | | | | | | | | | | | | | | Partly fixes <http://bugs.gnu.org/14042>. Reported by Marc Girod <marc.girod@gmail.com>. * meta/Makefile.am (guile-config): Use separate "s" expressions to accommodate Solaris sed.
| * guile.m4 allows selection of guile 2.0, 1.8, etc.Andy Wingo2013-03-101-47/+124
| | | | | | | | | | | | | | | | * meta/guile.m4 (GUILE_PKG): New macro, chooses a version of Guile against which to compile. (GUILE_FLAGS, GUILE_PROGS): Rewrite to call GUILE_PKG as necessary, to respect any previous call to GUILE_PKG, and to not require guile-tools.
| * fix in-tree guile referenceAndy Wingo2013-03-091-2/+2
| | | | | | | | | | * meta/guile.in (GUILE): Add @EXEEXT@ for libguile/guile reference, for MinGW compiles.
* | Merge remote-tracking branch 'origin/stable-2.0'Andy Wingo2013-02-181-2/+8
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: libguile/array-handle.c libguile/deprecated.h libguile/inline.c libguile/inline.h module/ice-9/deprecated.scm module/language/tree-il/peval.scm
| * guild: Gracefully handle failures to install the locale.Ludovic Courtès2013-02-011-2/+8
| | | | | | | | | | * meta/guild.in (main): Catch `system-error' when calling `setlocale', and gracefully handle any error.
* | Merge remote-tracking branch 'origin/stable-2.0'Mark H Weaver2012-10-301-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | Moved scm_i_struct_hash from struct.c to hash.c and made it static. The port's alist is now a field of 'scm_t_port'. Conflicts: libguile/arrays.c libguile/hash.c libguile/ports.c libguile/print.h libguile/read.c
| * build: Fix race between installing `guild' and the `guile-tools' symlink.Ludovic Courtès2012-09-031-1/+1
| | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/12015>. Report and patch by Song.Li <Song.Li@windriver.com>. * meta/Makefile.am (install-data-hook): Rename to... (install-exec-hook): ... this.