[PATCH 0/4] gnu: sdcc: Update to 4.3.0; other improvements.

  • Done
  • quality assurance status badge
Details
2 participants
  • Christopher Baines
  • Simon South
Owner
unassigned
Submitted by
Simon South
Severity
normal

Debbugs page

Simon South wrote 1 years ago
(address . guix-patches@gnu.org)
cover.1695929761.git.simon@simonsouth.net
This patch series updates SDCC, a C compiler suite that targets a number of
8-bit microcontroller families, to version 4.3.0.

It also tries to improve the package by

- Updating and gently reformatting its definition; and

- Embedding a reference to the MCS-51 simulator from the ucsim package, which
is invoked by SDCC's debugger and should therefore always be present
alongside it. (Previously the debugger, sdcdb, would always fail with an
error message if the user hadn't also installed μCsim.)

I've tested these changes on AArch64 and x86-64 and all appears well. (I
_have_ seen some intermittent build failures on x86-64, but I'm assuming for
the moment this is something specific to my machine.)

--
Simon South
simon@simonsouth.net


Simon South (4):
gnu: sdcc: Update package style.
gnu: sdcc: Adjust format.
gnu: sdcc: Embed absolute reference to μCsim.
gnu: sdcc: Update to 4.3.0.

gnu/packages/embedded.scm | 74 ++--
.../patches/sdcc-disable-non-free-code.patch | 364 ++++++++++--------
2 files changed, 240 insertions(+), 198 deletions(-)


base-commit: 3963fa1a465708690cd1554d911613f1c92f5eef
--
2.41.0
Simon South wrote 1 years ago
[PATCH 1/4] gnu: sdcc: Update package style.
(address . 66259@debbugs.gnu.org)
b9ea1b983b9e618e61c1c6093d4bc371a1c44296.1695929761.git.simon@simonsouth.net
* gnu/packages/embedded.scm (sdcc)[source]<snippet>: Use gexp; drop
trailing #t.
[arguments]: Use gexps.
<#:phases>: Drop trailing #t from phase.
---
gnu/packages/embedded.scm | 49 +++++++++++++++++++--------------------
1 file changed, 24 insertions(+), 25 deletions(-)

Toggle diff (69 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 040290f94e..8de3c9c630 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1648,12 +1648,11 @@ (define-public sdcc
"0ly0m3q9vzjb9kcfjh79s77wpl4w7xhybzy4h9x0bmmw4cfsx6xl"))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; Remove non-free source files
- (delete-file-recursively "device/non-free")
- ;; Remove bundled μCsim source
- (delete-file-recursively "sim")
- #t))
+ #~(begin
+ ;; Remove non-free source files
+ (delete-file-recursively "device/non-free")
+ ;; Remove bundled μCsim source
+ (delete-file-recursively "sim")))
(patches (search-patches "sdcc-disable-non-free-code.patch"))))
(build-system gnu-build-system)
(inputs
@@ -1661,25 +1660,25 @@ (define-public sdcc
(native-inputs
(list bison boost flex python-2 texinfo zlib))
(arguments
- `(;; GPUTILS is required for the PIC ports, but the licensing status of
- ;; some of the files contained in its distribution is unclear (see
- ;; https://issues.guix.gnu.org/44557). For this reason it is not yet
- ;; available as a package in Guix.
- #:configure-flags
- '("--disable-pic14-port" "--disable-pic16-port" "--disable-ucsim")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-makefiles
- (lambda _
- (substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh")))
- ;; --disable-ucsim disables sdcc-misc, patch it back in.
- (substitute* "Makefile.in"
- (("debugger/mcs51" line)
- (string-append line "\n"
- "TARGETS += sdcc-misc\n"
- "PKGS += $(SDCC_MISC)")))
- #t)))))
+ (list
+ ;; GPUTILS is required for the PIC ports, but the licensing status of
+ ;; some of the files contained in its distribution is unclear (see
+ ;; https://issues.guix.gnu.org/44557). For this reason it is not yet
+ ;; available as a package in Guix.
+ #:configure-flags
+ #~(list "--disable-pic14-port" "--disable-pic16-port" "--disable-ucsim")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefiles
+ (lambda _
+ (substitute* (find-files "." "(\\.mk$|\\.in$)")
+ (("/bin/sh") (which "sh")))
+ ;; --disable-ucsim disables sdcc-misc, patch it back in.
+ (substitute* "Makefile.in"
+ (("debugger/mcs51" line)
+ (string-append line "\n"
+ "TARGETS += sdcc-misc\n"
+ "PKGS += $(SDCC_MISC)"))))))))
(home-page "https://sdcc.sourceforge.net")
(synopsis "C compiler suite for 8-bit microcontrollers")
(description "SDCC is a retargetable, optimizing Standard C compiler suite
--
2.41.0
Simon South wrote 1 years ago
[PATCH 2/4] gnu: sdcc: Adjust format.
(address . 66259@debbugs.gnu.org)
0e5a8d21461c48d10c40e920c7d923f7eba81341.1695929761.git.simon@simonsouth.net
* gnu/packages/embedded.scm (sdcc): Move arguments above inputs; punctuate
comments consistently.
[arguments]<#:configure-flags>: Move comment regarding GPUTILS to associated
flags; add comment for "--disable-ucsim".
[home-page]: Add trailing slash to URL.
---
gnu/packages/embedded.scm | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)

Toggle diff (57 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 8de3c9c630..630f2b37e0 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1649,24 +1649,26 @@ (define-public sdcc
(modules '((guix build utils)))
(snippet
#~(begin
- ;; Remove non-free source files
+ ;; Remove non-free source files.
(delete-file-recursively "device/non-free")
- ;; Remove bundled μCsim source
+ ;; Remove bundled μCsim source.
(delete-file-recursively "sim")))
(patches (search-patches "sdcc-disable-non-free-code.patch"))))
(build-system gnu-build-system)
- (inputs
- (list readline))
- (native-inputs
- (list bison boost flex python-2 texinfo zlib))
(arguments
(list
- ;; GPUTILS is required for the PIC ports, but the licensing status of
- ;; some of the files contained in its distribution is unclear (see
- ;; https://issues.guix.gnu.org/44557). For this reason it is not yet
- ;; available as a package in Guix.
#:configure-flags
- #~(list "--disable-pic14-port" "--disable-pic16-port" "--disable-ucsim")
+ #~(list
+ ;; GPUTILS is required for the PIC ports, but the licensing status of
+ ;; some of the files contained in its distribution is unclear (see
+ ;; https://issues.guix.gnu.org/44557). For this reason it is not yet
+ ;; available as a package in Guix.
+ "--disable-pic14-port"
+ "--disable-pic16-port"
+
+ ;; Do not build or install the bundled copy of μCsim, for which Guix
+ ;; has its own package.
+ "--disable-ucsim")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-makefiles
@@ -1679,7 +1681,11 @@ (define-public sdcc
(string-append line "\n"
"TARGETS += sdcc-misc\n"
"PKGS += $(SDCC_MISC)"))))))))
- (home-page "https://sdcc.sourceforge.net")
+ (inputs
+ (list readline))
+ (native-inputs
+ (list bison boost flex python-2 texinfo zlib))
+ (home-page "https://sdcc.sourceforge.net/")
(synopsis "C compiler suite for 8-bit microcontrollers")
(description "SDCC is a retargetable, optimizing Standard C compiler suite
that targets 8-bit microcontrollers in the Intel MCS-51 (8051); MOS Technology
--
2.41.0
Simon South wrote 1 years ago
[PATCH 3/4] gnu: sdcc: Embed absolute reference to μCsim.
(address . 66259@debbugs.gnu.org)
6c9f9a8e070b24cd6afa186ac6376a1adb3db9b8.1695929761.git.simon@simonsouth.net
* gnu/packages/embedded.scm (sdcc)[arguments]<#:phases>: Add
"embed-absolute-ucsim-reference" phase.
[inputs]: Add ucsim.
---
gnu/packages/embedded.scm | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 630f2b37e0..9202aaf5b6 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1680,9 +1680,18 @@ (define-public sdcc
(("debugger/mcs51" line)
(string-append line "\n"
"TARGETS += sdcc-misc\n"
- "PKGS += $(SDCC_MISC)"))))))))
+ "PKGS += $(SDCC_MISC)")))))
+ (add-after 'patch-makefiles 'embed-absolute-ucsim-reference
+ (lambda _
+ ;; Embed in the debugger an absolute reference to the MCS-51
+ ;; simulator from Guix's μCsim package to ensure it is always
+ ;; available.
+ (substitute* "debugger/mcs51/sdcdb.c"
+ (("s51")
+ (string-append #$(this-package-input "ucsim")
+ "/bin/s51"))))))))
(inputs
- (list readline))
+ (list readline ucsim))
(native-inputs
(list bison boost flex python-2 texinfo zlib))
(home-page "https://sdcc.sourceforge.net/")
--
2.41.0
Simon South wrote 1 years ago
[PATCH 4/4] gnu: sdcc: Update to 4.3.0.
(address . 66259@debbugs.gnu.org)
575ea3f4f1b7dc0f1b296142791a31346ee30322.1695929761.git.simon@simonsouth.net
* gnu/packages/embedded.scm (sdcc): Update to 4.3.0.
* gnu/packages/patches/sdcc-disable-non-free-code.patch: Update to match new
version.
---
gnu/packages/embedded.scm | 4 +-
.../patches/sdcc-disable-non-free-code.patch | 364 ++++++++++--------
2 files changed, 198 insertions(+), 170 deletions(-)

Toggle diff (442 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 9202aaf5b6..e991f52a66 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1637,7 +1637,7 @@ (define-public ucsim
(define-public sdcc
(package
(name "sdcc")
- (version "4.2.0")
+ (version "4.3.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1645,7 +1645,7 @@ (define-public sdcc
"/" version "/sdcc-src-" version ".tar.bz2"))
(sha256
(base32
- "0ly0m3q9vzjb9kcfjh79s77wpl4w7xhybzy4h9x0bmmw4cfsx6xl"))
+ "1kckr20jqa4rp4qcw38lwagmw3yfm3z0xb4kygd0608847qc0vra"))
(modules '((guix build utils)))
(snippet
#~(begin
diff --git a/gnu/packages/patches/sdcc-disable-non-free-code.patch b/gnu/packages/patches/sdcc-disable-non-free-code.patch
index 39046ae280..7602ead9af 100644
--- a/gnu/packages/patches/sdcc-disable-non-free-code.patch
+++ b/gnu/packages/patches/sdcc-disable-non-free-code.patch
@@ -15,10 +15,10 @@ remove instructions that encourage the use of SDCC with non-free
software.
diff --git a/Makefile.common.in b/Makefile.common.in
-index 1a11f67..69d5efe 100644
+index 9cd116c..6bbe9fb 100644
--- a/Makefile.common.in
+++ b/Makefile.common.in
-@@ -73,7 +73,6 @@ OPT_DISABLE_PACKIHX = @OPT_DISABLE_PACKIHX@
+@@ -77,7 +77,6 @@ OPT_DISABLE_PACKIHX = @OPT_DISABLE_PACKIHX@
OPT_DISABLE_SDBINUTILS = @OPT_DISABLE_SDBINUTILS@
OPT_DISABLE_SDCPP = @OPT_DISABLE_SDCPP@
OPT_DISABLE_UCSIM = @OPT_DISABLE_UCSIM@
@@ -27,7 +27,7 @@ index 1a11f67..69d5efe 100644
SLIB = $(top_builddir)/support/util
diff --git a/Makefile.in b/Makefile.in
-index d899b62..554a1c3 100644
+index 6d035ec..12f1fad 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -105,9 +105,6 @@ endif
@@ -50,7 +50,7 @@ index d899b62..554a1c3 100644
PKGS += $(SDCC_AS) sdas/linksrc $(SDCC_SCRIPTS)
PORTS = $(shell cat ports.build)
-@@ -176,21 +170,12 @@ sdcc-sdbinutils:
+@@ -168,21 +162,12 @@ sdcc-sdbinutils:
sdcc-device-inc:
$(MAKE) -C device/include
@@ -73,7 +73,7 @@ index d899b62..554a1c3 100644
# doc depends on latex and latex2html
diff --git a/configure b/configure
-index 232d98e..3eeb17c 100755
+index 9de81c6..2620e3c 100755
--- a/configure
+++ b/configure
@@ -659,7 +659,6 @@ LATEX
@@ -84,10 +84,10 @@ index 232d98e..3eeb17c 100755
OPT_DISABLE_SDBINUTILS
OPT_DISABLE_SDCDB
OPT_DISABLE_SDCPP
-@@ -690,10 +689,7 @@ OPT_DISABLE_R2K
- OPT_DISABLE_Z180
- OPT_DISABLE_Z80
+@@ -692,10 +691,7 @@ OPT_DISABLE_Z80
OPT_DISABLE_MCS51
+ SVN_REVISION
+ GIT_REVISION
-non_free_lib_dir_suffix
lib_dir_suffix
-non_free_include_dir_suffix
@@ -95,7 +95,7 @@ index 232d98e..3eeb17c 100755
include_dir_suffix
inclib_dir_suffix
LIB_TYPE
-@@ -821,7 +817,6 @@ enable_packihx
+@@ -824,7 +820,6 @@ enable_packihx
enable_sdcpp
enable_sdcdb
enable_sdbinutils
@@ -103,7 +103,7 @@ index 232d98e..3eeb17c 100755
enable_doc
enable_libgc
'
-@@ -842,10 +837,7 @@ sdccconf_h_dir_separator
+@@ -845,10 +840,7 @@ sdccconf_h_dir_separator
LIB_TYPE
inclib_dir_suffix
include_dir_suffix
@@ -114,7 +114,7 @@ index 232d98e..3eeb17c 100755
docdir'
ac_subdirs_all='support/cpp
support/packihx
-@@ -853,9 +845,7 @@ sim/ucsim
+@@ -856,9 +848,7 @@ sim/ucsim
debugger/mcs51
support/sdbinutils
device/lib/pic14
@@ -125,7 +125,7 @@ index 232d98e..3eeb17c 100755
# Initialize some variables set by options.
ac_init_help=
-@@ -1509,7 +1499,6 @@ Optional Features:
+@@ -1512,7 +1502,6 @@ Optional Features:
--disable-sdcpp Disables building sdcpp
--disable-sdcdb Disables building sdcdb
--disable-sdbinutils Disables configuring and building of sdbinutils
@@ -133,7 +133,7 @@ index 232d98e..3eeb17c 100755
--enable-doc Enables building the documentation
--enable-libgc Use the Bohem memory allocator. Lower runtime
footprint.
-@@ -1538,16 +1527,8 @@ Some influential environment variables:
+@@ -1541,16 +1530,8 @@ Some influential environment variables:
appended to datadir to define SDCC's include/lib directory
include_dir_suffix
appended to datadir to define SDCC's include directory
@@ -150,7 +150,7 @@ index 232d98e..3eeb17c 100755
docdir documentation installation directory
Use these variables to override the choices made by `configure' or to help
-@@ -7421,19 +7402,6 @@ if test "${include_dir_suffix}" = ""; then
+@@ -7426,19 +7407,6 @@ if test "${include_dir_suffix}" = ""; then
include_dir_suffix="${inclib_dir_suffix}/include"
fi
@@ -170,7 +170,7 @@ index 232d98e..3eeb17c 100755
# lib_dir_suffix:
# *nix default: "sdcc/lib"
-@@ -7441,13 +7409,6 @@ if test "${lib_dir_suffix}" = ""; then
+@@ -7446,13 +7414,6 @@ if test "${lib_dir_suffix}" = ""; then
lib_dir_suffix="${inclib_dir_suffix}/lib"
fi
@@ -184,7 +184,7 @@ index 232d98e..3eeb17c 100755
# docdir:
# *nix default: "${datadir}/sdcc/doc"
-@@ -7600,22 +7561,6 @@ esac
+@@ -7605,22 +7566,6 @@ esac
printf "%s\n" "#define INCLUDE_DIR_SUFFIX DIR_SEPARATOR_STRING \"${norm_inc_dir_suffix}\"" >>confdefs.h
@@ -207,7 +207,7 @@ index 232d98e..3eeb17c 100755
norm_lib_dir_suffix=${lib_dir_suffix}
case ":$norm_lib_dir_suffix:" in
-@@ -7633,22 +7578,6 @@ esac
+@@ -7638,22 +7583,6 @@ esac
printf "%s\n" "#define LIB_DIR_SUFFIX DIR_SEPARATOR_STRING \"${norm_lib_dir_suffix}\"" >>confdefs.h
@@ -230,7 +230,7 @@ index 232d98e..3eeb17c 100755
# relative paths
for _lcl_i in expanded_bindir:expanded_datadir:bin2data_dir; do
-@@ -8751,27 +8680,6 @@ printf "%s\n" "#define OPT_DISABLE_SDBINUTILS $OPT_DISABLE_SDBINUTILS" >>confdef
+@@ -8769,27 +8698,6 @@ printf "%s\n" "#define OPT_DISABLE_SDBINUTILS $OPT_DISABLE_SDBINUTILS" >>confdef
@@ -258,7 +258,7 @@ index 232d98e..3eeb17c 100755
# Check whether --enable-doc was given.
if test ${enable_doc+y}
-@@ -9199,20 +9107,12 @@ if test $OPT_DISABLE_PIC14 = 0; then
+@@ -9217,20 +9125,12 @@ if test $OPT_DISABLE_PIC14 = 0; then
test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/lib/pic14"
@@ -279,14 +279,18 @@ index 232d98e..3eeb17c 100755
fi
if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R2KA = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_SM83 = 0 || test $OPT_DISABLE_TLCS90 = 0 || test $OPT_DISABLE_EZ80_Z80 = 0 || test $OPT_DISABLE_Z80N = 0; then
-@@ -9289,15 +9189,9 @@ fi
+@@ -9307,8 +9207,6 @@ fi
test $OPT_DISABLE_DEVICE_LIB = 0 && ac_config_files="$ac_config_files device/lib/Makefile"
-test $OPT_DISABLE_DEVICE_LIB = 0 && test $OPT_DISABLE_NON_FREE = 0 && ac_config_files="$ac_config_files device/non-free/lib/Makefile"
-
- ac_config_files="$ac_config_files main.mk:main_in.mk src/Makefile device/include/Makefile sdas/linksrc/Makefile support/makebin/Makefile support/regression/Makefile support/valdiag/Makefile support/scripts/Makefile support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in Makefile Makefile.common:Makefile.common.in"
+ ac_config_files="$ac_config_files main.mk:main_in.mk bin/Makefile src/Makefile device/include/Makefile sdas/linksrc/Makefile support/makebin/Makefile support/regression/Makefile support/regression/cases/Makefile support/valdiag/Makefile support/scripts/Makefile support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in Makefile Makefile.common:Makefile.common.in"
+
+@@ -9324,10 +9222,6 @@ ac_config_files="$ac_config_files bin/sdranlib"
+
+ ac_config_files="$ac_config_files bin/sdobjcopy"
-if test $OPT_DISABLE_NON_FREE = 0; then
- ac_config_files="$ac_config_files device/non-free/include/Makefile"
@@ -295,23 +299,23 @@ index 232d98e..3eeb17c 100755
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
-@@ -10037,7 +9931,6 @@ do
+@@ -10068,7 +9962,6 @@ do
"device/lib/pdk15-stack-auto/Makefile") CONFIG_FILES="$CONFIG_FILES device/lib/pdk15-stack-auto/Makefile" ;;
"sdas/aspdk16/Makefile") CONFIG_FILES="$CONFIG_FILES sdas/aspdk16/Makefile" ;;
"device/lib/Makefile") CONFIG_FILES="$CONFIG_FILES device/lib/Makefile" ;;
- "device/non-free/lib/Makefile") CONFIG_FILES="$CONFIG_FILES device/non-free/lib/Makefile" ;;
"main.mk") CONFIG_FILES="$CONFIG_FILES main.mk:main_in.mk" ;;
+ "bin/Makefile") CONFIG_FILES="$CONFIG_FILES bin/Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "device/include/Makefile") CONFIG_FILES="$CONFIG_FILES device/include/Makefile" ;;
-@@ -10049,7 +9942,6 @@ do
- "support/regression/ports/host/spec.mk") CONFIG_FILES="$CONFIG_FILES support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "Makefile.common") CONFIG_FILES="$CONFIG_FILES Makefile.common:Makefile.common.in" ;;
+@@ -10088,7 +9981,6 @@ do
+ "bin/sdnm") CONFIG_FILES="$CONFIG_FILES bin/sdnm" ;;
+ "bin/sdranlib") CONFIG_FILES="$CONFIG_FILES bin/sdranlib" ;;
+ "bin/sdobjcopy") CONFIG_FILES="$CONFIG_FILES bin/sdobjcopy" ;;
- "device/non-free/include/Makefile") CONFIG_FILES="$CONFIG_FILES device/non-free/include/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
-@@ -10856,54 +10748,6 @@ esac
+@@ -10905,54 +10797,6 @@ esac
incPath3=`echo "$incPath3" | sed 's,\\\\\\\\,\\\\,g'`
@@ -366,7 +370,7 @@ index 232d98e..3eeb17c 100755
libPath1=`echo "/${prefix2data_dir}/${norm_lib_dir_suffix}" | sed 's,/\./,/,g'`
case ":$libPath1:" in
-@@ -10953,54 +10797,6 @@ esac
+@@ -11002,54 +10846,6 @@ esac
libPath3=`echo "$libPath3" | sed 's,\\\\\\\\,\\\\,g'`
@@ -421,7 +425,7 @@ index 232d98e..3eeb17c 100755
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result:
sdcc ${VERSION} is now configured for
-@@ -11041,7 +10837,6 @@ sdcc ${VERSION} is now configured for
+@@ -11091,7 +10887,6 @@ sdcc ${VERSION} is now configured for
mos6502 ${enable_mos6502_port}
mos65c02 ${enable_mos65c02_port}
@@ -429,7 +433,7 @@ index 232d98e..3eeb17c 100755
Disable packihx: ${OPT_DISABLE_PACKIHX}
Disable ucsim: ${OPT_DISABLE_UCSIM}
Disable device lib: ${OPT_DISABLE_DEVICE_LIB}
-@@ -11056,9 +10851,6 @@ sdcc ${VERSION} is now configured for
+@@ -11106,9 +10901,6 @@ sdcc ${VERSION} is now configured for
include/library files: ${datadir}/${inclib_dir_suffix}
include files: ${datadir}/${include_dir_suffix}
library files: ${datadir}/${lib_dir_suffix}
@@ -439,7 +443,7 @@ index 232d98e..3eeb17c 100755
documentation: ${docdir}
prefix: ${prefix}
-@@ -11070,15 +10862,9 @@ sdcc ${VERSION} is now configured for
+@@ -11120,15 +10912,9 @@ sdcc ${VERSION} is now configured for
include files: ${incPath1}
path(argv[0])${incPath2}
${incPath3}
@@ -455,7 +459,7 @@ index 232d98e..3eeb17c 100755
" >&5
printf "%s\n" "
sdcc ${VERSION} is now configured for
-@@ -11120,7 +10906,6 @@ sdcc ${VERSION} is now configured for
+@@ -11171,7 +10957,6 @@ sdcc ${VERSION} is now configured for
mos6502 ${enable_mos6502_port}
mos65c02 ${enable_mos65c02_port}
@@ -463,7 +467,7 @@ index 232d98e..3eeb17c 100755
Disable packihx: ${OPT_DISABLE_PACKIHX}
Disable ucsim: ${OPT_DISABLE_UCSIM}
Disable device lib: ${OPT_DISABLE_DEVICE_LIB}
-@@ -11135,9 +10920,6 @@ sdcc ${VERSION} is now configured for
+@@ -11186,9 +10971,6 @@ sdcc ${VERSION} is now configured for
include/library files: ${datadir}/${inclib_dir_suffix}
include files: ${datadir}/${include_dir_suffix}
library files: ${datadir}/${lib_dir_suffix}
@@ -473,7 +477,7 @@ index 232d98e..3eeb17c 100755
documentation: ${docdir}
prefix: ${prefix}
-@@ -11149,15 +10931,9 @@ sdcc ${VERSION} is now configured for
+@@ -11200,15 +10982,9 @@ sdcc ${VERSION} is now configured for
include files: ${incPath1}
path(argv[0])${incPath2}
${incPath3}
@@ -490,10 +494,10 @@ index 232d98e..3eeb17c 100755
# End of configure/configure.in
diff --git a/configure.ac b/configure.ac
-index cc5309e..5eb4326 100644
+index ead779c..a3578fe 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -562,19 +562,6 @@ if test "${include_dir_suffix}" = ""; then
+@@ -564,19 +564,6 @@ if test "${include_dir_suffix}" = ""; then
include_dir_suffix="${inclib_dir_suffix}/include"
fi
@@ -513,7 +517,7 @@ index cc5309e..5eb4326 100644
# lib_dir_suffix:
# *nix default: "sdcc/lib"
AC_ARG_VAR([lib_dir_suffix], [appended to datadir to define SDCC's library root directory])
-@@ -582,13 +569,6 @@ if test "${lib_dir_suffix}" = ""; then
+@@ -584,13 +571,6 @@ if test "${lib_dir_suffix}" = ""; then
lib_dir_suffix="${inclib_dir_suffix}/lib"
fi
@@ -527,7 +531,7 @@ index cc5309e..5eb4326 100644
# docdir:
# *nix default: "${datadir}/sdcc/doc"
AC_ARG_VAR([docdir], [documentation installation directory])
-@@ -629,19 +609,11 @@ norm_inc_dir_suffix=${include_dir_suffix}
+@@ -631,19 +611,11 @@ norm_inc_dir_suffix=${include_dir_suffix}
adl_NORMALIZE_PATH([norm_inc_dir_suffix], [$sdccconf_h_dir_separator])
AC_DEFINE_UNQUOTED(INCLUDE_DIR_SUFFIX,
DIR_SEPARATOR_STRING "${norm_inc_dir_suffix}", [XXX])
@@ -547,7 +551,7 @@ index cc5309e..5eb4326 100644
# relative paths
adl_COMPUTE_RELATIVE_PATHS([expanded_bindir:expanded_datadir:bin2data_dir])
-@@ -819,7 +791,6 @@ AC_DO_DISABLER(packihx, PACKIHX, [Disables building packihx])
+@@ -836,7 +808,6 @@ AC_DO_DISABLER(packihx, PACKIHX, [Disables building packihx])
AC_DO_DISABLER(sdcpp, SDCPP, [Disables building sdcpp])
AC_DO_DISABLER(sdcdb, SDCDB, [Disables building sdcdb])
AC_DO_DISABLER(sdbinutils, SDBINUTILS, [Disables configuring and building of sdbinutils])
@@ -555,7 +559,7 @@ index cc5309e..5eb4326 100644
AC_DO_ENABLER(doc, DOC, [Enables building the documentation])
AC_CHECK_PROG([LYX], [lyx], [lyx], [:])
-@@ -897,16 +868,10 @@ if test $OPT_DISABLE_PIC14 = 0; then
+@@ -915,16 +886,10 @@ if test $OPT_DISABLE_PIC14 = 0; then
AC_CONFIG_FILES(src/pic14/Makefile)
test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/lib/pic14)
fi
@@ -572,25 +576,25 @@ index cc5309e..5eb4326 100644
if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R2KA = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_SM83 = 0 || test $OPT_DISABLE_TLCS90 = 0 || test $OPT_DISABLE_EZ80_Z80 = 0 || test $OPT_DISABLE_Z80N = 0; then
AC_CONFIG_FILES([src/z80/Makefile])
-@@ -970,7 +935,6 @@ fi
+@@ -988,7 +953,6 @@ fi
test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_FILES([device/lib/Makefile])
-test $OPT_DISABLE_DEVICE_LIB = 0 && test $OPT_DISABLE_NON_FREE = 0 && AC_CONFIG_FILES([device/non-free/lib/Makefile])
AC_CONFIG_FILES([main.mk:main_in.mk
- src/Makefile
-@@ -984,9 +948,6 @@ support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in
- Makefile
- Makefile.common:Makefile.common.in
- ])
+ bin/Makefile
+@@ -1010,9 +974,6 @@ AC_CONFIG_FILES([bin/sdar], [chmod +x bin/sdar])
+ AC_CONFIG_FILES([bin/sdnm], [chmod +x bin/sdnm])
+ AC_CONFIG_FILES([bin/sdranlib], [chmod +x bin/sdranlib])
+ AC_CONFIG_FILES([bin/sdobjcopy], [chmod +x bin/sdobjcopy])
-if test $OPT_DISABLE_NON_FREE = 0; then
- AC_CONFIG_FILES([device/non-free/include/Makefile])
-fi
AC_OUTPUT
# I found no better place
-@@ -1004,16 +965,10 @@ adl_NORMALIZE_PATH_MSG(/${prefix2bin_dir}, [binPath], [
+@@ -1030,16 +991,10 @@ adl_NORMALIZE_PATH_MSG(/${prefix2bin_dir}, [binPath], [
adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_inc_dir_suffix}, [incPath1], [$dirch])
adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_inc_dir_suffix}, [incPath2], [$dirch])
adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_inc_dir_suffix}, [incPath3], [$dirch])
@@ -607,7 +611,7 @@ index cc5309e..5eb4326 100644
AC_MSG_RESULT([
sdcc ${VERSION} is now configured for
-@@ -1055,7 +1010,6 @@ sdcc ${VERSION} is now configured for
+@@ -1082,7 +1037,6 @@ sdcc ${VERSION} is now configured for
mos6502 ${enable_mos6502_port}
mos65c02 ${enable_mos65c02_port}
@@ -615,7 +619,7 @@ index cc5309e..5eb4326 100644
Disable packihx: ${OPT_DISABLE_PACKIHX}
Disable ucsim: ${OPT_DISABLE_UCSIM}
Disable device lib: ${OPT_DISABLE_DEVICE_LIB}
-@@ -1070,9 +1024,6 @@ sdcc ${VERSION} is now configured for
+@@ -1097,9 +1051,6 @@ sdcc ${VERSION} is now configured for
include/library files: ${datadir}/${inclib_dir_suffix}
include files: ${datadir}/${include_dir_suffix}
library files: ${datadir}/${lib_dir_suffix}
@@ -625,7 +629,7 @@ index cc5309e..5eb4326 100644
documentation: ${docdir}
prefix: ${prefix}
-@@ -1084,14 +1035,8 @@ sdcc ${VERSION} is now configured for
+@@ -1111,14 +1062,8 @@ sdcc ${VERSION} is now configured for
include files: ${incPath1}
path(argv[[0]])${incPath2}
${incPath3}
@@ -671,10 +675,10 @@ index 019fe0f..da3389d 100644
############################################################
# Common actions
diff --git a/device/lib/pic14/Makefile.in b/device/lib/pic14/Makefile.in
-index 039c0cb..90510fd 100644
+index 2c1a5d1..5a2082c 100644
--- a/device/lib/pic14/Makefile.in
+++ b/device/lib/pic14/Makefile.in
-@@ -335,13 +335,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR))
+@@ -338,13 +338,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR))
# C preprocessor flags
############################################################
AM_CPPFLAGS = -I. -I$(top_srcdir) -I$(DEVICE_TOP_DIR)/include/pic14 \
@@ -689,7 +693,7 @@ index 039c0cb..90510fd 100644
--i-code-in-asm --fverbose-asm --std-c11 $(am__append_4)
# extra flags for enhanced cores
-@@ -366,8 +365,7 @@ AM_CFLAGS_EOX = -p$(EARCH) $(SDCC_FLAGS) $(SDCC_FLAGS_ENHANCED) $(SDCC_FLAGS_NOO
+@@ -369,8 +368,7 @@ AM_CFLAGS_EOX = -p$(EARCH) $(SDCC_FLAGS) $(SDCC_FLAGS_ENHANCED) $(SDCC_FLAGS_NOO
############################################################
# Assembler flags
############################################################
@@ -700,10 +704,10 @@ index 039c0cb..90510fd 100644
# extensions generated by the build process
CLEAN_EXTENSIONS = .asm .lst .sym .d .p .g .v .adb
diff --git a/device/lib/pic14/libc/Makefile.in b/device/lib/pic14/libc/Makefile.in
-index 1283cbb..70e82d0 100644
+index ccf2032..8b2ba48 100644
--- a/device/lib/pic14/libc/Makefile.in
+++ b/device/lib/pic14/libc/Makefile.in
-@@ -878,13 +878,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR))
+@@ -880,13 +880,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR))
# C preprocessor flags
############################################################
AM_CPPFLAGS = -I. -I$(top_srcdir) -I$(DEVICE_TOP_DIR)/include/pic14 \
@@ -718,7 +722,7 @@ index 1283cbb..70e82d0 100644
--i-code-in-asm --fverbose-asm --std-c11 $(am__append_9)
# extr
This message was truncated. Download the full message here.
Christopher Baines wrote 1 years ago
Re: [bug#66259] [PATCH 0/4] gnu: sdcc: Update to 4.3.0; other improvements.
(name . Simon South)(address . simon@simonsouth.net)
87ttrc7z3l.fsf@cbaines.net
Simon South <simon@simonsouth.net> writes:

Toggle quote (16 lines)
> This patch series updates SDCC, a C compiler suite that targets a number of
> 8-bit microcontroller families, to version 4.3.0.
>
> It also tries to improve the package by
>
> - Updating and gently reformatting its definition; and
>
> - Embedding a reference to the MCS-51 simulator from the ucsim package, which
> is invoked by SDCC's debugger and should therefore always be present
> alongside it. (Previously the debugger, sdcdb, would always fail with an
> error message if the user hadn't also installed μCsim.)
>
> I've tested these changes on AArch64 and x86-64 and all appears well. (I
> _have_ seen some intermittent build failures on x86-64, but I'm assuming for
> the moment this is something specific to my machine.)

Thanks Simon, these patches look great. I've pushed them to master as
ee5de9cdf2e9d914638fcac8b5f25bdddfb73dfc.

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmUX845fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xdkew//eP7OROeFFr+lUoa/9stoO8xEvgE4hLe0
nsduAZ63YuEn9rinI8YOuRwb6maosiBhVqBZDd8OQh3BSuiy06vHABvwWHgXgDuo
KlR+TA5F6boGPFdRFVsGbIiiB5fOkkGLmPNE5vWQ82tofKCAQSwq0OCWCQ5L04XK
NzBCInYBxx6Mn/AfZZrL9mnal3HwbO9jdEQt0q+ktZEMzImjBPb6H7X5NlBdnt5g
KGumktd6ELkSZlAHAnU/aZIke2addsPiHZ6+JBIx7X4qe2eGUN0n5IzLx/Ciwe9L
HqeklBKerWRXX429AXFFS9HavuCN7OOTWUfLr4W59yvX0rE0IunpVR7YRCuB7YN9
/89FXn4cpVV6/kOVXjXWyBDmP/ux8CPDfTG44N2UpH/pu/pkKkCJU9piiBQ5/tFp
Hb+LAPM1GCtFYmmzoWTQaCb/k2iokKruOdt+n34k6xrVb7zLeawQg3XHBbvJ9tfc
8+Dbl9HF+LO9ljkZQlaUTDNFCpwejbDXE8A1DLl7/GEpKOYoG6nH5U21QW+qdnSR
usTls905w7AsjNDCzDhJqveEBwEmMdnFn55TPw2oKkIhaIRVq4eQYm9FbFf8A/G/
ll/PqWOiq4/7d1cuQMD0lFrRWc55jyiTBfmGky9hsQFMjYwh4QcbVTzt1yfMnCMX
3+AgxQu0yvQ=
=9yf6
-----END PGP SIGNATURE-----

?
Your comment

This issue is archived.

To comment on this conversation send an email to 66259@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 66259
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help