guile: deprecate; instead use scm
Deprecate the long-deprecated guile support in the build-system too. Needs explicit -Dguile=enabled
This commit is contained in:
10
Makefile
10
Makefile
@ -1,4 +1,4 @@
|
|||||||
## Copyright (C) 2008-2025 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
## Copyright (C) 2008-2026 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
||||||
##
|
##
|
||||||
## This program is free software; you can redistribute it and/or modify
|
## This program is free software; you can redistribute it and/or modify
|
||||||
## it under the terms of the GNU General Public License as published by
|
## it under the terms of the GNU General Public License as published by
|
||||||
@ -33,13 +33,13 @@ ifneq ($(V),0)
|
|||||||
VERBOSE=--verbose
|
VERBOSE=--verbose
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# when MU_HACKER is set, do a debug build
|
# when MU_HACKER is set, do a debug build MU_HACKER is for djcb & compatible
|
||||||
# MU_HACKER is for djcb & compatible developers
|
# developers note that mu requires C++20, we only pass C++23 here for the better
|
||||||
# note that mu uses C++17, we only pass C++23 here
|
# error messages (esp. for fmt).
|
||||||
# for the better error messages (esp. for fmt).
|
|
||||||
ifneq (${MU_HACKER},)
|
ifneq (${MU_HACKER},)
|
||||||
MESON_FLAGS:=$(MESON_FLAGS) '-Dbuildtype=debug' \
|
MESON_FLAGS:=$(MESON_FLAGS) '-Dbuildtype=debug' \
|
||||||
'-Dreadline=enabled' \
|
'-Dreadline=enabled' \
|
||||||
|
'-Dguile=enabled' \
|
||||||
'-Dcpp_std=c++23'
|
'-Dcpp_std=c++23'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
46
meson.build
46
meson.build
@ -208,13 +208,7 @@ gio_unix_dep = dependency('gio-unix-2.0', version: '>= 2.80')
|
|||||||
|
|
||||||
# gmime
|
# gmime
|
||||||
gmime_dep = dependency('gmime-3.0', version: '>= 3.2.13')
|
gmime_dep = dependency('gmime-3.0', version: '>= 3.2.13')
|
||||||
|
# 3.2.13 version has g_mime_object_write_content_to_stream
|
||||||
# note: g_mime_object_write_content_to_stream is not available
|
|
||||||
# in the gmime we still support for normal mu build.; we only need
|
|
||||||
# for scm (see beloww)
|
|
||||||
gmime_scm_ok = cc.has_function('g_mime_object_write_content_to_stream',
|
|
||||||
prefix : '#include <gmime/gmime.h>',
|
|
||||||
dependencies: gmime_dep)
|
|
||||||
|
|
||||||
thread_dep = dependency('threads')
|
thread_dep = dependency('threads')
|
||||||
|
|
||||||
@ -278,9 +272,11 @@ endif
|
|||||||
#
|
#
|
||||||
# guile
|
# guile
|
||||||
|
|
||||||
guile_dep = dependency('guile-3.0', required: get_option('guile'))
|
guile_required=get_option('guile').enabled() or get_option('scm').enabled()
|
||||||
# allow for a custom guile-extension-dir
|
guile_dep = dependency('guile-3.0', required: guile_required)
|
||||||
if guile_dep.found()
|
|
||||||
|
# allow for a custom guile-extension-dir (for old-style guile-support)
|
||||||
|
if guile_dep.found() and get_option('guile').enabled()
|
||||||
custom_guile_xd=get_option('guile-extension-dir')
|
custom_guile_xd=get_option('guile-extension-dir')
|
||||||
if custom_guile_xd == ''
|
if custom_guile_xd == ''
|
||||||
guile_extension_dir = guile_dep.get_variable(pkgconfig: 'extensiondir')
|
guile_extension_dir = guile_dep.get_variable(pkgconfig: 'extensiondir')
|
||||||
@ -341,21 +337,27 @@ install_data('NEWS.org', 'IDEAS.org',
|
|||||||
subdir('lib')
|
subdir('lib')
|
||||||
|
|
||||||
# this must happen _after_ subdir('lib')
|
# this must happen _after_ subdir('lib')
|
||||||
if not get_option('guile').disabled() and guile_dep.found()
|
if guile_dep.found()
|
||||||
config_h_data.set('BUILD_GUILE', 1)
|
|
||||||
config_h_data.set_quoted('GUILE_BINARY',
|
# modern guile support
|
||||||
|
if not get_option('scm').disabled() and guile_dep.found()
|
||||||
|
config_h_data.set('BUILD_SCM', 1)
|
||||||
|
subdir('scm')
|
||||||
|
else
|
||||||
|
# dummy-dep.
|
||||||
|
mu_scm_dep = declare_dependency()
|
||||||
|
endif
|
||||||
|
|
||||||
|
# old-style guile-support (deprecated)
|
||||||
|
if not get_option('guile').disabled()
|
||||||
|
message('old-style gulie support is deprecated')
|
||||||
|
config_h_data.set('BUILD_GUILE', 1)
|
||||||
|
config_h_data.set_quoted('GUILE_BINARY',
|
||||||
guile_dep.get_variable(pkgconfig: 'guile'))
|
guile_dep.get_variable(pkgconfig: 'guile'))
|
||||||
subdir('guile')
|
subdir('guile')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# this must happen _after_ subdir('lib')
|
|
||||||
|
|
||||||
if not get_option('scm').disabled() and guile_dep.found() and gmime_scm_ok
|
|
||||||
config_h_data.set('BUILD_SCM', 1)
|
|
||||||
subdir('scm')
|
|
||||||
else
|
|
||||||
# dummy-dep.
|
|
||||||
mu_scm_dep = declare_dependency()
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir('mu')
|
subdir('mu')
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
## Copyright (C) 2022-2024 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
## Copyright (C) 2022-2026 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
||||||
##
|
##
|
||||||
## This program is free software; you can redistribute it and/or modify
|
## This program is free software; you can redistribute it and/or modify
|
||||||
## it under the terms of the GNU General Public License as published by
|
## it under the terms of the GNU General Public License as published by
|
||||||
@ -54,24 +54,27 @@ option('lispdir',
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# guile & scm
|
# scm & guile (both use GNU Guile)
|
||||||
#
|
#
|
||||||
|
option('scm',
|
||||||
option('guile',
|
|
||||||
type : 'feature',
|
type : 'feature',
|
||||||
value: 'auto',
|
value: 'auto',
|
||||||
description: 'build the guile scripting support (requires guile-3.x)')
|
description: 'build the guile scripting support (requires guile-3.x)')
|
||||||
|
|
||||||
|
|
||||||
|
# old-style guile has been deprecated for years, and is now
|
||||||
|
# disabled by default. It will be removed in some future release.
|
||||||
|
option('guile',
|
||||||
|
type : 'feature',
|
||||||
|
value: 'disabled',
|
||||||
|
deprecated: true,
|
||||||
|
description: 'build the guile scripting support (requires guile-3.x)')
|
||||||
|
|
||||||
# by default, this uses guile_dep.get_variable(pkgconfig: 'extensiondir')
|
# by default, this uses guile_dep.get_variable(pkgconfig: 'extensiondir')
|
||||||
option('guile-extension-dir',
|
option('guile-extension-dir',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
description: 'custom install path for the guile extension module')
|
description: 'custom install path for the guile extension module')
|
||||||
|
|
||||||
option('scm',
|
|
||||||
type : 'feature',
|
|
||||||
value: 'auto',
|
|
||||||
description: 'build the guile scripting support (requires guile-3.x)')
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# misc
|
# misc
|
||||||
#
|
#
|
||||||
|
|||||||
Reference in New Issue
Block a user