Checkpoint on fixing compiling with musl gentoo

Restored use of the #define FPOS_POS_LEN symbol.  This refers to the
length of the __pos element (if the __pos element exists), the fpos_t type
(if that type exists).

Changed SWAP_HALF_IN_FILEPOS(dest, src) mato to use FILEPOS_LEN Little
Endian when FILEPOS is a simple scalar type (i.e., HAVE_FILEPOS_SCALAR
is defined).

Changed #define HAVE_FPOS to HAVE_FGETSETPOS.

Corrected comment in have_fpos_pos.h.  The HAVE_FPOS_POS symbol was NOT
related to fgetpos & fsetpos but rather if we we have an __pos element
in FILEPOS.

Changed #define HAVE_NO_FPOS to HAVE_NO_FGETSETPOS.

Improved comments in have_fpos_pos.h to show why and how HAVE_FPOS_POS,
FPOS_POS_BITS, and FPOS_POS_LEN were defined or undefed.

Changed showfiles builtin to print sizes cast to (long int) with the
"%ld" printf format to avoid implementations that do not support the
"%lld" printf format specifier.
This commit is contained in:
Landon Curt Noll
2022-11-28 12:55:29 -08:00
parent 5acd67c704
commit 340c1990ce
8 changed files with 86 additions and 58 deletions

View File

@@ -220,14 +220,14 @@ LONG_BITS=
# Determine if we have the ANSI C fgetpos and fsetpos alternate interface
# to the ftell() and fseek() (with whence set to SEEK_SET) functions.
#
# If HAVE_FPOS is empty, this Makefile will run the have_fpos program
# to determine if there is are fgetpos and fsetpos functions. If HAVE_FPOS
# is set to -DHAVE_NO_FPOS, then calc will use ftell() and fseek().
# If HAVE_FGETSETPOS is empty, this Makefile will run the have_fpos program
# to determine if there is are fgetpos and fsetpos functions. If HAVE_FGETSETPOS
# is set to -DHAVE_NO_FGETSETPOS, then calc will use ftell() and fseek().
#
# If in doubt, leave HAVE_FPOS empty and this Makefile will figure it out.
# If in doubt, leave HAVE_FGETSETPOS empty and this Makefile will figure it out.
#
HAVE_FPOS=
#HAVE_FPOS= -DHAVE_NO_FPOS
HAVE_FGETSETPOS=
#HAVE_FGETSETPOS= -DHAVE_NO_FGETSETPOS
# Determine if we have an __pos element of a file position (fpos_t) structure.
#
@@ -2504,7 +2504,7 @@ have_fpos.h: have_fpos.c banned.h have_ban_pragma.h ${MAKE_FILE} ${LOC_MKF}
${Q} echo '' >> $@
${Q} echo '/* do we have fgetpos & fsetpos functions? */' >> $@
${Q} ${RM} -f have_fpos.o have_fpos${EXT}
-${Q} ${LCC} ${HAVE_FPOS} ${ICFLAGS} have_fpos.c -c ${S} \
-${Q} ${LCC} ${HAVE_FGETSETPOS} ${ICFLAGS} have_fpos.c -c ${S} \
|| ${TRUE}
-${Q} ${LCC} ${ILDFLAGS} have_fpos.o -o have_fpos${EXT} ${S} \
|| ${TRUE}
@@ -2513,7 +2513,7 @@ have_fpos.h: have_fpos.c banned.h have_ban_pragma.h ${MAKE_FILE} ${LOC_MKF}
-${Q} if [ -s fpos_tmp ]; then \
${CAT} fpos_tmp >> $@; \
else \
echo '#undef HAVE_FPOS /* no */' >> $@; \
echo '#undef HAVE_FGETSETPOS /* no */' >> $@; \
echo '' >> $@; \
echo 'typedef long FILEPOS;' >> $@; \
fi
@@ -2545,9 +2545,9 @@ have_fpos_pos.h: have_fpos_pos.c have_fpos.h have_posscl.h \
${Q} echo '#define CALC_HAVE_FPOS_POS_H' >> $@
${Q} echo '' >> $@
${Q} echo '' >> $@
${Q} echo '/* do we have fgetpos & fsetpos functions? */' >> $@
${Q} echo '/* do we have an __pos element in FILEPOS? */' >> $@
${Q} ${RM} -f have_fpos_pos.o have_fpos_pos${EXT}
-${Q} ${LCC} ${HAVE_FPOS} ${HAVE_FPOS_POS} ${ICFLAGS} \
-${Q} ${LCC} ${HAVE_FGETSETPOS} ${HAVE_FPOS_POS} ${ICFLAGS} \
have_fpos_pos.c -c ${S} \
|| ${TRUE}
-${Q} ${LCC} ${ILDFLAGS} have_fpos_pos.o -o have_fpos_pos${EXT} ${S} \
@@ -4113,7 +4113,7 @@ env:
@echo 'HAVE_ARC4RANDOM=${HAVE_ARC4RANDOM}'; echo ''
@echo 'HAVE_CONST=${HAVE_CONST}'; echo ''
@echo 'HAVE_ENVIRON=${HAVE_ENVIRON}'; echo ''
@echo 'HAVE_FPOS=${HAVE_FPOS}'; echo ''
@echo 'HAVE_FGETSETPOS=${HAVE_FGETSETPOS}'; echo ''
@echo 'HAVE_FPOS_POS=${HAVE_FPOS_POS}'; echo ''
@echo 'HAVE_GETPGID=${HAVE_GETPGID}'; echo ''
@echo 'HAVE_GETPRID=${HAVE_GETPRID}'; echo ''