Improved seed() generation

Drop support for CLOCK_SGI_CYCLE.

Improved seed() generation.  Improved some comments in seed.c.
Added have_environ.c to build have_environ.h in order to
determine if:

    extern char **environ;	/* user environment */

is an valid external symbol.
This commit is contained in:
Landon Curt Noll
2021-12-06 21:16:08 -08:00
parent 7417f2e776
commit b30c5c1855
7 changed files with 213 additions and 74 deletions

View File

@@ -379,6 +379,19 @@ HAVE_CONST=
HAVE_UID_T=
#HAVE_UID_T= -DHAVE_NO_UID_T
# Determine if we have user environment external:
#
# extern char **environ;
#
# If HAVE_ENVIRON is empty, this Makefile will run the have_environ program
# to determine if environ exsuts. If HAVE_ENVIRON is set to -DHAVE_NO_ENVIRON,
# then calc will assume there is no external environ symbol.
#
# If in doubt, leave HAVE_ENVIRON empty and this Makefile will figure it out.
#
HAVE_ENVIRON=
#HAVE_ENVIRON= -DHAVE_NO_ENVIRON
# Determine if we have memcpy(), memset() and strchr()
#
# If HAVE_NEWSTR is empty, this Makefile will run the have_newstr program
@@ -1914,7 +1927,7 @@ BUILD_H_SRC= align32.h args.h calcerr.h conf.h endian_calc.h \
have_posscl.h have_rusage.h have_stdlib.h have_strdup.h \
have_string.h have_strlcat.h have_strlcpy.h have_times.h \
have_uid_t.h have_unistd.h have_unused.h have_urandom.h \
have_ustat.h longbits.h terminal.h
have_ustat.h longbits.h terminal.h have_environ.h
# we build these .c files during the make
#
@@ -1927,7 +1940,7 @@ BUILD_C_SRC= calcerr.c
UTIL_C_SRC= align32.c endian.c longbits.c have_newstr.c have_uid_t.c \
have_const.c have_stdvs.c have_varvs.c fposval.c have_fpos.c \
have_fpos_pos.c have_offscl.c have_posscl.c have_memmv.c \
have_ustat.c have_getsid.c have_getpgid.c \
have_ustat.c have_getsid.c have_getpgid.c have_environ.c \
have_gettime.c have_getprid.c have_rusage.c have_strdup.c \
have_unused.c have_ban_pragma.c have_strlcpy.c have_strlcat.c
@@ -1944,7 +1957,7 @@ UTIL_MISC_SRC= calcerr_h.sed calcerr_h.awk calcerr_c.sed calcerr_c.awk \
UTIL_OBJS= endian.o longbits.o have_newstr.o have_uid_t.o \
have_const.o fposval.o have_fpos.o have_fpos_pos.o \
try_strarg.o have_stdvs.o have_varvs.o have_posscl.o have_memmv.o \
have_ustat.o have_getsid.o have_getpgid.o \
have_ustat.o have_getsid.o have_getpgid.o have_environ.o \
have_gettime.o have_getprid.o ver_calc.o have_rusage.o have_strdup.o \
have_unused.o have_ban_pragma.o have_strlcpy.o have_strlcat.o
@@ -1961,7 +1974,7 @@ UTIL_PROGS= align32${EXT} fposval${EXT} have_uid_t${EXT} have_const${EXT} \
endian${EXT} longbits${EXT} have_newstr${EXT} have_stdvs${EXT} \
have_varvs${EXT} have_ustat${EXT} have_getsid${EXT} \
have_getpgid${EXT} have_gettime${EXT} have_getprid${EXT} \
ver_calc${EXT} have_strdup${EXT} \
ver_calc${EXT} have_strdup${EXT} have_environ{EXT} \
have_unused${EXT} have_fpos${EXT} have_fpos_pos${EXT} \
have_offscl${EXT} have_rusage${EXT} have_ban_pragma${EXT} \
have_strlcpy${EXT} have_strlcat${EXT}
@@ -3248,6 +3261,47 @@ have_uid_t.h: have_uid_t.c have_unistd.h \
${TRUE}; \
fi
have_environ.h: have_environ.c \
banned.h have_ban_pragma.h ${MAKE_FILE} ${LOC_MKF}
${Q} ${RM} -f have_environ environ_tmp $@
${H} echo 'forming $@'
${Q} echo '/*' > $@
${Q} echo ' * DO NOT EDIT -- generated by the Makefile' >> $@
${Q} echo ' */' >> $@
${Q} echo '' >> $@
${Q} echo '' >> $@
${Q} echo '#if !defined(CALC_HAVE_ENVIRON_H)' >> $@
${Q} echo '#define CALC_HAVE_ENVIRON_H' >> $@
${Q} echo '' >> $@
${Q} echo '' >> $@
${Q} echo '/* do we have or want environ? */' >> $@
${Q} ${RM} -f have_environ.o have_environ${EXT}
-${Q} ${LCC} ${ICFLAGS} ${HAVE_ENVIRON} have_environ.c -c ${S} \
|| ${TRUE}
-${Q} ${LCC} ${ILDFLAGS} have_environ.o -o have_environ${EXT} ${S} \
|| ${TRUE}
-${Q} ./have_environ${EXT} > environ_tmp ${E} \
|| ${TRUE}
-${Q} if [ -s environ_tmp ]; then \
${CAT} environ_tmp >> $@; \
else \
echo '#undef HAVE_ENVIRON /* no */' >> $@; \
fi
${Q} echo '' >> $@
${Q} echo '' >> $@
${Q} echo '#endif /* !CALC_HAVE_ENVIRON_H */' >> $@
${Q} ${RM} -f have_environ${EXT} have_environ.o environ_tmp
${H} echo '$@ formed'
-@if [ -z "${Q}" ]; then \
echo ''; \
echo '=-=-= start of $@ =-=-='; \
${CAT} $@; \
echo '=-=-= end of $@ =-=-='; \
echo ''; \
else \
${TRUE}; \
fi
have_newstr.h: have_newstr.c banned.h have_ban_pragma.h ${MAKE_FILE} ${LOC_MKF}
${Q} ${RM} -f newstr_tmp $@
${H} echo 'forming $@'
@@ -4425,6 +4479,7 @@ env:
@echo 'GREP=${GREP}'; echo ''
@echo 'H=${H}'; echo ''
@echo 'HAVE_CONST=${HAVE_CONST}'; echo ''
@echo 'HAVE_ENVIRON=${HAVE_ENVIRON}'; echo ''
@echo 'HAVE_FPOS=${HAVE_FPOS}'; echo ''
@echo 'HAVE_FPOS_POS=${HAVE_FPOS_POS}'; echo ''
@echo 'HAVE_GETPGID=${HAVE_GETPGID}'; echo ''
@@ -5817,6 +5872,9 @@ have_ban_pragma.o: have_ban_pragma.h
have_const.o: banned.h
have_const.o: have_ban_pragma.h
have_const.o: have_const.c
have_environ.o: banned.h
have_environ.o: have_ban_pragma.h
have_environ.o: have_environ.c
have_fpos.o: banned.h
have_fpos.o: have_ban_pragma.h
have_fpos.o: have_fpos.c
@@ -6456,6 +6514,7 @@ seed.o: decl.h
seed.o: endian_calc.h
seed.o: have_ban_pragma.h
seed.o: have_const.h
seed.o: have_environ.h
seed.o: have_getpgid.h
seed.o: have_getprid.h
seed.o: have_getsid.h