diff options
author | Simon South <simon@simonsouth.net> | 2020-11-01 11:56:41 -0500 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2020-11-10 22:32:13 +0100 |
commit | 6f4c9ff6ec0fad24b6bd433a351613a3990aa561 (patch) | |
tree | 918d3a20655e28b4b7af5a0626f0d95d0a11245d /gnu | |
parent | 4f4377f6dcdec45d8dd8aaa7b8c63454212abc7f (diff) | |
download | guix-6f4c9ff6ec0fad24b6bd433a351613a3990aa561.tar.gz |
gnu: sdcc: Remove non-free code.
* gnu/packages/sdcc.scm (sdcc)[source]: Add snippet to remove bundled non-free source code. Add patch to disable use of non-free code in build scripts and compiler and update documentation to match. * gnu/packages/patches/sdcc-disable-non-free-code.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Marius Bakke <marius@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/patches/sdcc-disable-non-free-code.patch | 3643 | ||||
-rw-r--r-- | gnu/packages/sdcc.scm | 10 |
3 files changed, 3653 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 996b6c7afa..288784b427 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1428,6 +1428,7 @@ dist_patch_DATA = \ %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \ %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \ %D%/packages/patches/samba-fix-fcntl-hint-detection.patch \ + %D%/packages/patches/sdcc-disable-non-free-code.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ %D%/packages/patches/sdl-pango-fillrect_crash.patch \ diff --git a/gnu/packages/patches/sdcc-disable-non-free-code.patch b/gnu/packages/patches/sdcc-disable-non-free-code.patch new file mode 100644 index 0000000000..545f0cbd69 --- /dev/null +++ b/gnu/packages/patches/sdcc-disable-non-free-code.patch @@ -0,0 +1,3643 @@ +This patch disables the use of non-free code distributed with SDCC by +removing + + - The "--disable-non-free" option to "configure" and the build logic + it controls; + + - All references to the "device/non-free" source directory and the + corresponding "non-free" installation directory; and + + - The "--use-non-free" and "--no-warn-non-free" compiler options and + references to them in build scripts and compiler output. + +It also updates SDCC's documentation to reflect these changes and to +remove instructions that encourage the use of SDCC with non-free +software. + +diff --git a/Makefile.common.in b/Makefile.common.in +index 4c75cfa..9fa306d 100644 +--- a/Makefile.common.in ++++ b/Makefile.common.in +@@ -65,7 +65,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@ +-OPT_DISABLE_NON_FREE = @OPT_DISABLE_NON_FREE@ + + SLIB = $(top_builddir)/support/util + +diff --git a/Makefile.in b/Makefile.in +index aac442e..dd73e40 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -82,9 +82,6 @@ endif + ifeq ($(OPT_DISABLE_DEVICE_LIB), 0) + TARGETS += sdcc-device-lib + PKGS += device/lib +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +-PKGS += device/non-free/lib +-endif + endif + + ifeq ($(OPT_DISABLE_PACKIHX), 0) +@@ -105,9 +102,6 @@ endif + TARGETS += sdcc-libs sdcc-cc sdcc-device-inc sdcc-as sdcc-ld sdcc-scripts + + PKGS += $(SDCC_LIBS) src device/include +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +-PKGS += device/non-free/include +-endif + PKGS += $(SDCC_AS) sdas/linksrc $(SDCC_LIBRARIAN) $(SDCC_SCRIPTS) + + PORTS = $(shell cat ports.build) +@@ -156,21 +150,12 @@ sdcc-sdbinutils: + + sdcc-device-inc: + $(MAKE) -C device/include +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +- $(MAKE) -C device/non-free/include +-endif + + sdcc-device-lib: sdcc-cc sdcc-as sdcc-ld $(SDCC_BINUTILS) + $(MAKE) -C device/lib +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +- $(MAKE) -C device/non-free/lib +-endif + + sdcc-device-tini: + $(MAKE) -C device/include +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +- $(MAKE) -C device/non-free/include +-endif + $(MAKE) -C device/lib model-ds390 model-ds400 + + # doc depends on latex and latex2html +diff --git a/configure b/configure +index 42b1c7d..00ecb51 100755 +--- a/configure ++++ b/configure +@@ -632,7 +632,6 @@ LATEX + LATEX2HTML + LYX + OPT_ENABLE_DOC +-OPT_DISABLE_NON_FREE + OPT_DISABLE_SDBINUTILS + OPT_DISABLE_SDCDB + OPT_DISABLE_SDCPP +@@ -654,10 +653,7 @@ OPT_DISABLE_R2K + OPT_DISABLE_Z180 + OPT_DISABLE_Z80 + OPT_DISABLE_MCS51 +-non_free_lib_dir_suffix + lib_dir_suffix +-non_free_include_dir_suffix +-non_free_inclib_dir_suffix + include_dir_suffix + inclib_dir_suffix + LIB_TYPE +@@ -771,7 +767,6 @@ enable_packihx + enable_sdcpp + enable_sdcdb + enable_sdbinutils +-enable_non_free + enable_doc + enable_libgc + ' +@@ -792,10 +787,7 @@ sdccconf_h_dir_separator + LIB_TYPE + inclib_dir_suffix + include_dir_suffix +-non_free_inclib_dir_suffix +-non_free_include_dir_suffix + lib_dir_suffix +-non_free_lib_dir_suffix + docdir' + ac_subdirs_all='support/cpp + support/packihx +@@ -803,9 +795,7 @@ sim/ucsim + debugger/mcs51 + support/sdbinutils + device/lib/pic14 +-device/non-free/lib/pic14 +-device/lib/pic16 +-device/non-free/lib/pic16' ++device/lib/pic16' + + # Initialize some variables set by options. + ac_init_help= +@@ -1452,7 +1442,6 @@ Optional Features: + --disable-sdcpp Disables building sdcpp + --disable-sdcdb Disables building sdcdb + --disable-sdbinutils Disables configuring and building of sdbinutils +- --disable-non-free Disables non-free runtime library parts + --enable-doc Enables building the documentation + --enable-libgc Use the Bohem memory allocator. Lower runtime + footprint. +@@ -1481,16 +1470,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 +- non_free_inclib_dir_suffix +- appended to datadir to define SDCC's non-free include/lib +- directory +- non_free_include_dir_suffix +- appended to datadir to define SDCC's non-free include directory + lib_dir_suffix + appended to datadir to define SDCC's library root directory +- non_free_lib_dir_suffix +- appended to datadir to define SDCC's non-free library root +- directory + docdir documentation installation directory + + Use these variables to override the choices made by `configure' or to help +@@ -7236,19 +7217,6 @@ if test "${include_dir_suffix}" = ""; then + include_dir_suffix="${inclib_dir_suffix}/include" + fi + +- +-if test "${non_free_inclib_dir_suffix}" = ""; then +- non_free_inclib_dir_suffix="sdcc/non-free" +-fi +- +-# non_free_include_dir_suffix: +-# *nix default: "sdcc/non-free/include" +- +- +-if test "${non_free_include_dir_suffix}" = ""; then +- non_free_include_dir_suffix="${non_free_inclib_dir_suffix}/include" +-fi +- + # lib_dir_suffix: + # *nix default: "sdcc/lib" + +@@ -7256,13 +7224,6 @@ if test "${lib_dir_suffix}" = ""; then + lib_dir_suffix="${inclib_dir_suffix}/lib" + fi + +-# non_free_lib_dir_suffix: +-# *nix default: "sdcc/non-free/lib" +- +-if test "${non_free_lib_dir_suffix}" = ""; then +- non_free_lib_dir_suffix="${non_free_inclib_dir_suffix}/lib" +-fi +- + # docdir: + # *nix default: "${datadir}/sdcc/doc" + +@@ -7429,24 +7390,6 @@ cat >>confdefs.h <<_ACEOF + #define INCLUDE_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_inc_dir_suffix}" + _ACEOF + +-norm_non_free_inc_dir_suffix=${non_free_include_dir_suffix} +-case ":$norm_non_free_inc_dir_suffix:" in +- ::) norm_non_free_inc_dir_suffix='.' ;; +- :*[\\/]:) norm_non_free_inc_dir_suffix=`echo "$norm_non_free_inc_dir_suffix" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $sdccconf_h_dir_separator in +- +- *\\*) norm_non_free_inc_dir_suffix=`echo "$norm_non_free_inc_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) norm_non_free_inc_dir_suffix=`echo "$norm_non_free_inc_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +- +-cat >>confdefs.h <<_ACEOF +-#define NON_FREE_INCLUDE_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_non_free_inc_dir_suffix}" +-_ACEOF +- + + norm_lib_dir_suffix=${lib_dir_suffix} + case ":$norm_lib_dir_suffix:" in +@@ -7466,24 +7409,6 @@ cat >>confdefs.h <<_ACEOF + #define LIB_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_lib_dir_suffix}" + _ACEOF + +-norm_non_free_lib_dir_suffix=${non_free_lib_dir_suffix} +-case ":$norm_non_free_lib_dir_suffix:" in +- ::) norm_non_free_lib_dir_suffix='.' ;; +- :*[\\/]:) norm_non_free_lib_dir_suffix=`echo "$norm_non_free_lib_dir_suffix" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $sdccconf_h_dir_separator in +- +- *\\*) norm_non_free_lib_dir_suffix=`echo "$norm_non_free_lib_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) norm_non_free_lib_dir_suffix=`echo "$norm_non_free_lib_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +- +-cat >>confdefs.h <<_ACEOF +-#define NON_FREE_LIB_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_non_free_lib_dir_suffix}" +-_ACEOF +- + + # relative paths + for _lcl_i in expanded_bindir:expanded_datadir:bin2data_dir; do +@@ -8411,28 +8336,6 @@ _ACEOF + + + +- # Check whether --enable-non-free was given. +-if test "${enable_non_free+set}" = set; then : +- enableval=$enable_non_free; +-fi +- +- +- arg1=`echo non-free | sed s/-/_/` +- +- if test "`eval echo \\$enable_$arg1`" = "no"; then +- OPT_DISABLE_NON_FREE=1 +- else +- OPT_DISABLE_NON_FREE=0 +- fi +- +- +-cat >>confdefs.h <<_ACEOF +-#define OPT_DISABLE_NON_FREE $OPT_DISABLE_NON_FREE +-_ACEOF +- +- +- +- + + # Check whether --enable-doc was given. + if test "${enable_doc+set}" = set; then : +@@ -8827,20 +8730,12 @@ if test $OPT_DISABLE_PIC14 = 0; then + + test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/lib/pic14" + +-fi +-if test $OPT_DISABLE_PIC14 = 0 && test $OPT_DISABLE_NON_FREE = 0; then +- test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/non-free/lib/pic14" +- + fi + if test $OPT_DISABLE_PIC16 = 0; then + ac_config_files="$ac_config_files src/pic16/Makefile" + + test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/lib/pic16" + +-fi +-if test $OPT_DISABLE_PIC16 = 0 && test $OPT_DISABLE_NON_FREE = 0; then +- test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/non-free/lib/pic16" +- + fi + + if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0; then +@@ -8885,15 +8780,9 @@ 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/librarian/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" + +-if test $OPT_DISABLE_NON_FREE = 0; then +- ac_config_files="$ac_config_files device/non-free/include/Makefile" +- +-fi + 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 +@@ -9621,7 +9510,6 @@ do + "sdas/asstm8/Makefile") CONFIG_FILES="$CONFIG_FILES sdas/asstm8/Makefile" ;; + "device/lib/stm8/Makefile") CONFIG_FILES="$CONFIG_FILES device/lib/stm8/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" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "device/include/Makefile") CONFIG_FILES="$CONFIG_FILES device/include/Makefile" ;; +@@ -9634,7 +9522,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" ;; +- "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 +@@ -10443,54 +10330,6 @@ esac + incPath3=`echo "$incPath3" | sed 's,\\\\\\\\,\\\\,g'` + + +-nonFreeIncPath1=`echo "/${prefix2data_dir}/${norm_non_free_inc_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeIncPath1:" in +- ::) nonFreeIncPath1='.' ;; +- :*[\\/]:) nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,\\\\\\\\,\\\\,g'` +- +- +-nonFreeIncPath2=`echo "/${bin2data_dir}/${norm_non_free_inc_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeIncPath2:" in +- ::) nonFreeIncPath2='.' ;; +- :*[\\/]:) nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,\\\\\\\\,\\\\,g'` +- +- +-nonFreeIncPath3=`echo "${expanded_datadir}/${norm_non_free_inc_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeIncPath3:" in +- ::) nonFreeIncPath3='.' ;; +- :*[\\/]:) nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,\\\\\\\\,\\\\,g'` +- +- + + libPath1=`echo "/${prefix2data_dir}/${norm_lib_dir_suffix}" | sed 's,/\./,/,g'` + case ":$libPath1:" in +@@ -10540,54 +10379,6 @@ esac + libPath3=`echo "$libPath3" | sed 's,\\\\\\\\,\\\\,g'` + + +-nonFreeLibPath1=`echo "/${prefix2data_dir}/${norm_non_free_lib_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeLibPath1:" in +- ::) nonFreeLibPath1='.' ;; +- :*[\\/]:) nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,\\\\\\\\,\\\\,g'` +- +- +-nonFreeLibPath2=`echo "/${bin2data_dir}/${norm_non_free_lib_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeLibPath2:" in +- ::) nonFreeLibPath2='.' ;; +- :*[\\/]:) nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,\\\\\\\\,\\\\,g'` +- +- +-nonFreeLibPath3=`echo "${expanded_datadir}/${norm_non_free_lib_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeLibPath3:" in +- ::) nonFreeLibPath3='.' ;; +- :*[\\/]:) nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,\\\\\\\\,\\\\,g'` +- +- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: + sdcc ${VERSION} is now configured for + +@@ -10618,7 +10409,6 @@ sdcc ${VERSION} is now configured for + tlcs90 ${enable_tlcs90_port} + stm8 ${enable_stm8_port} + +- Disable non-free lib: ${OPT_DISABLE_NON_FREE} + Disable packihx: ${OPT_DISABLE_PACKIHX} + Disable ucsim: ${OPT_DISABLE_UCSIM} + Disable device lib: ${OPT_DISABLE_DEVICE_LIB} +@@ -10633,9 +10423,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} +- non-free files: ${datadir}/${non_free_inclib_dir_suffix} +- non-free include files: ${datadir}/${non_free_include_dir_suffix} +- non-free library files: ${datadir}/${non_free_lib_dir_suffix} + documentation: ${docdir} + + prefix: ${prefix} +@@ -10647,15 +10434,9 @@ sdcc ${VERSION} is now configured for + include files: ${incPath1} + path(argv[0])${incPath2} + ${incPath3} +- ${nonFreeIncPath1} +- path(argv[0])${nonFreeIncPath2} +- ${nonFreeIncPath3} + library files: \$SDCC_HOME${libPath1}${dirch}<model> + path(argv[0])${libPath2}${dirch}<model> + ${libPath3}${dirch}<model> +- \$SDCC_HOME${nonFreeLibPath1}${dirch}<model> +- path(argv[0])${nonFreeLibPath2}${dirch}<model> +- ${nonFreeLibPath3}${dirch}<model> + " >&5 + $as_echo " + sdcc ${VERSION} is now configured for +@@ -10687,7 +10468,6 @@ sdcc ${VERSION} is now configured for + tlcs90 ${enable_tlcs90_port} + stm8 ${enable_stm8_port} + +- Disable non-free lib: ${OPT_DISABLE_NON_FREE} + Disable packihx: ${OPT_DISABLE_PACKIHX} + Disable ucsim: ${OPT_DISABLE_UCSIM} + Disable device lib: ${OPT_DISABLE_DEVICE_LIB} +@@ -10702,9 +10482,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} +- non-free files: ${datadir}/${non_free_inclib_dir_suffix} +- non-free include files: ${datadir}/${non_free_include_dir_suffix} +- non-free library files: ${datadir}/${non_free_lib_dir_suffix} + documentation: ${docdir} + + prefix: ${prefix} +@@ -10716,14 +10493,8 @@ sdcc ${VERSION} is now configured for + include files: ${incPath1} + path(argv[0])${incPath2} + ${incPath3} +- ${nonFreeIncPath1} +- path(argv[0])${nonFreeIncPath2} +- ${nonFreeIncPath3} + library files: \$SDCC_HOME${libPath1}${dirch}<model> + path(argv[0])${libPath2}${dirch}<model> + ${libPath3}${dirch}<model> +- \$SDCC_HOME${nonFreeLibPath1}${dirch}<model> +- path(argv[0])${nonFreeLibPath2}${dirch}<model> +- ${nonFreeLibPath3}${dirch}<model> + " >&6; } + # End of configure/configure.in +diff --git a/configure.ac b/configure.ac +index 3a16e42..bfba129 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -588,19 +588,6 @@ if test "${include_dir_suffix}" = ""; then + include_dir_suffix="${inclib_dir_suffix}/include" + fi + +-AC_ARG_VAR([non_free_inclib_dir_suffix], [appended to datadir to define SDCC's non-free include/lib directory]) +-if test "${non_free_inclib_dir_suffix}" = ""; then +- non_free_inclib_dir_suffix="sdcc/non-free" +-fi +- +-# non_free_include_dir_suffix: +-# *nix default: "sdcc/non-free/include" +- +-AC_ARG_VAR([non_free_include_dir_suffix], [appended to datadir to define SDCC's non-free include directory]) +-if test "${non_free_include_dir_suffix}" = ""; then +- non_free_include_dir_suffix="${non_free_inclib_dir_suffix}/include" +-fi +- + # lib_dir_suffix: + # *nix default: "sdcc/lib" + AC_ARG_VAR([lib_dir_suffix], [appended to datadir to define SDCC's library root directory]) +@@ -608,13 +595,6 @@ if test "${lib_dir_suffix}" = ""; then + lib_dir_suffix="${inclib_dir_suffix}/lib" + fi + +-# non_free_lib_dir_suffix: +-# *nix default: "sdcc/non-free/lib" +-AC_ARG_VAR([non_free_lib_dir_suffix], [appended to datadir to define SDCC's non-free library root directory]) +-if test "${non_free_lib_dir_suffix}" = ""; then +- non_free_lib_dir_suffix="${non_free_inclib_dir_suffix}/lib" +-fi +- + # docdir: + # *nix default: "${datadir}/sdcc/doc" + AC_ARG_VAR([docdir], [documentation installation directory]) +@@ -655,19 +635,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]) +-norm_non_free_inc_dir_suffix=${non_free_include_dir_suffix} +-adl_NORMALIZE_PATH([norm_non_free_inc_dir_suffix], [$sdccconf_h_dir_separator]) +-AC_DEFINE_UNQUOTED(NON_FREE_INCLUDE_DIR_SUFFIX, +- DIR_SEPARATOR_STRING "${norm_non_free_inc_dir_suffix}", [XXX]) + + norm_lib_dir_suffix=${lib_dir_suffix} + adl_NORMALIZE_PATH([norm_lib_dir_suffix], [$sdccconf_h_dir_separator]) + AC_DEFINE_UNQUOTED(LIB_DIR_SUFFIX, + DIR_SEPARATOR_STRING "${norm_lib_dir_suffix}", [XXX]) +-norm_non_free_lib_dir_suffix=${non_free_lib_dir_suffix} +-adl_NORMALIZE_PATH([norm_non_free_lib_dir_suffix], [$sdccconf_h_dir_separator]) +-AC_DEFINE_UNQUOTED(NON_FREE_LIB_DIR_SUFFIX, +- DIR_SEPARATOR_STRING "${norm_non_free_lib_dir_suffix}", [XXX]) + + # relative paths + adl_COMPUTE_RELATIVE_PATHS([expanded_bindir:expanded_datadir:bin2data_dir]) +@@ -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]) +-AC_DO_DISABLER(non-free, NON_FREE, [Disables non-free runtime library parts]) + + AC_DO_ENABLER(doc, DOC, [Enables building the documentation]) + AC_CHECK_PROG([LYX], [lyx], [lyx], [:]) +@@ -907,16 +878,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 +-if test $OPT_DISABLE_PIC14 = 0 && test $OPT_DISABLE_NON_FREE = 0; then +- test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/non-free/lib/pic14) +-fi + if test $OPT_DISABLE_PIC16 = 0; then + AC_CONFIG_FILES(src/pic16/Makefile) + test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/lib/pic16) + fi +-if test $OPT_DISABLE_PIC16 = 0 && test $OPT_DISABLE_NON_FREE = 0; then +- test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/non-free/lib/pic16) +-fi + + if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0; then + AC_CONFIG_FILES([src/z80/Makefile]) +@@ -951,7 +916,6 @@ if test $OPT_DISABLE_STM8 = 0; then + 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 +@@ -966,9 +930,6 @@ support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in + Makefile + Makefile.common:Makefile.common.in + ]) +-if test $OPT_DISABLE_NON_FREE = 0; then +- AC_CONFIG_FILES([device/non-free/include/Makefile]) +-fi + AC_OUTPUT + + # I found no better place +@@ -986,16 +947,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]) +-adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_non_free_inc_dir_suffix}, [nonFreeIncPath1], [$dirch]) +-adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_non_free_inc_dir_suffix}, [nonFreeIncPath2], [$dirch]) +-adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_non_free_inc_dir_suffix}, [nonFreeIncPath3], [$dirch]) + + adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_lib_dir_suffix}, [libPath1], [$dirch]) + adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_lib_dir_suffix}, [libPath2], [$dirch]) + adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_lib_dir_suffix}, [libPath3], [$dirch]) +-adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_non_free_lib_dir_suffix}, [nonFreeLibPath1], [$dirch]) +-adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_non_free_lib_dir_suffix}, [nonFreeLibPath2], [$dirch]) +-adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_non_free_lib_dir_suffix}, [nonFreeLibPath3], [$dirch]) + + AC_MSG_RESULT([ + sdcc ${VERSION} is now configured for +@@ -1027,7 +982,6 @@ sdcc ${VERSION} is now configured for + tlcs90 ${enable_tlcs90_port} + stm8 ${enable_stm8_port} + +- Disable non-free lib: ${OPT_DISABLE_NON_FREE} + Disable packihx: ${OPT_DISABLE_PACKIHX} + Disable ucsim: ${OPT_DISABLE_UCSIM} + Disable device lib: ${OPT_DISABLE_DEVICE_LIB} +@@ -1042,9 +996,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} +- non-free files: ${datadir}/${non_free_inclib_dir_suffix} +- non-free include files: ${datadir}/${non_free_include_dir_suffix} +- non-free library files: ${datadir}/${non_free_lib_dir_suffix} + documentation: ${docdir} + + prefix: ${prefix} +@@ -1056,14 +1007,8 @@ sdcc ${VERSION} is now configured for + include files: ${incPath1} + path(argv[[0]])${incPath2} + ${incPath3} +- ${nonFreeIncPath1} +- path(argv[[0]])${nonFreeIncPath2} +- ${nonFreeIncPath3} + library files: \$SDCC_HOME${libPath1}${dirch}<model> + path(argv[[0]])${libPath2}${dirch}<model> + ${libPath3}${dirch}<model> +- \$SDCC_HOME${nonFreeLibPath1}${dirch}<model> +- path(argv[[0]])${nonFreeLibPath2}${dirch}<model> +- ${nonFreeLibPath3}${dirch}<model> + ]) + # End of configure/configure.in +diff --git a/device/lib/pic14/Makefile.common b/device/lib/pic14/Makefile.common +index e456838..8179255 100644 +--- a/device/lib/pic14/Makefile.common ++++ b/device/lib/pic14/Makefile.common +@@ -3,11 +3,10 @@ EARCH ?= @EARCH@ + + AM_CPPFLAGS = + AM_CPPFLAGS += -I. +-AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic14 -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic14 + + AM_CFLAGS = + AM_CFLAGS += -mpic14 -p$(ARCH) +-AM_CFLAGS += --no-warn-non-free + AM_CFLAGS += --std-c99 + #AM_CFLAGS += --asm="$(CCAS)" + ##AM_CFLAGS += -Wa,-q +@@ -29,7 +28,7 @@ AM_CFLAGS += --i-code-in-asm + + AM_CCASFLAGS = + AM_CCASFLAGS += -p$(ARCH) +-AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic14 -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic14 + AM_CCASFLAGS += -I$(srcdir) + + clean-local: +diff --git a/device/lib/pic14/Makefile.in b/device/lib/pic14/Makefile.in +index f1c9940..de47dbe 100644 +--- a/device/lib/pic14/Makefile.in ++++ b/device/lib/pic14/Makefile.in +@@ -297,15 +297,13 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + SUBDIRS = libm libsdcc/regular $(am__append_1) $(am__append_2) +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -316,8 +314,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + DISTCLEANFILES = a.cod a.hex ./.checkdevices/* + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive +diff --git a/device/lib/pic14/libm/Makefile.in b/device/lib/pic14/libm/Makefile.in +index fd9fd2e..4a7d250 100644 +--- a/device/lib/pic14/libm/Makefile.in ++++ b/device/lib/pic14/libm/Makefile.in +@@ -299,15 +299,13 @@ libm_a_SOURCES = acosf.c asincosf.c asinf.c atan2f.c atanf.c ceilf.c \ + libm_a_CFLAGS = -p$(ARCH) $(AM_CFLAGS) + libme_a_SOURCES = $(libm_a_SOURCES) + libme_a_CFLAGS = -p$(EARCH) $(AM_CFLAGS) $(am__append_2) +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -318,8 +316,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in b/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in +index e946da7..bced941 100644 +--- a/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in ++++ b/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in +@@ -311,15 +311,13 @@ libsdcce_a_SOURCES = ../_divschar.c ../_divsint.c ../_divslong.c \ + _gptrput3.S _gptrput4.S macros.inc + libsdcce_a_CFLAGS = -p$(EARCH) $(AM_CFLAGS) + CLEANFILES = ../*.asm ../*.lst +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -330,8 +328,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic14/libsdcc/enhanced/Makefile.in b/device/lib/pic14/libsdcc/enhanced/Makefile.in +index 7fe1e25..854f87f 100644 +--- a/device/lib/pic14/libsdcc/enhanced/Makefile.in ++++ b/device/lib/pic14/libsdcc/enhanced/Makefile.in +@@ -311,15 +311,13 @@ libsdcce_a_SOURCES = ../_divschar.c ../_divsint.c ../_divslong.c \ + _gptrput3.S _gptrput4.S macros.inc + libsdcce_a_CFLAGS = -p$(EARCH) $(AM_CFLAGS) + CLEANFILES = ../*.asm ../*.lst +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -330,8 +328,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic14/libsdcc/regular/Makefile.in b/device/lib/pic14/libsdcc/regular/Makefile.in +index 29a5924..8c60a49 100644 +--- a/device/lib/pic14/libsdcc/regular/Makefile.in ++++ b/device/lib/pic14/libsdcc/regular/Makefile.in +@@ -304,15 +304,13 @@ libsdcc_a_SOURCES = ../_divschar.c ../_divsint.c ../_divslong.c \ + _gptrput3.S _gptrput4.S macros.inc shadowregs.c + libsdcc_a_CFLAGS = -p$(ARCH) $(AM_CFLAGS) + CLEANFILES = ../*.asm ../*.lst +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -323,8 +321,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/Makefile.common b/device/lib/pic16/Makefile.common +index 73200d7..e298bf5 100644 +--- a/device/lib/pic16/Makefile.common ++++ b/device/lib/pic16/Makefile.common +@@ -1,11 +1,10 @@ + AM_CPPFLAGS = + AM_CPPFLAGS += -I. +-AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic16 -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic16 + + AM_CFLAGS = + AM_CFLAGS += --std-c99 + AM_CFLAGS += --asm="$(CCAS)" +-AM_CFLAGS += --no-warn-non-free + ##AM_CFLAGS += -Wa,-q + + AM_CFLAGS += --fomit-frame-pointer +@@ -31,7 +30,7 @@ AM_CFLAGS += --i-code-in-asm + AM_CFLAGS += @USE_FLOATS@ + + AM_CCASFLAGS = +-AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic16 -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic16 + AM_CCASFLAGS += -I$(srcdir) + + clean-local: +diff --git a/device/lib/pic16/Makefile.in b/device/lib/pic16/Makefile.in +index b17f151..31ecfa4 100644 +--- a/device/lib/pic16/Makefile.in ++++ b/device/lib/pic16/Makefile.in +@@ -87,10 +87,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ +@@ -295,8 +292,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + SUBDIRS = debug libc libio libm libsdcc startup +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -310,11 +306,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + DISTCLEANFILES = a.cod a.hex ./.checkdevices/* pics.supported + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive +diff --git a/device/lib/pic16/configure b/device/lib/pic16/configure +index d8760a0..eaea231 100755 +--- a/device/lib/pic16/configure ++++ b/device/lib/pic16/configure +@@ -3657,7 +3657,6 @@ fi + + + +-LIBDEV="${srcdir}/../../non-free/lib/pic16/libdev" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking devices supported by gputils" >&5 + $as_echo_n "checking devices supported by gputils... " >&6; } + GOOD_PICS=""; +diff --git a/device/lib/pic16/configure.ac b/device/lib/pic16/configure.ac +index 3966c11..cdbffc7 100644 +--- a/device/lib/pic16/configure.ac ++++ b/device/lib/pic16/configure.ac +@@ -68,10 +68,6 @@ AC_SUBST(OBJEXT, [o]) + _AM_DEPENDENCIES(CC) + _AM_DEPENDENCIES(CCAS) + +-LIBDEV="${srcdir}/../../non-free/lib/pic16/libdev" +-m4_include([../../non-free/lib/pic16/supported-devices.ac]) +-m4_include([../../non-free/lib/pic16/processors.ac]) +- + # Checks for libraries. + + # Checks for header files. +diff --git a/device/lib/pic16/debug/Makefile.in b/device/lib/pic16/debug/Makefile.in +index bc77b98..724a443 100644 +--- a/device/lib/pic16/debug/Makefile.in ++++ b/device/lib/pic16/debug/Makefile.in +@@ -88,10 +88,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = debug + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -290,8 +287,7 @@ top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + lib_LIBRARIES = libdebug.a + libdebug_a_SOURCES = gstack/gstack.c +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -305,11 +301,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/libc/Makefile.in b/device/lib/pic16/libc/Makefile.in +index 6d2699f..5546319 100644 +--- a/device/lib/pic16/libc/Makefile.in ++++ b/device/lib/pic16/libc/Makefile.in +@@ -88,10 +88,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = libc + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -344,8 +341,7 @@ libc18f_a_SOURCES = ctype/iscntrl.c ctype/isdigit.c ctype/isgraph.c \ + string/strpbrk.c string/strrchr.c string/strspn.c \ + string/strstr.c string/strtok.c string/strupr.c \ + utils/cnvfrac.S utils/cnvint.S utils/cvtdec.S +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -359,11 +355,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/libio/Makefile.in b/device/lib/pic16/libio/Makefile.in +index 0d7c731..64b56c8 100644 +--- a/device/lib/pic16/libio/Makefile.in ++++ b/device/lib/pic16/libio/Makefile.in +@@ -481,10 +481,7 @@ POST_UNINSTALL = : + @ENABLE_18LF8723_TRUE@am__append_393 = libio18lf8723.a + subdir = libio + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -9826,8 +9823,7 @@ libio18lf8722_a_SOURCES = dummy.c i2c/i2cack.c i2c/i2cclose.c \ + libio18lf8722_a_CFLAGS = -p18lf8722 $(AM_CFLAGS) + libio18lf8723_a_SOURCES = dummy.c + libio18lf8723_a_CFLAGS = -p18lf8723 $(AM_CFLAGS) +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -9841,11 +9837,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/libio/mkmk.sh b/device/lib/pic16/libio/mkmk.sh +index 211604e..e8896bf 100755 +--- a/device/lib/pic16/libio/mkmk.sh ++++ b/device/lib/pic16/libio/mkmk.sh +@@ -17,40 +17,6 @@ lib_LIBRARIES = + + HEREDOC + +-for f in "../../../non-free/lib/pic16/libdev/pic1"*.c; do +- p="${f##*/pic}"; +- p="${p%.c}"; +- P=$(echo "$p" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ); +- echo "Generating for device >>${p}<<" >&2; +- cat <<HERE +-if ENABLE_$P +-lib_LIBRARIES += libio${p}.a +-endif ENABLE_$P +-libio${p}_a_SOURCES = dummy.c +-HERE +- sed -e 's/\s*\(#.*\)\{0,1\}$//' adc.ignore | grep -x "$p" > /dev/null 2>&1 && { echo "No adc." >&2 ; } || cat <<HERE +-libio${p}_a_SOURCES += adc/adcbusy.c adc/adcclose.c adc/adcconv.c +-libio${p}_a_SOURCES += adc/adcopen.c adc/adcread.c adc/adcsetch.c +-HERE +- sed -e 's/\s*\(#.*\)\{0,1\}$//' i2c.ignore | grep -x "$p" > /dev/null 2>&1 && { echo "No i2c." >&2 ; } || cat <<HERE +-libio${p}_a_SOURCES += i2c/i2cack.c i2c/i2cclose.c i2c/i2cdrdy.c +-libio${p}_a_SOURCES += i2c/i2cidle.c i2c/i2cnack.c i2c/i2copen.c +-libio${p}_a_SOURCES += i2c/i2creadc.c i2c/i2creads.c i2c/i2crestart.c +-libio${p}_a_SOURCES += i2c/i2cstart.c i2c/i2cstop.c i2c/i2cwritec.c +-libio${p}_a_SOURCES += i2c/i2cwrites.c +-HERE +- sed -e 's/\s*\(#.*\)\{0,1\}$//' usart.ignore | grep -x "$p" > /dev/null 2>&1 && { echo "No usart." >&2 ; } || cat <<HERE +-libio${p}_a_SOURCES += usart/ubaud.c usart/ubusy.c usart/uclose.c +-libio${p}_a_SOURCES += usart/udrdy.c usart/ugetc.c usart/ugets.c +-libio${p}_a_SOURCES += usart/uopen.c usart/uputc.c usart/uputs.c +-libio${p}_a_SOURCES += usart/usartd.c +-HERE +- cat <<HERE +-libio${p}_a_CFLAGS = -p${p} \$(AM_CFLAGS) +- +-HERE +-done +- + cat <<HEREDOC + include \$(top_srcdir)/Makefile.common + +diff --git a/device/lib/pic16/libm/Makefile.in b/device/lib/pic16/libm/Makefile.in +index 7f90e89..94cd985 100644 +--- a/device/lib/pic16/libm/Makefile.in ++++ b/device/lib/pic16/libm/Makefile.in +@@ -88,10 +88,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = libm + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -299,8 +296,7 @@ libm18f_a_SOURCES = acosf.c asincosf.c asinf.c atan2f.c atanf.c \ + frexpf.c isinf.c isnan.c ldexpf.c log10f.c logf.c modff.c \ + powf.c sincosf.c sincoshf.c sinf.c sinhf.c sqrtf.c tancotf.c \ + tanf.c tanhf.c +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -314,11 +310,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/libsdcc/Makefile.in b/device/lib/pic16/libsdcc/Makefile.in +index e58bad0..b318b70 100644 +--- a/device/lib/pic16/libsdcc/Makefile.in ++++ b/device/lib/pic16/libsdcc/Makefile.in +@@ -88,10 +88,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = libsdcc + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -364,8 +361,7 @@ libsdcc_a_SOURCES = char/divschar.c char/divuchar.c char/modschar.c \ + int/modsint.c int/moduint.c int/mulint.c long/divslong.c \ + long/divulong.c long/modslong.c long/modulong.c long/mullong.c \ + lregs/lrrest.c lregs/lrst.c stack/stack.S +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -379,11 +375,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/startup/Makefile.in b/device/lib/pic16/startup/Makefile.in +index 3c44c6f..274acde 100644 +--- a/device/lib/pic16/startup/Makefile.in ++++ b/device/lib/pic16/startup/Makefile.in +@@ -89,10 +89,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = startup + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -306,8 +303,7 @@ libcrt0iz_a_SOURCES = crt0iz.c + # Force installation of .o files into $libdir + crtdir = $(libdir) + crt_DATA = crt0.o crt0i.o crt0iz.o +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -321,11 +317,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/doc/INSTALL.txt b/doc/INSTALL.txt +index 7d83ef7..5bd71d3 100644 +--- a/doc/INSTALL.txt ++++ b/doc/INSTALL.txt +@@ -18,9 +18,7 @@ To install: + + This will install sdcc binaries into: /usr/local/bin/ + header files into: /usr/local/share/sdcc/include/ +-non-free header files into: /usr/local/share/sdcc/non-free/include/ + library files into: /usr/local/share/sdcc/lib/ +-non-free library files into: /usr/local/share/sdcc/non-free/lib/ + and documentation into: /usr/local/share/sdcc/doc/ + + You can test the install by entering: +@@ -44,9 +42,7 @@ To install: + + By default this will install sdcc binaries into: C:\Program Files\SDCC\bin\ + header files into: C:\Program Files\SDCC\include\ +-non-free header files into: C:\Program Files\SDCC\non-free\include\ + library files into: C:\Program Files\SDCC\lib\ +-non-free library files into: C:\Program Files\SDCC\non-free\lib\ + and documentation into: C:\Program Files\SDCC\doc\ + + You can test the install by opening a DOS box and entering: +@@ -75,9 +71,7 @@ To install: + + This will install sdcc binaries into: /Developer/sdcc/bin/ + header files into: /Developer/sdcc/share/sdcc/include/ +-non-free header files into: /Developer/sdcc/share/sdcc/non-free/include/ + library files into: /Developer/sdcc/share/sdcc/lib/ +-non-free library files into: /Developer/sdcc/share/sdcc/non-free/lib/ + and documentation into: /Developer/sdcc/share/sdcc/doc/ + + You can test the install by entering: +diff --git a/doc/README.txt b/doc/README.txt +index 86ed809..69e16e2 100644 +--- a/doc/README.txt ++++ b/doc/README.txt +@@ -35,10 +35,9 @@ Exception are pic device libraries and header files which are derived + from Microchip header (.inc) and linker script (.lkr) files. Microchip + requires that "The header files should state that they are only to be + used with authentic Microchip devices" which makes them incompatible +-with the GPL. Pic device libraries and header files are located at +-non-free/lib and non-free/include directories respectively. Sdcc should +-be run with the --use-non-free command line option in order to include +-non-free header files and libraries. ++with the GPL. These non-free libraries and header files (and the build ++and run-time options that enable their use) are omitted in the SDCC ++package distributed with GNU Guix. + + See: + +diff --git a/doc/sdccman.lyx b/doc/sdccman.lyx +index 41e8db0..9a971fa 100644 +--- a/doc/sdccman.lyx ++++ b/doc/sdccman.lyx +@@ -1083,54 +1083,9 @@ Exception are pic device libraries and header files which are derived from + Microchip requires that "The header files should state that they are only + to be used with authentic Microchip devices" which makes them incompatible + with the GPL. +- Pic device libraries and header files are located at non-free/lib and non-free/ +-include directories respectively. +- SDCC should be run with the +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +-- +-\series default +-use-non-free +-\series bold +- +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\series default +- command line option in order to include non-free header files and libraries. +- ++ These non-free libraries and header files (and the build and run-time options ++ that enable their use) are omitted in the SDCC package distributed with ++ GNU Guix. + \end_layout + + \begin_layout Itemize +@@ -2890,18 +2845,6 @@ include_dir_suffix environment variable, see table below + \end_inset + + +-\begin_inset space ~ +-\end_inset +- +-non_free_include_dir_suffix environment variable, see table below +-\end_layout +- +-\begin_layout Labeling +-\labelwidthstring 00.00.0000 +-\begin_inset space ~ +-\end_inset +- +- + \begin_inset space ~ + \end_inset + +@@ -2914,22 +2857,6 @@ lib_dir_suffix environment variable, see table below + \end_inset + + +-\begin_inset space ~ +-\end_inset +- +- +-\begin_inset space ~ +-\end_inset +- +-non_free_lib_dir_suffix environment variable, see table below +-\end_layout +- +-\begin_layout Labeling +-\labelwidthstring 00.00.0000 +-\begin_inset space ~ +-\end_inset +- +- + \begin_inset space ~ + \end_inset + +@@ -3410,7 +3337,7 @@ These defaults are: + \begin_layout Standard + \align center + \begin_inset Tabular +-<lyxtabular version="3" rows="11" columns="3"> ++<lyxtabular version="3" rows="9" columns="3"> + <features tabularvalignment="middle"> + <column alignment="block" valignment="top" width="0in"> + <column alignment="block" valignment="top" width="0in"> +@@ -3694,68 +3621,6 @@ sdcc/include + include + \end_layout + +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-NON_FREE_INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-sdcc/non-free/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-non-free/include +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-LIB_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-sdcc/lib +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-lib +-\end_layout +- + \end_inset + </cell> + </row> +@@ -3766,7 +3631,7 @@ lib + \begin_layout Plain Layout + + \emph on +-NON_FREE_LIB_DIR_SUFFIX ++LIB_DIR_SUFFIX + \end_layout + + \end_inset +@@ -3775,7 +3640,7 @@ NON_FREE_LIB_DIR_SUFFIX + \begin_inset Text + + \begin_layout Plain Layout +-sdcc/non-free/lib ++sdcc/lib + \end_layout + + \end_inset +@@ -3784,7 +3649,7 @@ sdcc/non-free/lib + \begin_inset Text + + \begin_layout Plain Layout +-non-free/lib ++lib + \end_layout + + \end_inset +@@ -4183,20 +4048,6 @@ include + \end_inset + + +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-non_free_include_dir_suffix= +-\begin_inset Quotes srd +-\end_inset +- +-non-free/include +-\begin_inset Quotes srd +-\end_inset +- +- + \backslash + + \begin_inset Newline newline +@@ -4211,20 +4062,6 @@ lib + \end_inset + + +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-non_free_lib_dir_suffix= +-\begin_inset Quotes srd +-\end_inset +- +-non-free/lib +-\begin_inset Quotes srd +-\end_inset +- +- + \backslash + + \begin_inset Newline newline +@@ -4405,20 +4242,6 @@ include + \end_inset + + +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-non_free_include_dir_suffix= +-\begin_inset Quotes srd +-\end_inset +- +-non-free/include +-\begin_inset Quotes srd +-\end_inset +- +- + \backslash + + \begin_inset Newline newline +@@ -4433,20 +4256,6 @@ lib + \end_inset + + +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-non_free_lib_dir_suffix= +-\begin_inset Quotes srd +-\end_inset +- +-non-free/lib +-\begin_inset Quotes srd +-\end_inset +- +- + \backslash + + \begin_inset Newline newline +@@ -4543,7 +4352,7 @@ Install paths + \begin_layout Standard + \align center + \begin_inset Tabular +-<lyxtabular version="3" rows="7" columns="4"> ++<lyxtabular version="3" rows="5" columns="4"> + <features tabularvalignment="middle"> + <column alignment="left" valignment="top"> + <column alignment="left" valignment="top" width="4.5cm"> +@@ -4699,64 +4508,6 @@ include + <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> + \begin_inset Text + +-\begin_layout Plain Layout +-Non-free include files +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/non-free/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\backslash +-sdcc +-\backslash +-non-free +-\backslash +-include +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- + \begin_layout Plain Layout + Library file** + \end_layout +@@ -4806,64 +4557,6 @@ sdcc + lib + \end_layout + +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Library file** +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/non-free/lib +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\backslash +-sdcc +-\backslash +-non-free +-\backslash +-lib +-\end_layout +- + \end_inset + </cell> + </row> +@@ -5186,7 +4879,7 @@ $PATH + \begin_layout Standard + \align center + \begin_inset Tabular +-<lyxtabular version="3" rows="9" columns="4"> ++<lyxtabular version="3" rows="6" columns="4"> + <features tabularvalignment="middle"> + <column alignment="block" valignment="top" width="0.5cm"> + <column alignment="block" valignment="top" width="4.8cm"> +@@ -5464,203 +5157,13 @@ include + </cell> + </row> + <row> +-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none"> ++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout + 5 + \end_layout + +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-(not on Win32) +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-6 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$PREFIX2DATA_DIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME/share/ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/non-free/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME +-\backslash +-non-free +-\backslash +-include +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-7 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0])/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$BIN2DATADIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0])/../ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/non-free/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0]) +-\backslash +-.. +-\backslash +-non-free +-\backslash +-include +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-8 +-\end_layout +- + \end_inset + </cell> + <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +@@ -5676,21 +5179,13 @@ $DATADIR/ + \end_inset + + +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- + \emph on + $INCLUDE_DIR_SUFFIX + \end_layout + + \end_inset + </cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> ++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -5698,7 +5193,7 @@ $INCLUDE_DIR_SUFFIX + \begin_inset Newline newline + \end_inset + +-sdcc/non-free/include ++sdcc/include + \end_layout + + \end_inset +@@ -5796,7 +5291,7 @@ model + \begin_layout Standard + \align center + \begin_inset Tabular +-<lyxtabular version="3" rows="10" columns="4"> ++<lyxtabular version="3" rows="6" columns="4"> + <features tabularvalignment="middle"> + <column alignment="block" valignment="top" width="0.5cm"> + <column alignment="block" valignment="top" width="4.5cm"> +@@ -6076,7 +5571,7 @@ lib + </cell> + </row> + <row> +-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none"> ++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -6085,7 +5580,7 @@ lib + + \end_inset + </cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> ++<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -6116,7 +5611,7 @@ $LIB_DIR_SUFFIX/ + + \end_inset + </cell> +-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none"> ++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -6131,7 +5626,7 @@ lib/ + + \end_inset + </cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> ++<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -6154,308 +5649,6 @@ lib + <model> + \end_layout + +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-6 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/sdcc/ +-\begin_inset Newline newline +-\end_inset +- +-lib/ +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-(not on Win32) +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-7 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$PREFIX2DATA_DIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME/share/sdcc/ +-\begin_inset Newline newline +-\end_inset +- +-non-free/lib/ +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-lib +-\backslash +-non-free +-\emph on +- +-\backslash +-<model> +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-8 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0])/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$BIN2DATADIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0])/../sdcc/ +-\begin_inset Newline newline +-\end_inset +- +-non-free/lib/ +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0]) +-\backslash +-.. +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-lib +-\backslash +-non-free +-\emph on +- +-\backslash +-<model> +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-9 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/sdcc/ +-\begin_inset Newline newline +-\end_inset +- +-non-free/lib/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-(not on Win32) +-\end_layout +- + \end_inset + </cell> + </row> +@@ -8723,14 +7916,6 @@ In <installdir>/share/sdcc/include + the include files + \end_layout + +-\begin_layout Standard +-In <installdir>/share/sdcc/non-free/include +-\end_layout +- +-\begin_layout Itemize +-the non-free include files +-\end_layout +- + \begin_layout Standard + In <installdir>/share/sdcc/lib + \end_layout +@@ -8739,14 +7924,6 @@ In <installdir>/share/sdcc/lib + the src and target subdirectories with the precompiled relocatables. + \end_layout + +-\begin_layout Standard +-In <installdir>/share/sdcc/non-free/lib +-\end_layout +- +-\begin_layout Itemize +-the src and target subdirectories with the non-free precompiled relocatables. +-\end_layout +- + \begin_layout Standard + In <installdir>/share/sdcc/doc + \end_layout +@@ -15589,66 +14766,6 @@ splint + myprogram.c + \end_layout + +-\begin_layout Labeling +-\labelwidthstring 00.00.0000 +- +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\series default +- +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\begin_inset CommandInset label +-LatexCommand label +-name "lyx:--use-non-free" +- +-\end_inset +- +- Search / include non-free licensed libraries and header files, located +- under the non-free directory - see section +-\begin_inset CommandInset ref +-LatexCommand ref +-reference "subsec:Search-Paths" +- +-\end_inset +- +- +-\end_layout +- + \begin_layout Subsection + Linker Options + \begin_inset Index idx +@@ -44653,66 +43770,9 @@ http://sourceforge.net/projects/gputils + Pic device specific header and c source files are automatically generated + from MPLAB include files, which are published by Microchip with a special + requirement that they are only to be used with authentic Microchip devices. +- This reqirement prevents to publish generated header and c source files +- under the GPL compatible license, so they are located in non-free directory +- (see section +-\begin_inset CommandInset ref +-LatexCommand ref +-reference "subsec:Search-Paths" +- +-\end_inset +- +-). +- In order to include them in include and library search paths, the +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\series default +- command line option should be defined. +-\begin_inset Newline newline +-\end_inset +- +- +-\begin_inset Newline newline +-\end_inset +- +-NOTE: the compiled code, which use non-free pic device specific libraries, +- is not GPL compatible! ++ As this restriction is incompatible with the goal of software freedom, ++ header files and libraries generated from these files are not included ++ in the SDCC package distributed with Guix. + \begin_inset Newline newline + \end_inset + +@@ -44766,7 +43826,7 @@ Makefile + \begin_inset space ~ + \end_inset + +-sdcc -V --use-non-free -mpic14 -p16f877 -c $< ++sdcc -V -mpic14 -p16f877 -c $< + \begin_inset Newline newline + \end_inset + +@@ -44860,7 +43920,7 @@ Makefile + \begin_inset space ~ + \end_inset + +-sdcc -S -V --use-non-free -mpic14 -p16f877 $< ++sdcc -S -V -mpic14 -p16f877 $< + \begin_inset Newline newline + \end_inset + +@@ -45142,47 +44202,6 @@ status collapsed + \begin_layout Plain Layout + + +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-PIC14!Options!- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- make non-free device headers and libraries available in the compiler's +- search paths (implicit -I and -L options) +-\end_layout +- +-\begin_layout Description +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- + \backslash + / + \end_layout +@@ -46055,47 +45074,6 @@ status collapsed + -all-callee-saves + \end_layout + +-\begin_layout Description +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-PIC16!Options!- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- Make non-free device headers and libraries available in the compiler's +- search paths (implicit -I and -L options). +-\end_layout +- + \begin_layout Subsection + Port Specific Options + \begin_inset Index idx +@@ -47372,188 +46350,6 @@ Linker + \end_inset + + +-\end_layout +- +-\begin_layout Standard +-If the +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\series default +- command line option is specified, non-free directories are searched: +-\begin_inset Newline newline +-\end_inset +- +- +-\begin_inset Separator latexpar +-\end_inset +- +- +-\end_layout +- +-\begin_layout Standard +-\align center +-\begin_inset Tabular +-<lyxtabular version="3" rows="3" columns="4"> +-<features tabularvalignment="middle"> +-<column alignment="center" valignment="top"> +-<column alignment="center" valignment="top"> +-<column alignment="center" valignment="top"> +-<column alignment="center" valignment="top"> +-<row> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Directory +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Description +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Target +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Command prefix +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-PREFIX/sdcc/non-free/include/pic16 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-PIC16 specific non-free headers +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Compiler +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +--I +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-PREFIX/sdcc/non-free/lib/pic16 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-PIC16 specific non-free libraries +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Linker +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +--L +-\end_layout +- +-\end_inset +-</cell> +-</row> +-</lyxtabular> +- +-\end_inset +- +- + \end_layout + + \begin_layout Subsection +@@ -48249,66 +47045,9 @@ name "subsec:PIC16_Header-Files-and-Libraries" + Pic device specific header and c source files are automatically generated + from MPLAB include files, which are published by Microchip with a special + requirement that they are only to be used with authentic Microchip devices. +- This requirement prevents to publish generated header and c source files +- under the GPL compatible license, so they are located in the non-free directory +- (see section +-\begin_inset CommandInset ref +-LatexCommand ref +-reference "subsec:Search-Paths" +- +-\end_inset +- +-). +- In order to include them in include and library search paths, the +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\series default +- command line option should be defined. +-\begin_inset Newline newline +-\end_inset +- +- +-\begin_inset Newline newline +-\end_inset +- +-NOTE: the compiled code, which use non-free pic device specific libraries, +- is not GPL compatible! ++ As this restriction is incompatible with the goal of software freedom, ++ header files and libraries generated from these files are not included ++ in the SDCC package distributed with Guix. + \end_layout + + \begin_layout Subsection +@@ -48554,195 +47293,6 @@ vfprintf.c + should also work, but is untested. + \end_layout + +-\begin_layout Subsection +-Adding New Devices to the Port +-\end_layout +- +-\begin_layout Standard +-Adding support for a new 16 +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-, +-\end_layout +- +-\end_inset +- +-bit PIC MCU requires the following steps: +-\end_layout +- +-\begin_layout Enumerate +-Create picDEVICE.c and picDEVICE.h from pDEVICE.inc using +-\begin_inset Newline newline +-\end_inset +- +- +-\family typewriter +-perl /path/to/sdcc/support/scripts/inc2h-pic16.pl +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-/path/to/gputils/header/pDEVICE.inc +-\end_layout +- +-\begin_layout Enumerate +- +-\family typewriter +-mv picDEVICE.h /path/to/sdcc/device/non-free/include/pic16 +-\end_layout +- +-\begin_layout Enumerate +- +-\family typewriter +-mv picDEVICE.c /path/to/sdcc/device/non-free/lib/pic16/libdev +-\end_layout +- +-\begin_layout Enumerate +-Either +-\begin_inset Separator latexpar +-\end_inset +- +- +-\end_layout +- +-\begin_deeper +-\begin_layout Enumerate +-add the new device to +-\family typewriter +-/path/to/sdcc/device/lib/pic16/libio/*.ignore +-\family default +- to suppress building any of the I/O libraries for the new device +-\begin_inset Foot +-status collapsed +- +-\begin_layout Plain Layout +-In fact, the +-\family typewriter +-.ignore +-\family default +- files are only used when auto-generating +-\family typewriter +-Makefile.am +-\family default +- using the +-\family typewriter +-.../libio/mkmk.sh +-\family default +- script. +-\end_layout +- +-\end_inset +- +-, or +-\end_layout +- +-\begin_layout Enumerate +-add the device (family) to +-\family typewriter +-/path/to/sdcc/support/scripts/pic18fam-h-gen.pl +-\family default +- to assign I/O styles, run the +-\family typewriter +-pic18fam-h-gen.pl +-\family default +- script to generate +-\family typewriter +-pic18fam.h.gen +-\family default +-, replace your existing +-\family typewriter +-pic18fam.h +-\family default +- with the generated file, and (if required) implement new I/O styles in +- +-\family typewriter +-/path/to/sdcc/device/include/pic16/{adc,i2c,usart}.h +-\family default +- and +-\family typewriter +-/path/to/sdcc/device/lib/pic16/libio/*/*. +-\end_layout +- +-\end_deeper +-\begin_layout Enumerate +-Edit +-\family typewriter +-/path/to/sdcc/device/include/pic16/pic18fregs.h +-\family default +- +-\begin_inset Newline newline +-\end_inset +- +-The file format is self-explanatory, just add +-\begin_inset Newline newline +-\end_inset +- +- +-\family typewriter +-#elif defined(picDEVICE) +-\begin_inset Newline newline +-\end_inset +- +-# +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +- +-\backslash +- +-\end_layout +- +-\end_inset +- +-include <picDEVICE.h> +-\family default +- +-\begin_inset Newline newline +-\end_inset +- +-at the right place (keep the file sorted, please). +-\end_layout +- +-\begin_layout Enumerate +-Edit +-\family typewriter +-/path/to/sdcc/device/include/pic16devices.txt +-\begin_inset Newline newline +-\end_inset +- +- +-\family default +-Copy and modify an existing entry or create a new one and insert it at the +- correct place (keep the file sorted, please). +-\end_layout +- +-\begin_layout Enumerate +- +-\family typewriter +-( cd /path/to/sdcc/device/non-free/lib/pic16 && sh update.sh ) +-\end_layout +- +-\begin_layout Enumerate +-Recompile the pic16 libraries as described in +-\begin_inset CommandInset ref +-LatexCommand ref +-reference "subsec:pic16Libraries" +- +-\end_inset +- +- or just configure and build sdcc again from scratch (recommended). +-\end_layout +- + \begin_layout Subsection + Memory Models + \end_layout +@@ -73525,6 +72075,12 @@ This document was initially written by Sandeep Dutta and updated by SDCC + developers. + \end_layout + ++\begin_layout Standard ++It has been modified from the original to reflect the removal of non-free ++ components and related functionality in the SDCC package distributed with ++ GNU Guix. ++\end_layout ++ + \begin_layout Standard + All product names mentioned herein may be trademarks + \begin_inset Index idx +diff --git a/sdcc.spec b/sdcc.spec +index 9f1eeff..3686228 100644 +--- a/sdcc.spec ++++ b/sdcc.spec +@@ -83,15 +83,15 @@ rm -rf $RPM_BUILD_ROOT + %files common + %defattr(-,root,root) + /usr/share/sdcc/include +-/usr/share/sdcc/non-free/include + /usr/share/sdcc/lib +-/usr/share/sdcc/non-free/lib + + %files doc + %defattr(-,root,root) + %doc %{_defaultdocdir} + + %changelog ++* Sat Oct 31 2020 - simon AT simonsouth.net ++- removed non-free include and lib directories + * Wed Feb 07 2018 - pkk AT spth.de + - version updated to 3.7.0 + * Sun May 29 2016 - sourceforge.brock AT dse.nl +diff --git a/sdcc_vc.h.in b/sdcc_vc.h.in +index 06d8cca..736c325 100644 +--- a/sdcc_vc.h.in ++++ b/sdcc_vc.h.in +@@ -23,8 +23,6 @@ + + #define INCLUDE_DIR_SUFFIX "\\include" + #define LIB_DIR_SUFFIX "\\lib" +-#define NON_FREE_INCLUDE_DIR_SUFFIX "\\non-free\\include" +-#define NON_FREE_LIB_DIR_SUFFIX "\\non-free\\lib" + + #define BIN2DATA_DIR "\\.." + #define PREFIX2BIN_DIR "\\bin" +diff --git a/sdccconf_in.h b/sdccconf_in.h +index 29619bd..dadf310 100644 +--- a/sdccconf_in.h ++++ b/sdccconf_in.h +@@ -106,12 +106,6 @@ + /* XXX */ + #undef LIB_DIR_SUFFIX + +-/* XXX */ +-#undef NON_FREE_INCLUDE_DIR_SUFFIX +- +-/* XXX */ +-#undef NON_FREE_LIB_DIR_SUFFIX +- + /* Define to 1 to disable the AVR port */ + #undef OPT_DISABLE_AVR + +@@ -133,9 +127,6 @@ + /* XXX */ + #undef OPT_DISABLE_MCS51 + +-/* XXX */ +-#undef OPT_DISABLE_NON_FREE +- + /* XXX */ + #undef OPT_DISABLE_PACKIHX + +diff --git a/src/SDCCglobl.h b/src/SDCCglobl.h +index 2ce040b..d72d3b8 100644 +--- a/src/SDCCglobl.h ++++ b/src/SDCCglobl.h +@@ -315,7 +315,6 @@ struct options + int no_pack_iram; /* MCS51/DS390 - Deprecated: Tells the linker not to pack variables in internal ram */ + int acall_ajmp; /* MCS51 - Use acall/ajmp instead of lcall/ljmp */ + int no_ret_without_call; /* MCS51 - Do not use ret independent of acall/lcall */ +- int use_non_free; /* Search / include non-free licensed libraries and header files */ + /* starting address of the segments */ + int xstack_loc; /* initial location of external stack */ + int stack_loc; /* initial value of internal stack pointer */ +diff --git a/src/SDCCmain.c b/src/SDCCmain.c +index a523164..a279d3d 100644 +--- a/src/SDCCmain.c ++++ b/src/SDCCmain.c +@@ -144,7 +144,6 @@ char buffer[PATH_MAX * 2]; + #define OPTION_DATA_SEG "--dataseg" + #define OPTION_DOLLARS_IN_IDENT "--fdollars-in-identifiers" + #define OPTION_SIGNED_CHAR "--fsigned-char" +-#define OPTION_USE_NON_FREE "--use-non-free" + #define OPTION_PEEP_RETURN "--peep-return" + #define OPTION_NO_PEEP_RETURN "--no-peep-return" + #define OPTION_NO_OPTSDCC_IN_ASM "--no-optsdcc-in-asm" +@@ -192,7 +191,6 @@ static const OPTION optionsTable[] = { + {0, OPTION_STD_SDCC11, NULL, "Use ISO C11 standard with SDCC extensions (default)"}, + {0, OPTION_DOLLARS_IN_IDENT, &options.dollars_in_ident, "Permit '$' as an identifier character"}, + {0, OPTION_SIGNED_CHAR, &options.signed_char, "Make \"char\" signed by default"}, +- {0, OPTION_USE_NON_FREE, &options.use_non_free, "Search / include non-free licensed libraries and header files"}, + + {0, NULL, NULL, "Code generation options"}, + {'m', NULL, NULL, "Set the port to use e.g. -mz80."}, +@@ -2045,10 +2043,6 @@ preProcess (char **envp) + else + addSet (&preArgvSet, Safe_strdup ("-D__SDCC_CHAR_UNSIGNED")); + +- /* set the macro for non-free */ +- if (options.use_non_free) +- addSet (&preArgvSet, Safe_strdup ("-D__SDCC_USE_NON_FREE")); +- + /* set the macro for large model */ + switch (options.model) + { +@@ -2262,12 +2256,6 @@ setIncludePath (void) + * 6. - $SDCC_HOME/PREFIX2DATA_DIR/INCLUDE_DIR_SUFFIX + * 7. - path(argv[0])/BIN2DATA_DIR/INCLUDE_DIR_SUFFIX + * 8. - DATADIR/INCLUDE_DIR_SUFFIX (only on *nix) +- * 9. - $SDCC_HOME/PREFIX2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX/target +- * 10. - path(argv[0])/BIN2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX/target +- * 11. - DATADIR/NON_FREE_INCLUDE_DIR_SUFFIX/target (only on *nix) +- * 12. - $SDCC_HOME/PREFIX2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX +- * 13. - path(argv[0])/BIN2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX +- * 14. - DATADIR/NON_FREE_INCLUDE_DIR_SUFFIX (only on *nix) + */ + + if (!options.nostdinc) +@@ -2280,17 +2268,6 @@ setIncludePath (void) + includeDirsSet = processStrSet (includeDirsSet, NULL, port->target, NULL); + mergeSets (&includeDirsSet, tempSet); + +- if (options.use_non_free) +- { +- set *tempSet1; +- +- tempSet = processStrSet (dataDirsSet, NULL, NON_FREE_INCLUDE_DIR_SUFFIX, NULL); +- tempSet1 = processStrSet (tempSet, NULL, DIR_SEPARATOR_STRING, NULL); +- tempSet1 = processStrSet (tempSet1, NULL, port->target, NULL); +- mergeSets (&tempSet1, tempSet); +- mergeSets (&includeDirsSet, tempSet1); +- } +- + if ((p = getenv (SDCC_INCLUDE_NAME)) != NULL) + { + struct dbuf_s dbuf; +@@ -2315,9 +2292,6 @@ setLibPath (void) + * 3. - $SDCC_HOME/PREFIX2DATA_DIR/LIB_DIR_SUFFIX/<model> + * 4. - path(argv[0])/BIN2DATA_DIR/LIB_DIR_SUFFIX/<model> + * 5. - DATADIR/LIB_DIR_SUFFIX/<model> (only on *nix) +- * 6. - $SDCC_HOME/PREFIX2DATA_DIR/NON_FREE_LIB_DIR_SUFFIX/<model> +- * 7. - path(argv[0])/BIN2DATA_DIR/NON_FREE_LIB_DIR_SUFFIX/<model> +- * 8. - DATADIR/NON_FREE_LIB_DIR_SUFFIX/<model> (only on *nix) + */ + + if (!options.nostdlib) +@@ -2334,13 +2308,6 @@ setLibPath (void) + dbuf_makePath (&dbuf, LIB_DIR_SUFFIX, port->general.get_model ? port->general.get_model () : targetname); + libDirsSet = processStrSet (dataDirsSet, NULL, dbuf_c_str (&dbuf), NULL); + +- if (options.use_non_free) +- { +- dbuf_set_length (&dbuf, 0); +- dbuf_makePath (&dbuf, NON_FREE_LIB_DIR_SUFFIX, port->general.get_model ? port->general.get_model () : targetname); +- mergeSets (&libDirsSet, processStrSet (dataDirsSet, NULL, dbuf_c_str (&dbuf), NULL)); +- } +- + if ((p = getenv (SDCC_LIB_NAME)) != NULL) + { + addSetHead (&libDirsSet, Safe_strdup (p)); +diff --git a/src/pic14/main.c b/src/pic14/main.c +index 3d868cc..e8ecaaf 100644 +--- a/src/pic14/main.c ++++ b/src/pic14/main.c +@@ -42,7 +42,6 @@ static OPTION _pic14_poptions[] = + { 0, "--no-pcode-opt", &pic14_options.disable_df, "disable (slightly faulty) optimization on pCode" }, + { 0, OPTION_STACK_SIZE, &options.stack_size, "sets the size if the argument passing stack (default: 16, minimum: 4)", CLAT_INTEGER }, + { 0, "--no-extended-instructions", &pic14_options.no_ext_instr, "forbid use of the extended instruction set (e.g., ADDFSR)" }, +- { 0, "--no-warn-non-free", &pic14_options.no_warn_non_free, "suppress warning on absent --use-non-free option" }, + { 0, NULL, NULL, NULL } + }; + +@@ -153,16 +152,6 @@ _pic14_finaliseOptions (void) + addSet (&preArgvSet, dbuf_detach_c_str (&dbuf)); + } + +- if (!pic14_options.no_warn_non_free && !options.use_non_free) +- { +- fprintf(stderr, +- "WARNING: Command line option --use-non-free not present.\n" +- " When compiling for PIC14/PIC16, please provide --use-non-free\n" +- " to get access to device headers and libraries.\n" +- " If you do not use these, you may provide --no-warn-non-free\n" +- " to suppress this warning (not recommended).\n"); +- } // if +- + } + + static void +diff --git a/src/pic14/main.h b/src/pic14/main.h +index 4275b65..0dc8c86 100644 +--- a/src/pic14/main.h ++++ b/src/pic14/main.h +@@ -5,7 +5,6 @@ typedef struct { + unsigned int isLibrarySource:1; + int disable_df; + int no_ext_instr; +- int no_warn_non_free; + } pic14_options_t; + + extern pic14_options_t pic14_options; +diff --git a/src/pic16/device.h b/src/pic16/device.h +index cdfbba0..5877f09 100644 +--- a/src/pic16/device.h ++++ b/src/pic16/device.h +@@ -99,7 +99,6 @@ typedef struct { + int gstack; + unsigned int debgen; + int xinst; +- int no_warn_non_free; + } pic16_options_t; + + extern pic16_options_t pic16_options; +diff --git a/src/pic16/main.c b/src/pic16/main.c +index 6f194c1..7f7b2f0 100644 +--- a/src/pic16/main.c ++++ b/src/pic16/main.c +@@ -655,7 +655,6 @@ OPTION pic16_optionsTable[]= { + { 0, "--pcode-verbose", &pic16_pcode_verbose, "dump pcode related info"}, + { 0, "--calltree", &pic16_options.dumpcalltree, "dump call tree in .calltree file"}, + { 0, "--gstack", &pic16_options.gstack, "trace stack pointer push/pop to overflow"}, +- { 0, "--no-warn-non-free", &pic16_options.no_warn_non_free, "suppress warning on absent --use-non-free option" }, + { 0, NULL, NULL, NULL} + }; + +@@ -940,16 +939,6 @@ _pic16_finaliseOptions (void) + addSet (&asmOptionsSet, Safe_strdup ("-D__STACK_MODEL_SMALL")); + } + +- if (!pic16_options.no_warn_non_free && !options.use_non_free) +- { +- fprintf(stderr, +- "WARNING: Command line option --use-non-free not present.\n" +- " When compiling for PIC14/PIC16, please provide --use-non-free\n" +- " to get access to device headers and libraries.\n" +- " If you do not use these, you may provide --no-warn-non-free\n" +- " to suppress this warning (not recommended).\n"); +- } // if +- + dbuf_destroy (&dbuf); + } + +@@ -979,7 +968,6 @@ _pic16_setDefaultOptions (void) + pic16_options.ip_stack = 1; /* set to 1 to enable ipop/ipush for stack */ + pic16_options.gstack = 0; + pic16_options.debgen = 0; +- pic16_options.no_warn_non_free = 0; + } + + static const char * +diff --git a/src/regression/Makefile b/src/regression/Makefile +index 26a7ff3..4547295 100644 +--- a/src/regression/Makefile ++++ b/src/regression/Makefile +@@ -65,10 +65,10 @@ TARGETPIC = 18f452 + CFLAGS = -mpic16 -p$(TARGETPIC) + DIR = pic16 + endif +-CFLAGS += -Wl,-q --no-warn-non-free ++CFLAGS += -Wl,-q + CFLAGS += -Wl,--map +-CFLAGS += -I $(SDCC_SRC)/device/include/$(DIR) -I $(SDCC_SRC)/device/non-free/include/$(DIR) +-CFLAGS += -L $(SDCC_BIN)/device/lib/build/$(DIR) -L $(SDCC_BIN)/device/non-free/lib/build/$(DIR) ++CFLAGS += -I $(SDCC_SRC)/device/include/$(DIR) ++CFLAGS += -L $(SDCC_BIN)/device/lib/build/$(DIR) + #CFLAGS += --no-pcode-opt + #CFLAGS += -V + +diff --git a/support/regression/ports/pic14/spec.mk b/support/regression/ports/pic14/spec.mk +index a3dcc05..bef1c45 100644 +--- a/support/regression/ports/pic14/spec.mk ++++ b/support/regression/ports/pic14/spec.mk +@@ -12,13 +12,9 @@ endif + + ifndef SDCC_BIN_PATH + ifndef CROSSCOMPILING +- SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic14 -I$(top_srcdir)/device/non-free/include/pic14 -I$(top_srcdir) +- LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic14 -L$(top_builddir)/device/non-free/lib/build/pic14 +- else +- SDCCFLAGS += --use-non-free ++ SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic14 -I$(top_srcdir) ++ LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic14 + endif +-else +- SDCCFLAGS += --use-non-free + endif + + ifdef CROSSCOMPILING +@@ -26,7 +22,6 @@ ifdef CROSSCOMPILING + endif + + SDCCFLAGS += -mpic14 -pp16f877 --less-pedantic -Wl,-q +-SDCCFLAGS += --no-warn-non-free + LINKFLAGS += libsdcc.lib libm.lib + + OBJEXT = .o +diff --git a/support/regression/ports/pic16/spec.mk b/support/regression/ports/pic16/spec.mk +index 1f94cde..f1ac726 100644 +--- a/support/regression/ports/pic16/spec.mk ++++ b/support/regression/ports/pic16/spec.mk +@@ -12,13 +12,9 @@ endif + + ifndef SDCC_BIN_PATH + ifndef CROSSCOMPILING +- SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic16 -I$(top_srcdir)/device/non-free/include/pic16 -I$(top_srcdir) +- LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic16 -L$(top_builddir)/device/non-free/lib/build/pic16 +- else +- SDCCFLAGS += --use-non-free ++ SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic16 -I$(top_srcdir) ++ LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic16 + endif +-else +- SDCCFLAGS += --use-non-free + endif + + ifdef CROSSCOMPILING +@@ -27,7 +23,6 @@ endif + + SDCCFLAGS += -mpic16 -pp18f452 --less-pedantic -Wl,-q + SDCCFLAGS += --no-peep +-SDCCFLAGS += --no-warn-non-free + LINKFLAGS += libsdcc.lib libc18f.lib libm18f.lib + + OBJEXT = .o +diff --git a/support/scripts/cinc2h.pl b/support/scripts/cinc2h.pl +index 8558135..30d72b7 100755 +--- a/support/scripts/cinc2h.pl ++++ b/support/scripts/cinc2h.pl +@@ -39,58 +39,10 @@ + + ------------------------------------------------- + +- Steps to add a new target device to SDCC/PIC16: +- (Following Raphael Neider <rneider AT web.de>) +- +- 1. Create the picDEVICE.c and picDEVICE.h from pDEVICE.inc using +- ./cinc2h.pl -p 18f4520 -cb -cp -gp "path/to/gputils_source" -o "path/to/output" +- +- 2. mv picDEVICE.h $SDCC/device/non-free/include/pic16 +- 3. mv picDEVICE.c $SDCC/device/non-free/lib/pic16/libdev +- 4. either +- +- (a) adjust $SDCC/device/lib/pic16/libio/*.ignore +- if the device does not support ADC, I2C, or USART +- --- OR --- +- (b) adjust +- * SDCC/scripts/pic18fam-h-gen.pl +- * SDCC/device/include/pic16/adc.h (if required) +- * SDCC/device/include/pic16/usart.h (if required) +- * SDCC/device/lib/pic16/libio/*/* (if required) +- to add the new device to the appropriate I/O style +- and implement new styles (if required). +- +- Having modified pic18fam-h-gen.pl, you need to run the +- script to generate pic18fam.h.gen, which in turn must +- then replace your .../include/pic16/pic18fam.h to take +- effect; see pic18fam-h-gen.pl for usage information. +- 6. edit $SDCC/device/include/pic16/pic18fregs.h +- 7. edit $SDCC/device/include/pic16/pic16devices.txt +- 8. run cd $SDCC/device/non-free/lib/pic16 && sh update.sh +- to regenerate .../libdev/Makefile.am and processors.ac +- +- The file format of steps 6 and 7 is self explanatory, in most +- if not all cases you can copy and paste another device's records +- and adjust them to the newly added device. +- +- ------------------------------------------------- +- +- Steps to add a new target device to SDCC/PIC14: +- +- 1. Create the picDEVICE.c and picDEVICE.h from pDEVICE.inc using +- ./cinc2h.pl -p 16f1503 -cb -cp -gp "path/to/gputils_source" -o "path/to/output" +- +- 2. mv picDEVICE.h $SDCC/device/non-free/include/pic14 +- 3. mv picDEVICE.c $SDCC/device/non-free/lib/pic14/libdev +- 4. add DEVICE to $SDCC/device/non-free/lib/pic14/libdev/devices.txt +- (The names of the enhanced devices the "# enhanced cores" line +- after follow.) +- +- 5. edit $SDCC/device/include/pic14/pic14devices.txt +- +- The file format of step 5 is self explanatory, in most if not all +- cases you can copy and paste another device's records and adjust +- them to the newly added device. ++ For its inclusion in the SDCC package distributed with GNU Guix ++ (https://guix.gnu.org/) this file has been modified from the ++ original to remove instructions on its use with non-free software ++ and to update the output of the print_license subroutine below. + + $Id: cinc2h.pl 9450 2016-01-09 16:47:43Z molnarkaroly $ + =cut +@@ -1345,10 +1297,9 @@ sub print_license($) + * Microchip header (.inc) and linker script (.lkr) files Microchip + * requires that "The header files should state that they are only to be + * used with authentic Microchip devices" which makes them incompatible +- * with the GPL. Pic device libraries and header files are located at +- * non-free/lib and non-free/include directories respectively. +- * Sdcc should be run with the --use-non-free command line option in +- * order to include non-free header files and libraries. ++ * with the GPL. These non-free libraries and header files (and the ++ * build and run-time options that enable their use) are omitted in the ++ * SDCC package distributed with GNU Guix. + * + * See http://sdcc.sourceforge.net/ for the latest information on sdcc. + */ +diff --git a/support/scripts/pic14-header-parser.pl b/support/scripts/pic14-header-parser.pl +index 4413c25..57c6076 100755 +--- a/support/scripts/pic14-header-parser.pl ++++ b/support/scripts/pic14-header-parser.pl +@@ -63,9 +63,7 @@ use constant P_SHOW_ONLY_NAME => 3; + + my @default_paths = + ( +- '/usr/share/sdcc/non-free/include', + '/usr/share/sdcc/include', +- '/usr/local/share/sdcc/non-free/include', + '/usr/local/share/sdcc/include' + ); + +diff --git a/support/scripts/pic16-header-parser.pl b/support/scripts/pic16-header-parser.pl +index 6db417a..4b35225 100755 +--- a/support/scripts/pic16-header-parser.pl ++++ b/support/scripts/pic16-header-parser.pl +@@ -62,9 +62,7 @@ use constant P_SHOW_ONLY_NAME => 3; + + my @default_paths = + ( +- '/usr/share/sdcc/non-free/include', + '/usr/share/sdcc/include', +- '/usr/local/share/sdcc/non-free/include', + '/usr/local/share/sdcc/include' + ); + +diff --git a/support/scripts/sdcc.nsi b/support/scripts/sdcc.nsi +index 5086181..9527244 100644 +--- a/support/scripts/sdcc.nsi ++++ b/support/scripts/sdcc.nsi +@@ -477,11 +477,6 @@ ${Section} "SDCC include files" SEC05 + + SetOutPath "$INSTDIR\include" + File "${DEV_ROOT}\include\*.h" +- +- SetOutPath "$INSTDIR\non-free\include\pic14" +- File "${DEV_ROOT}\non-free\include\pic14\*.h" +- SetOutPath "$INSTDIR\non-free\include\pic16" +- File "${DEV_ROOT}\non-free\include\pic16\*.h" + ${SectionEnd} + + ${Section} "SDCC DS390 library" SEC06 +@@ -579,18 +574,12 @@ ${Section} "SDCC PIC16 library" SEC21 + SetOutPath "$INSTDIR\lib\pic16" + File "${DEV_ROOT}\lib\pic16\*.o" + File "${DEV_ROOT}\lib\pic16\*.lib" +- +- SetOutPath "$INSTDIR\non-free\lib\pic16" +- File "${DEV_ROOT}\non-free\lib\pic16\*.lib" + ${SectionEnd} + + ${Section} "SDCC PIC14 library" SEC22 + SectionIn 1 2 + SetOutPath "$INSTDIR\lib\pic14" + File "${DEV_ROOT}\lib\pic14\*.lib" +- +- SetOutPath "$INSTDIR\non-free\lib\pic14" +- File "${DEV_ROOT}\non-free\lib\pic14\*.lib" + ${SectionEnd} + + ${Section} "SDCC STM8 library" SEC23 +@@ -691,10 +680,6 @@ ${Section} "SDCC library sources" SEC25 + File "${DEV_ROOT}\lib\src\pic14\libsdcc\enhanced\*.inc" + # File "${DEV_ROOT}\lib\src\pic14\libsdcc\Makefile" + +- SetOutPath "$INSTDIR\non-free\lib\src\pic14\libdev" +- File "${DEV_ROOT}\non-free\lib\src\pic14\libdev\*.c" +-# File "${DEV_ROOT}\non-free\lib\src\pic14\libdev\Makefile" +- + SetOutPath "$INSTDIR\lib\src\pic14\libm" + File "${DEV_ROOT}\lib\src\pic14\libm\*.c" + +@@ -746,10 +731,6 @@ ${Section} "SDCC library sources" SEC25 + File "${DEV_ROOT}\lib\src\pic16\libc\utils\*.S" + # File "${DEV_ROOT}\lib\src\pic16\libc\utils\Makefile" + +- SetOutPath "$INSTDIR\non-free\lib\src\pic16\libdev" +- File "${DEV_ROOT}\non-free\lib\src\pic16\libdev\*.c" +-# File "${DEV_ROOT}\non-free\lib\src\pic16\libdev\Makefile" +- + SetOutPath "$INSTDIR\lib\src\pic16\libio" + File "${DEV_ROOT}\lib\src\pic16\libio\*.ignore" + # File "${DEV_ROOT}\lib\src\pic16\libio\Makefile" +@@ -1003,13 +984,9 @@ ${Section} Uninstall SECUNINSTALL + + Delete "$INSTDIR\lib\pic14\*.lib" + +- Delete "$INSTDIR\non-free\lib\pic14\*.lib" +- + Delete "$INSTDIR\lib\pic16\*.o" + Delete "$INSTDIR\lib\pic16\*.lib" + +- Delete "$INSTDIR\non-free\lib\pic16\*.lib" +- + Delete "$INSTDIR\lib\hc08\*.lib" + + Delete "$INSTDIR\lib\s08\*.lib" +@@ -1059,9 +1036,7 @@ ${Section} Uninstall SECUNINSTALL + Delete "$INSTDIR\include\pic14\*.h" + Delete "$INSTDIR\include\pic14\*.txt" + Delete "$INSTDIR\include\pic14\*.inc" +- Delete "$INSTDIR\non-free\include\pic14\*.h" + Delete "$INSTDIR\include\pic16\*.h" +- Delete "$INSTDIR\non-free\include\pic16\*.h" + Delete "$INSTDIR\include\pic16\*.txt" + Delete "$INSTDIR\include\mcs51\*.h" + Delete "$INSTDIR\include\hc08\*.h" +@@ -1119,9 +1094,7 @@ ${Section} Uninstall SECUNINSTALL + Delete "$INSTDIR\uninstall.exe" + + RMDir /r "$INSTDIR\lib\src\pic14" +- RMDir /r "$INSTDIR\non-free\lib\src\pic14" + RMDir /r "$INSTDIR\lib\src\pic16" +- RMDir /r "$INSTDIR\non-free\lib\src\pic16" + RMDir "$INSTDIR\lib\src\small" + RMDir "$INSTDIR\lib\src\medium" + RMDir "$INSTDIR\lib\src\large" +@@ -1138,12 +1111,9 @@ ${Section} Uninstall SECUNINSTALL + RMDir "$INSTDIR\lib\src\s08" + RMDir "$INSTDIR\lib\src\stm8" + RMDir "$INSTDIR\lib\src" +- RMDir "$INSTDIR\non-free\lib\src" + + RMDir "$INSTDIR\lib\pic14" +- RMDir "$INSTDIR\non-free\lib\pic14" + RMDir "$INSTDIR\lib\pic16" +- RMDir "$INSTDIR\non-free\lib\pic16" + RMDir "$INSTDIR\lib\z80" + RMDir "$INSTDIR\lib\z180" + RMDir "$INSTDIR\lib\r2k" +@@ -1160,16 +1130,13 @@ ${Section} Uninstall SECUNINSTALL + RMDir "$INSTDIR\lib\s08" + RMDir "$INSTDIR\lib\stm8" + RMDir "$INSTDIR\lib" +- RMDir "$INSTDIR\non-free\lib" + + RMDir "$INSTDIR\include\asm\z80" + RMDir "$INSTDIR\include\asm\z180" + RMDir "$INSTDIR\include\asm\r2k" + RMDir "$INSTDIR\include\asm\r3ka" + RMDir "$INSTDIR\include\asm\pic16" +- RMDir "$INSTDIR\non-free\include\asm\pic16" + RMDir "$INSTDIR\include\asm\pic14" +- RMDir "$INSTDIR\non-free\include\asm\pic14" + RMDir "$INSTDIR\include\asm\mcs51" + RMDir "$INSTDIR\include\asm\gbz80" + RMDir "$INSTDIR\include\asm\ds390" +@@ -1178,17 +1145,12 @@ ${Section} Uninstall SECUNINSTALL + RMDir "$INSTDIR\include\asm" + RMDir "$INSTDIR\include\z180" + RMDir "$INSTDIR\include\pic14" +- RMDir "$INSTDIR\non-free\include\pic14" + RMDir "$INSTDIR\include\pic16" +- RMDir "$INSTDIR\non-free\include\pic16" + RMDir "$INSTDIR\include\mcs51" + RMDir "$INSTDIR\include\hc08" + RMDir "$INSTDIR\include\ds400" + RMDir "$INSTDIR\include\ds390" + RMDir "$INSTDIR\include" +- RMDir "$INSTDIR\non-free\include" +- +- RMDir "$INSTDIR\non-free" + + !ifdef FULL_DOC + RMDir /r "$INSTDIR\doc" +diff --git a/support/scripts/sdcc_cygwin_mingw32 b/support/scripts/sdcc_cygwin_mingw32 +index 5575663..2588d4f 100755 +--- a/support/scripts/sdcc_cygwin_mingw32 ++++ b/support/scripts/sdcc_cygwin_mingw32 +@@ -6,9 +6,7 @@ + --datarootdir="/sdcc" \ + docdir="\${datarootdir}/doc" \ + include_dir_suffix="include" \ +-non_free_include_dir_suffix="non-free/include" \ + lib_dir_suffix="lib" \ +-non_free_lib_dir_suffix="non-free/lib" \ + sdccconf_h_dir_separator="\\\\" \ + CC="gcc -mno-cygwin" \ + CXX="g++ -mno-cygwin" +diff --git a/support/scripts/sdcc_mingw32 b/support/scripts/sdcc_mingw32 +index 96e3280..050761e 100755 +--- a/support/scripts/sdcc_mingw32 ++++ b/support/scripts/sdcc_mingw32 +@@ -19,9 +19,7 @@ export SDCCCONFIGUREFLAGS=" \ + --datarootdir=/sdcc \ + docdir=\${datarootdir}/doc \ + include_dir_suffix=include \ +-non_free_include_dir_suffix=non-free/include \ + lib_dir_suffix=lib \ +-non_free_lib_dir_suffix=non-free/lib \ + sdccconf_h_dir_separator=\\\\ \ + --disable-device-lib \ + --host=i586-mingw32msvc --build=unknown-unknown-linux-gnu" diff --git a/gnu/packages/sdcc.scm b/gnu/packages/sdcc.scm index 6d05470101..aad2cf9e62 100644 --- a/gnu/packages/sdcc.scm +++ b/gnu/packages/sdcc.scm @@ -18,6 +18,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages sdcc) + #:use-module (gnu packages) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages flex) @@ -39,7 +40,14 @@ "/" version "/sdcc-src-" version ".tar.bz2")) (sha256 (base32 - "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5")))) + "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove non-free source files + (delete-file-recursively "device/non-free") + #t)) + (patches (search-patches "sdcc-disable-non-free-code.patch")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) |