Index: ossp-pkg/pth/Makefile.in RCS File: /v/ossp/cvs/ossp-pkg/pth/Makefile.in,v co -q -kk -p'1.135.2.2' '/v/ossp/cvs/ossp-pkg/pth/Makefile.in,v' | diff -u /dev/null - -L'ossp-pkg/pth/Makefile.in' 2>/dev/null --- ossp-pkg/pth/Makefile.in +++ - 2024-05-09 18:13:45.203745531 +0200 @@ -0,0 +1,531 @@ +## +## GNU Pth - The GNU Portable Threads +## Copyright (c) 1999-2000 Ralf S. Engelschall +## +## This file is part of GNU Pth, a non-preemptive thread scheduling +## library which can be found at http://www.gnu.org/software/pth/. +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +## USA, or contact Ralf S. Engelschall . +## +## Makefile.in: Pth Makefile input +## + # ``UNIX -- where you can do anything + # in two keystrokes, or less...'' +@SET_MAKE@ + +## +## ____ PATH DEFINITIONS ___________________________________________ +## + +VPATH = @srcdir@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ + +S = @srcdir_prefix@ +C = ./ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +libdir = @libdir@ +includedir = @includedir@ +mandir = @mandir@ +datadir = @datadir@ + +## +## ____ TOOL DEFINITIONS ___________________________________________ +## + +SHELL = /bin/sh +CC = @CC@ +CPPFLAGS = @CPPFLAGS@ -I. +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +SHTOOL = $(srcdir)/shtool +LIBTOOL = $(C)libtool +RM = rm -f +RMDIR = rmdir +TRUE = true +CAT = cat +CP = cp +SED = sed +ECHO = echo +GZIP = gzip +GTAR = gtar +TARDY = tardy +POD2MAN = pod2man +GDB = gdb +PERL = perl + +## +## ____ TARGET DEFINITIONS _________________________________________ +## + +BATCH = @BATCH@ +PLATFORM = @PLATFORM@ +PTH_MCTX_ID = @PTH_MCTX_ID@ +PTH_STACK_GROWTH = @PTH_STACK_GROWTH@ + +TARGET_ALL = @TARGET_ALL@ +TARGET_PREQ = pth_p.h +TARGET_LIBS = libpth.la @LIBPTHREAD_LA@ +TARGET_MANS = $(S)pth-config.1 $(S)pth.3 @PTHREAD_CONFIG_1@ @PTHREAD_3@ +TARGET_TEST = test_std test_mp test_misc test_philo test_sig \ + test_select test_httpd test_sfio @TEST_PTHREAD@ + +# object files for library generation +# (order is just aesthically important) +LOBJS = pth_debug.lo pth_ring.lo pth_pqueue.lo pth_time.lo pth_errno.lo \ + pth_mctx.lo pth_tcb.lo pth_sched.lo pth_attr.lo pth_lib.lo pth_event.lo \ + pth_data.lo pth_clean.lo pth_cancel.lo pth_msg.lo pth_sync.lo pth_fork.lo \ + pth_util.lo pth_high.lo pth_syscall.lo pth_ext.lo pth_compat.lo + +# source files for header generation +# (order is important and has to follow dependencies in pth_p.h) +HSRCS = $(S)pth_compat.c $(S)pth_debug.c $(S)pth_syscall.c $(S)pth_errno.c $(S)pth_ring.c $(S)pth_mctx.c \ + $(S)pth_clean.c $(S)pth_time.c $(S)pth_tcb.c $(S)pth_util.c $(S)pth_pqueue.c $(S)pth_event.c \ + $(S)pth_sched.c $(S)pth_data.c $(S)pth_msg.c $(S)pth_cancel.c $(S)pth_sync.c $(S)pth_attr.c $(S)pth_lib.c \ + $(S)pth_fork.c $(S)pth_high.c $(S)pth_ext.c + +## +## ____ UTILITY DEFINITIONS _________________________________________ +## + +_VERSION_FILE = \ + $(S)pth_vers.c + +_VERSION = \ + echo "updating package version"; \ + $(SHTOOL) version -l c -n 'GNU Pth' -p pth_internal_ $$OPT $(_VERSION_FILE); \ + V=`$(SHTOOL) version -l c -d long $(_VERSION_FILE)`; \ + $(SED) -e "s/Version .*(.*)/Version $$V/g" README.n && mv README.n README + +_TARBALL = \ + $(SHTOOL) tarball -o $${NAME}.tar.gz -d $${NAME} -u gnu -g pth \ + -e 'CVS,\.cvsignore,\.configure,\.\#.*,\.[ao]$$' -c 'gzip --best' . + +_MANPAGE = \ + echo "Formatting $${BASENAME}.pod into $${BASENAME}.$${SEC} via $(POD2MAN)"; \ + V1=`$(SHTOOL) version -l c -d short $(_VERSION_FILE)`; \ + V2=`$(SHTOOL) version -l c -d long $(_VERSION_FILE)`; \ + D=`$(SHTOOL) version -l c -d long $(_VERSION_FILE) |\ + $(SED) -e 's;.*(;;' -e 's;).*;;'`; \ + $(POD2MAN) --section=$${SEC} --center="$${ONELINE}" \ + --release="$$D" --date="$${NAME} $$V1" $(S)$${BASENAME}.pod |\ + $(SED) -e "s;PTH_VERSION_STR;$$V2;" >$${BASENAME}.$${SEC} + +_DEBUG = \ + core=""; \ + if [ -f $$TEST.core ]; then \ + core="$$TEST.core"; \ + elif [ -f core ]; then \ + core="core"; \ + fi; \ + $(LIBTOOL) --mode=execute $(GDB) $$TEST $$core + +## +## ____ END USER TARGETS ____________________________________________ +## + +# be aware of libtool when building the objects +.SUFFIXES: +.SUFFIXES: .c .o .lo +.c.o: + $(CC) -c $(CPPFLAGS) $(CFLAGS) $< +.c.lo: + $(LIBTOOL) --mode=compile --quiet $(CC) -c $(CPPFLAGS) $(CFLAGS) $< + +# the default target +all: all-normal +all-normal: $(TARGET_ALL) + @touch .done-all + @$(MAKE) $(MFLAGS) what-next +all-for-install: $(TARGET_ALL) + @touch .done-all + +# build the private shared header file +pth_p.h: $(S)pth_p.h.in + $(SHTOOL) scpp -o pth_p.h -t $(S)pth_p.h.in -Dcpp -Cintern -M '==#==' $(HSRCS) + +# build the static and possibly shared libraries +libpth.la: $(LOBJS) + $(LIBTOOL) --mode=link --quiet $(CC) -o libpth.la $(LOBJS) \ + -rpath $(libdir) -version-info `$(SHTOOL) version -l c -d libtool $(_VERSION_FILE)` +libpthread.la: pthread.lo $(LOBJS) + $(LIBTOOL) --mode=link --quiet $(CC) -o libpthread.la pthread.lo $(LOBJS) \ + -rpath $(libdir) -version-info `$(SHTOOL) version -l c -d libtool $(_VERSION_FILE)` + +# build the manual pages +$(S)pth-config.1: $(S)pth-config.pod $(_VERSION_FILE) + @BASENAME="pth-config"; SEC=1; \ + NAME="GNU Pth"; ONELINE="GNU Portable Threads"; \ + $(_MANPAGE) +$(S)pth.3: $(S)pth.pod $(_VERSION_FILE) + @BASENAME="pth"; SEC=3; \ + NAME="GNU Pth"; ONELINE="GNU Portable Threads"; \ + $(_MANPAGE) +$(S)pthread-config.1: $(S)pthread-config.pod $(_VERSION_FILE) + @BASENAME="pthread-config"; SEC=1; \ + NAME="GNU Pth"; ONELINE="POSIX Threading API of GNU Pth"; \ + $(_MANPAGE) +$(S)pthread.3: $(S)pthread.pod $(_VERSION_FILE) + @BASENAME="pthread"; SEC=3; \ + NAME="GNU Pth"; ONELINE="POSIX Threading API of GNU Pth"; \ + $(_MANPAGE) + +# build test program +test_std: test_std.o test_common.o libpth.la + $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o test_std test_std.o test_common.o libpth.la $(LIBS) +test_httpd: test_httpd.o test_common.o libpth.la + $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o test_httpd test_httpd.o test_common.o libpth.la $(LIBS) +test_misc: test_misc.o test_common.o libpth.la + $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o test_misc test_misc.o test_common.o libpth.la $(LIBS) +test_mp: test_mp.o test_common.o libpth.la + $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o test_mp test_mp.o test_common.o libpth.la $(LIBS) +test_philo: test_philo.o test_common.o libpth.la + $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o test_philo test_philo.o test_common.o libpth.la $(LIBS) +test_sig: test_sig.o test_common.o libpth.la + $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o test_sig test_sig.o test_common.o libpth.la $(LIBS) +test_select: test_select.o test_common.o libpth.la + $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o test_select test_select.o test_common.o libpth.la $(LIBS) +test_sfio: test_sfio.o test_common.o libpth.la + $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o test_sfio test_sfio.o test_common.o libpth.la $(LIBS) +test_pthread: test_pthread.o test_common.o libpthread.la + $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o test_pthread test_pthread.o test_common.o libpthread.la $(LIBS) + +# install the package +install: all-for-install + @$(MAKE) $(MFLAGS) install-dirs install-pth @INSTALL_PTHREAD@ + @touch .done-install + @$(MAKE) $(MFLAGS) what-next +install-dirs: + $(SHTOOL) mkdir -f -p -m 755 $(prefix) + $(SHTOOL) mkdir -f -p -m 755 $(bindir) + $(SHTOOL) mkdir -f -p -m 755 $(includedir) + $(SHTOOL) mkdir -f -p -m 755 $(libdir) + $(SHTOOL) mkdir -f -p -m 755 $(mandir)/man1 + $(SHTOOL) mkdir -f -p -m 755 $(mandir)/man3 + $(SHTOOL) mkdir -f -p -m 755 $(datadir)/aclocal +install-pth: + $(SHTOOL) install -c -m 755 pth-config $(bindir)/pth-config + $(SHTOOL) install -c -m 644 $(S)pth-config.1 $(mandir)/man1/pth-config.1 + $(SHTOOL) install -c -m 644 $(S)pth.3 $(mandir)/man3/pth.3 + $(SHTOOL) install -c -m 644 $(S)pth.m4 $(datadir)/aclocal/pth.m4 + $(SHTOOL) install -c -m 644 pth.h $(includedir)/pth.h + @umask 022; $(LIBTOOL) --mode=install \ + $(SHTOOL) install -c libpth.la $(libdir)/libpth.la +install-pthread: + $(SHTOOL) install -c -m 755 pthread-config $(bindir)/pthread-config + $(SHTOOL) install -c -m 644 $(S)pthread-config.1 $(mandir)/man1/pthread-config.1 + $(SHTOOL) install -c -m 644 pthread.h $(includedir)/pthread.h + $(SHTOOL) install -c -m 644 $(S)pthread.3 $(mandir)/man3/pthread.3 + @umask 022; $(LIBTOOL) --mode=install \ + $(SHTOOL) install -c libpthread.la $(libdir)/libpthread.la + +# uninstall the package +uninstall: + @$(MAKE) $(MFLAGS) @UNINSTALL_PTHREAD@ uninstall-pth uninstall-dirs + @touch .done-uninstall + @$(MAKE) $(MFLAGS) what-next +uninstall-pthread: + $(RM) $(bindir)/pthread-config + $(RM) $(mandir)/man1/pthread-config.1 + $(RM) $(includedir)/pthread.h + $(RM) $(mandir)/man3/pthread.3 + @$(LIBTOOL) --mode=uninstall $(RM) $(libdir)/libpthread.la +uninstall-pth: + $(RM) $(bindir)/pth-config + $(RM) $(mandir)/man1/pth-config.1 + $(RM) $(mandir)/man3/pth.3 + $(RM) $(datadir)/aclocal/pth.m4 + $(RM) $(includedir)/pth.h + @$(LIBTOOL) --mode=uninstall $(RM) $(libdir)/libpth.la +uninstall-dirs: + -$(RMDIR) $(datadir)/aclocal >/dev/null 2>&1 || $(TRUE) + -$(RMDIR) $(datadir) >/dev/null 2>&1 || $(TRUE) + -$(RMDIR) $(mandir)/man1 >/dev/null 2>&1 || $(TRUE) + -$(RMDIR) $(mandir)/man3 >/dev/null 2>&1 || $(TRUE) + -$(RMDIR) $(mandir) >/dev/null 2>&1 || $(TRUE) + -$(RMDIR) $(libdir) >/dev/null 2>&1 || $(TRUE) + -$(RMDIR) $(includedir) >/dev/null 2>&1 || $(TRUE) + -$(RMDIR) $(bindir) >/dev/null 2>&1 || $(TRUE) + -$(RMDIR) $(prefix) >/dev/null 2>&1 || $(TRUE) + +# clean the source tree for re-building +clean: + $(RM) $(TARGET_PREQ) + $(RM) $(TARGET_TEST) + $(RM) $(TARGET_LIBS) + $(RM) core *.core *.bak *~ + $(RM) *.o *.lo + $(RM) .libs/* + -$(RMDIR) .libs >/dev/null 2>&1 || $(TRUE) + $(RM) .done-* + +# clean the source tree for re-configuring and re-building +distclean: clean + $(RM) Makefile + $(RM) pth-config pth_acdef.h pth_acmac.h pth.h + $(RM) pthread-config pthread.h + $(RM) config.log config.cache config.status + $(RM) -r striptease.dir + $(RM) libtool + +# clean the source tree by removing really all generate stuff +realclean: distclean + $(RM) $(TARGET_MANS) + +# give hints what to do as the next step +what-next: + -@if [ ".$(BATCH)" != .yes ]; then \ + if [ ".$(WHEN)" != . ]; then \ + when="$(WHEN)"; \ + else \ + when="Now"; \ + fi; \ + echo ""; \ + if [ ! -f .done-all ]; then \ + cmd=`$(SHTOOL) echo -e "%Bmake%b"`; \ + echo "$$when please type \`$$cmd' to compile. Good luck."; \ + elif [ ! -f .done-test ]; then \ + cmd=`$(SHTOOL) echo -e "%Bmake test%b"`; \ + echo "$$when please type \`$$cmd' to run a quick test suite. Hope it works."; \ + elif [ ! -f .done-install ]; then \ + cmd=`$(SHTOOL) echo -e "%Bmake install%b"`; \ + echo "$$when please type \`$$cmd' to install the package."; \ + elif [ ! -f .done-uninstall ]; then \ + cmd=`$(SHTOOL) echo -e "%Bmake uninstall%b"`; \ + echo "$$when use the package (you can remove it later via \`$$cmd')."; \ + cmd=`$(SHTOOL) echo -e "%Becho \"subscribe pth-users\" | mail pth-users-request@gnu.org%b"`; \ + echo "Additionally you should consider subscribing to the GNU Pth support"; \ + echo "mailing list pth-users@gnu.org by running the following command:"; \ + echo "\`$$cmd'"; \ + else \ + echo "$$when there is nothing more you can do here... ;)"; \ + echo "There is just \`make clean' left for you."; \ + fi; \ + echo ""; \ + fi + +# execute and debug one of the test programs +test: test-std +test-std: test_std + -@./test_std; \ + if [ $$? -eq 0 ]; then \ + touch .done-test; \ + if [ ".`grep $(PLATFORM) $(S)PORTING`" = . ]; then \ + VERSION=`$(SHTOOL) version -lc -dshort $(_VERSION_FILE)`; \ + echo "Please send the following summary line via Email to the author"; \ + echo "Ralf S. Engelschall for inclusion into"; \ + echo "the list of successfully tested platforms (see PORTING file):"; \ + echo ""; \ + $(SHTOOL) echo -e "Pth: %BOK%b: %B$(PLATFORM)%b | %B$(PTH_MCTX_ID)%b | %B$(PTH_STACK_GROWTH)%b | %B$$VERSION%b"; \ + $(MAKE) $(MFLAGS) what-next WHEN="Then"; \ + else \ + $(MAKE) $(MFLAGS) what-next WHEN="Now"; \ + fi; \ + exit 0; \ + else \ + VERSION=`$(SHTOOL) version -lc -dshort $(_VERSION_FILE)`; \ + echo "Please send the following summary line together with details about"; \ + $(SHTOOL) echo -e "the configuration (%Bpth_acdef.h%b, %Bpth_acmac.h%b, %Bconfig.status%b, %Bconfig.log%b)"; \ + echo "and build/test steps (output of 'make' and 'make test') to the author"; \ + echo "Ralf S. Engelschall to help him in tracking"; \ + echo "down your platform problem."; \ + echo ""; \ + $(SHTOOL) echo -e "Pth: %BFAILED%b: %B$(PLATFORM)%b | %B$(PTH_MCTX_ID)%b | %B$(PTH_STACK_GROWTH)%b | %B$$VERSION%b"; \ + echo ""; \ + exit 1; \ + fi +test-httpd: test_httpd + ./test_httpd +test-mp: test_mp + ./test_mp +test-misc: test_misc + ./test_misc +test-philo: test_philo + ./test_philo +test-sig: test_sig + ./test_sig +test-select: test_select + ./test_select +test-sfio: test_sfio + ./test_sfio +test-pthread: test_pthread + ./test_pthread + +# GNU compat targets +check: test +installcheck: +installdirs: install-dirs +install-strip: install +mostlyclean: clean +maintainer-clean: realclean +info: +dvi: +TAGS: + +## +## ____ DEVELOPER TARGETS ___________________________________________ +## (THIS IS NOT INTENDED TO BE RUN BY END USERS) +## + +# fixup the permissions in the source tree +fixperm: + @echo "Fixing permissions in source tree" + @$(SHTOOL) fixperm * + +# update Autoconf files +update-autoconf: configure pth_acdef.h.in +configure: configure.in + $(RM) configure + autoconf +pth_acdef.h.in: configure.in acconfig.h acheader.m4 + $(RM) pth_acdef.h.in + cat acheader.m4 configure.in | autoheader - >pth_acdef.h.in + +# update build tools +update-tools: + @$(RM) shtool ltmain.sh ltconfig + @$(MAKE) $(MFLAGS) shtool ltmain.sh ltconfig +shtool: + shtoolize -o shtool echo version scpp mkdir install fixperm tarball +ltmain.sh: + @F=`libtoolize -n -c -f | grep 'cp.*ltmain.sh' |\ + $(SED) -e 's;[^/]*;;' -e 's; .*;;'`; \ + $(ECHO) "ltmain.sh <-- $$F"; cat $$F |\ + $(SED) -e 's:/bin/sh; then:/bin/sh || test ".`$(ECHO) $$nonopt | grep shtool`" != .;then:' \ + -e 's:exec \$$SHELL \$$0 --finish:exit 0 #:' >ltmain.sh +ltconfig: + @F=`libtoolize -n -c -f | grep 'cp.*ltconfig' | $(SED) -e 's;[^/]*;;' -e 's; .*;;'`; \ + $(ECHO) "ltconfig <-- $$F"; $(CAT) $$F >ltconfig + +# debug the test programs +debug: debug-std +debug-std: test_std + TEST=test_std && $(_DEBUG) +debug-httpd: test_httpd + TEST=test_httpd && $(_DEBUG) +debug-mp: test_mp + TEST=test_mp && $(_DEBUG) +debug-misc: test_misc + TEST=test_misc && $(_DEBUG) +debug-philo: test_philo + TEST=test_philo && $(_DEBUG) +debug-sig: test_sig + TEST=test_sig && $(_DEBUG) +debug-select: test_select + TEST=test_select && $(_DEBUG) +debug-sfio: test_sfio + TEST=test_sfio && $(_DEBUG) +debug-pthread: test_pthread + TEST=test_pthread && $(_DEBUG) + +# roll the release or snapshot tarball +dist: distclean fixperm + @V=`$(SHTOOL) version -l c -d short $(_VERSION_FILE)`; NAME="pth-$$V"; \ + $(ECHO) "Rolling RELEASE tarball $$NAME.tar.gz"; $(_TARBALL) +snap: distclean fixperm + @V=`$(SHTOOL) version -l c -d short $(_VERSION_FILE)`; NAME="pth-$$V-SNAP"; \ + $(ECHO) "Rolling SNAPSHOT tarball $$NAME.tar.gz"; $(_TARBALL) + +# increase or update version information +new-version: + @V="$(VERSION)"; \ + if [ ".$$V" != . ]; then \ + OPT="-s$$V"; \ + else \ + OPT="-e"; \ + fi; \ + $(_VERSION) +update-version: + @OPT="-s`$(SHTOOL) version -lc -dshort $(_VERSION_FILE)`" && $(_VERSION) + +# make a striptease +striptease: + @$(PERL) striptease.pl + +# create dependencies +depend: + $(CP) Makefile.in Makefile.in.bak \ + && $(SED) -ne '1,/^# DO NOT REMOVE/p' Makefile.in > Makefile.new \ + && $(CC) -MM $(CPPFLAGS) $(CFLAGS) *.c |\ + $(SED) -e 's/^\(pth_.*\)\.o:/\1.lo:/' >> Makefile.new \ + && $(CP) Makefile.new Makefile.in \ + && $(RM) Makefile.new + +## +## ____ DEPENDENCY AREA ____________________________________________ +## (AUTOMATICALLY UPDATED - DO NOT EDIT) +## + +$(LOBJS): Makefile + +# DO NOT REMOVE +pth_attr.lo: pth_attr.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_cancel.lo: pth_cancel.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_clean.lo: pth_clean.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_compat.lo: pth_compat.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_data.lo: pth_data.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_debug.lo: pth_debug.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_errno.lo: pth_errno.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_event.lo: pth_event.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_ext.lo: pth_ext.c pth_p.h pth_vers.c pth.h pth_acdef.h pth_acmac.h +pth_fork.lo: pth_fork.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_high.lo: pth_high.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_lib.lo: pth_lib.c pth_p.h pth_vers.c pth.h pth_acdef.h pth_acmac.h +pth_mctx.lo: pth_mctx.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_msg.lo: pth_msg.c pth_p.h pth_vers.c pth.h pth_acdef.h pth_acmac.h +pth_pqueue.lo: pth_pqueue.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_ring.lo: pth_ring.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_sched.lo: pth_sched.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_sync.lo: pth_sync.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_syscall.lo: pth_syscall.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_tcb.lo: pth_tcb.c pth_p.h pth_vers.c pth.h pth_acdef.h pth_acmac.h +pth_time.lo: pth_time.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_util.lo: pth_util.c pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +pth_vers.lo: pth_vers.c +pthread.o: pthread.c pthread.h pth_p.h pth_vers.c pth.h pth_acdef.h \ + pth_acmac.h +test_common.o: test_common.c pth.h test_common.h +test_httpd.o: test_httpd.c pth.h test_common.h +test_misc.o: test_misc.c pth.h +test_mp.o: test_mp.c pth.h test_common.h +test_philo.o: test_philo.c pth.h test_common.h +test_pthread.o: test_pthread.c pthread.h +test_select.o: test_select.c pth.h +test_sfio.o: test_sfio.c pth.h +test_sig.o: test_sig.c pth.h +test_std.o: test_std.c pth.h Index: ossp-pkg/pth/PORTING RCS File: /v/ossp/cvs/ossp-pkg/pth/PORTING,v co -q -kk -p'1.147.2.1' '/v/ossp/cvs/ossp-pkg/pth/PORTING,v' | diff -u /dev/null - -L'ossp-pkg/pth/PORTING' 2>/dev/null --- ossp-pkg/pth/PORTING +++ - 2024-05-09 18:13:45.207161166 +0200 @@ -0,0 +1,194 @@ + ____ _ _ + | _ \| |_| |__ ``A good magician never reveals + | |_) | __| '_ \ his secret; the unbelievable trick + | __/| |_| | | | becomes simple and obvious once it is + |_| \__|_| |_| explained. So too with UNIX.'' + + GNU Pth - The GNU Portable Threads + + PORTING + ======= + + SUCCESSFULLY TESTED PLATFORMS + + The Pth package was successfully tested on the following platforms + (and should automatically adjust to other platforms, of course): + + __PLATFORM_ID_______________________ __MACHINE_CONTEXT__ __STACK__ __VERSION__ + i686-pc-freebsd3.4 | sjlj/ssjlj/sas | down | 1.3.0 [DEV] + i586-pc-freebsd3.1 | sjlj/ssjlj/sas | down | 1.3.3 + i686-pc-freebsd3.1 | sjlj/ssjlj/sas | down | 1.3.0 + i586-pc-freebsd3.2 | sjlj/ssjlj/sas | down | 1.2.0 + i686-pc-freebsd3.2 | sjlj/ssjlj/sas | down | 1.3.5 + i386-pc-freebsd3.3 | sjlj/ssjlj/sas | down | 1.2.1 + i486-pc-freebsd3.3 | sjlj/ssjlj/sas | down | 1.2.1 + i586-pc-freebsd3.3 | sjlj/ssjlj/sas | down | 1.3a5 + i686-pc-freebsd3.3 | sjlj/ssjlj/sas | down | 1.2.0 + i386-pc-freebsd3.4 | sjlj/ssjlj/sas | down | 1.3a2 + i586-pc-freebsd3.4 | sjlj/ssjlj/sas | down | 1.2.2 + i686-pc-freebsd3.5 | sjlj/ssjlj/sas | down | 1.4a2 + i686-pc-freebsd4.0 | sjlj/ssjlj/sas | down | 1.3.0 + i586-pc-freebsd4.0 | sjlj/ssjlj/sas | down | 1.3b2 + i586-pc-freebsd5.0 | sjlj/ssjlj/sas | down | 1.3.4 + i686-pc-freebsd2.2.8 | sjlj/ssjlj/sas | down | 1.2.0 + alpha-unknown-freebsd4.0 | sjlj/ssjlj/sas | down | 1.3.0 + alpha-unknown-freebsd5.0 | sjlj/ssjlj/sas | down | 1.3.5 + powerpc-unknown-netbsd | sjlj/ssjlj/sas | down | 1.3.2 + i386-unknown-netbsd1.4 | sjlj/ssjlj/sas | down | 1.3.0 + i386-unknown-netbsd1.4.1 | sjlj/ssjlj/sas | down | 1.3.0 + sparc-unknown-netbsd1.4.1 | sjlj/ssjlj/sas | down | 1.2b8 + alpha-unknown-netbsd1.4.1 | sjlj/ssjlj/sas | down | 1.3.2 + mipsel-unknown-netbsd1.4.2 | sjlj/ssjlj/sas | down | 1.3.5 + i386-unknown-netbsd1.4.2 | sjlj/ssjlj/sas | down | 1.3.6 + m68k-cbm-netbsd1.4.1 | sjlj/ssjlj/sas | down | 1.3a5 + m68k-apple-netbsd1.4.1 | sjlj/ssjlj/sas | down | 1.2b5 + i386-unknown-netbsd1.4T | sjlj/ssjlj/sas | down | 1.3.5 + powerpc-apple-netbsd1.4.2 | sjlj/ssjlj/sas | down | 1.3.5 + i386-unknown-netbsd1.4.2 | sjlj/ssjlj/sas | down | 1.4a2 + alpha-unknown-netbsd1.3.3 | sjlj/ssjlj/sas | down | 1.1.4 + i386-unknown-netbsd1.3.3 | sjlj/ssjlj/sas | down | 1.1.5 + i386-unknown-openbsd2.5 | sjlj/ssjlj/sas | down | 1.2b5 + sparc-unknown-openbsd2.6 | sjlj/ssjlj/sas | down | 1.2.0 + i386-unknown-openbsd2.6 | sjlj/ssjlj/sas | down | 1.2.1 + i386-pc-bsdi4.0 | sjlj/ssjlj/sas | down | 1.3.3 + armv4l-unknown-linux-gnu | sjlj/ssjlj/sas | down | 1.2b8 + i586-redhat-linux-gnu2.0glibc2.0 | sjlj/sjljlx/none | down | 1.3.0 + i586-redhat-linux-gnu2.2glibc2.0 | sjlj/sjljlx/none | down | 1.3a2 + i686-redhat-linux-gnu2.2glibc2.0 | sjlj/sjljlx/none | down | 1.3a1 + i686-redhat-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3b2 + i586-redhat-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.1 + i686-redhat-linux-gnu2.3glibc2.0 | sjlj/sjljlx/none | down | 1.3a4 + i586-redhat-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.1 + i686-redhat-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.3 + i486-redhat-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.5 + i686-suse-linux-gnu2.2glibc2.0 | sjlj/sjljlx/none | down | 1.3.1 + i586-suse-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.2 + i686-suse-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.2 + i686-suse-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.2 + i586-gnu-linux-gnu2.0glibc1 | sjlj/sjljlx/none | down | 1.3.1 + i586-gnu-linux-gnu2.2glibc1 | sjlj/sjljlx/none | down | 1.3.1 + i686-gnu-linux-gnu2.2glibc1 | sjlj/sjljlx/none | down | 1.3.5 + i586-gnu-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.0 + i686-gnu-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.5 + i686-gnu-linux-gnu2.0glibc1 | sjlj/sjljlx/none | down | 1.3.5 + i586-gnu-linux-gnu2.2glibc2.0 | sjlj/sjljlx/none | down | 1.3.3 + i586-debian-linux-gnu2.2glibc2.0 | sjlj/sjljlx/none | down | 1.3.0 + i686-debian-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.5 + i586-debian-linux-gnu2.3glibc2.1 | sjlj/ssjlj/sas | down | 1.3.3 + i586-debian-linux-gnu2.4glibc2.1 | sjlj/ssjlj/sas | down | 1.3.6 + i686-va-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.5 + i686-slackware-linux-gnu | sjlj/ssjlj/sas | down | 1.3.0 + i586-turbolinux-linux-gnu2.2glibc2.0| sjlj/sjljlx/none | down | 1.3.3 + i686-va-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.3 + i486-pc-linux-gnu | sjlj/sjljlx/none | down | 1.2.1 + i586-pc-linux-gnu | sjlj/sjljlx/none | down | 1.2.1 + i686-pc-linux-gnu | sjlj/sjljlx/none | down | 1.2.0 + i386-redhat-linux-gnu | sjlj/sjljlx/none | down | 1.3a1 + i486-pc-linux-gnulibc1 | sjlj/sjljlx/none | down | 1.2.1 + i586-pc-linux-gnulibc1 | sjlj/sjljlx/none | down | 1.2.0 + i686-pc-linux-gnulibc1 | sjlj/sjljlx/none | down | 1.2.0 + alpha-redhat-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.5 + sparc64-redhat-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.5 + sparc-redhat-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.3 + sparc-unknown-linux-gnu | sjlj/ssjlj/sas | down | 1.2.3 + alphaev56-unknown-linux-gnu | sjlj/ssjlj/sas | down | 1.2.0 + alphaev6-unknown-linux-gnu | sjlj/ssjlj/sas | down | 1.2.0 + powerpc-unknown-linux-gnu | sjls/ssjlj/sas | down | 1.2.0 + powerpc-debian-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas | down | 1.3.5 + sparc-sun-solaris2.8 | mcsc/sc/mc | down | 1.4a2 + sparc-sun-solaris2.7 | mcsc/sc/mc | down | 1.2.0 + sparc-sun-solaris2.6 | mcsc/sc/mc | down | 1.3.0 + sparc-sun-solaris2.5 | mcsc/sc/mc | down | 1.1.4 + sparc-sun-solaris2.5.1 | mcsc/sc/mc | down | 1.2.0 + sparc-sun-sunos4.1.3_U1 | sjlj/ssjlj/ss | down | 1.1.4 + sparc-sun-sunos4.1.4 | sjlj/ssjlj/ss | down | 1.1.6 + i386-pc-sysv5uw7 | mcsc/sc/mc | down | 1.3.0 + i386-pc-sysv5uw7.1.0 | mcsc/sc/mc | down | 1.3.5 + i386-pc-sysv5uw7.1.1 | mcsc/sc/mc | down | 1.3.3 + i386-pc-sysv4.2uw2.1.3 | mcsc/sc/mc | down | 1.3.0 + i386-pc-sysv4.2uw2.1 | mcsc/sc/mc | down | 1.1.6 + i586-pc-sco3.2v5.0.2 | sjlj/ssjlj/sas | down | 1.3.2 + i586-pc-sco3.2v5.0.4 | sjlj/ssjlj/sas | down | 1.2.0 + i686-pc-sco3.2v5.0.4 | sjlj/ssjlj/sas | down | 1.3.5 + i386-pc-sco3.2v5.0.5 | sjlj/ssjlj/sas | down | 1.2.1 + i686-pc-sco3.2v5.0.5 | sjlj/ssjlj/sas | down | 1.2.1 + i386-pc-sco3.2v5.0.5 | sjlj/ssjlj/sas | down | 1.2.2 + rs6000-ibm-aix4.3.2.0 | mcsc/sc/mc | down | 1.1.5 + rs6000-ibm-aix4.2.1.0 | mcsc/sc/mc | down | 1.1.5 + powerpc-ibm-aix4.1.4.0 | mcsc/sc/mc | down | 1.1.6 + powerpc-ibm-aix4.1.5.0 | mcsc/sc/mc | down | 1.1.5 + rs6000-ibm-aix4.1.5.0 | sjlj/ssjlj/ss | down | 1.3.5 + powerpc-ibm-aix4.2.1.0 | mcsc/sc/mc | down | 1.1.6 + powerpc-ibm-aix4.3.2.0 | mcsc/sc/mc | down | 1.2.1 + rs6000-ibm-aix4.3.3.0 | mcsc/sc/mc | down | 1.3.5 + powerpc-ibm-aix4.3.3.0 | mcsc/sc/mc | down | 1.3.5 + m68k-hp-hpux9.10 | sjlj/ssjlj/ss | down | 1.2.0 + hppa1.1-hp-hpux10.01 | sjlj/ssjlj/ss | up | 1.3.3 + hppa1.1-hp-hpux10.20 | sjlj/ssjlj/sas | up | 1.3.0 + hppa2.0-hp-hpux10.20 | sjlj/ssjlj/sas | up | 1.3.0 + hppa1.1-hp-hpux11.00 | mcsc/sc/mc | up | 1.2.3 + hppa2.0n-hp-hpux11.00 | mcsc/sc/mc | up | 1.2.1 + hppa2.0w-hp-hpux11.00 | mcsc/sc/mc | up | 1.4a1 + mips-sgi-irix5.3 | sjlj/ssjlj/sas | down | 1.2.2 + mips-sgi-irix6.5 | mcsc/sc/mc | down | 1.2b1 + mips-sgi-irix6.2 | mcsc/sc/mc | down | 1.3.0 + i386-pc-isc4.0 | sjlj/sjljisc/none | down | 1.2b2 + powerpc-apple-rhapsody5.5 | sjlj/ssjlj/sas | down | 1.2b3 + powerpc-apple-netbsd1.4.1 | sjlj/ssjlj/sas | down | 1.2.1 + alpha-dec-osf4.0e | mcsc/sc/mc | down | 1.3.3 + alpha-dec-osf4.0f | mcsc/sc/mc | down | 1.2.1 + alphaev56-dec-osf4.0d | mcsc/sc/mc | down | 1.2b6 + alphaev56-dec-osf4.0e | mcsc/sc/mc | down | 1.3.4 + alphaev56-dec-osf4.0f | mcsc/sc/mc | down | 1.2.0 + alphaev6-dec-osf4.0f | mcsc/sc/mc | down | 1.3.5 + alphaev6-dec-osf5.0 | mcsc/sc/mc | down | 1.2.0 + alpha-dec-osf5.0 | mcsc/sc/mc | down | 1.2.1 + m68k-unknown-amigaos | sjlj/ssjlj/ss | down | 1.2.1 + m68k-cbm-amigaos | sjlj/ssjlj/ss | down | 1.3.5 + i586-ncr-sysv4.3.03 | mcsc/sc/mc | down | 1.2.1 + mips-sni-sysv4 | mcsc/sc/mc | down | 1.2.3 + hppa1.1-stratus-sysv4 | mcsc/sc/mc | up | 1.3.1 + powerpc-apple-macosX | sjlj/ssjlj/sas | down | 1.3.2 + i686-pc-cygwin | sjlj/sjljw32/none | down | 1.3.6 + i386-pc-interix | sjlj/sjljisc/none | down | 1.3.5 + + HINTS FOR PORTING TO NEW PLATFORMS + + In case you're not able to use Pth on a new and esoteric platform, + here are a few hints. + + Pth has only one part which perhaps has to be ported to new platforms: the + machine context initialization, i.e. the function pth_mctx_set() in + pth_mctx.c. The exercise is to write a pth_mctx_set() function which + initializes a `jmp_buf' (see setjmp(3)) with a given function and stack, so + when the next longjmp(3) is done on this `jmp_buf', the function starts + executing on the given stack. + + By default, Pth uses a very tricky sigstack/sigaltstack() based approach for + establishing this `jmp_buf' which is mostly portable to all major Unix + platforms which support the involved POSIX functions (see rse-pmt.ps for a + detailed description of the trick). So the chance is very high that this + approach also works for forthcoming platforms and no real porting is + required. + + When this approach should not work (for instance brain-dead achient + GNU/Linux versions have a dummy sigstack/sigaltstack(), so we've no chance + this way), then you've to provide an alternative implementation. This + usually is done be fiddling around with the ingredients of a `jmp_buf' + structure. For this look inside your /usr/include/setjmp.h (plus files it + includes) and there especially for things like _pc or JB_PC (the program + counter) and _sp or JB_SP (the stack pointer). Then write an alternative + pth_mctx_set() function in pth_mctx.c. + + Currently, as mentioned, Pth requires such an alternative only under + GNU/Linux where sigstack/sigaltstack() are dummy functions. Look at the + GNU/Linux pth_mctx_set() variant in pth_mctx.c to get an impression what + type of `jmp_buf' fiddling you perhaps have to do for esoteric platforms. + Don't be confused by the fact that such specialized pth_mctx_set() functions + are just a few lines long while the standard function is very large. That's + all just needed for maximum portability. The goal nevertheless only is to + initialize a `jmp_buf' with PC and SP. That's all... + + Additionally see the INSTALL document for the --enable-mctx-XXX options. + These can be used to easily try out mctx combinations on a platform, too. + Index: ossp-pkg/pth/pth-config.1 RCS File: /v/ossp/cvs/ossp-pkg/pth/Attic/pth-config.1,v rcsdiff -q -kk '-r1.115.2.6' '-r1.115.2.7' -u '/v/ossp/cvs/ossp-pkg/pth/Attic/pth-config.1,v' 2>/dev/null --- pth-config.1 2000/07/29 14:57:14 1.115.2.6 +++ pth-config.1 2000/07/29 15:04:34 1.115.2.7 @@ -2,7 +2,7 @@ ''' $RCSfile$$Revision$$Date$ ''' ''' $Log$ -''' Revision 1.115.2.6 2000/07/29 14:57:14 rse +''' Revision 1.115.2.7 2000/07/29 15:04:34 rse ''' *** empty log message *** ''' ''' @@ -96,7 +96,7 @@ .nr % 0 .rr F .\} -.TH PTH-CONFIG 1 "01-Jul-2000" "GNU Pth 1.3.6" "GNU Portable Threads" +.TH PTH-CONFIG 1 "29-Jul-2000" "GNU Pth 1.3.7" "GNU Portable Threads" .UC .if n .hy 0 .if n .na @@ -193,7 +193,7 @@ .SH "NAME" \fBpth-config\fR \- Pth library build utility .SH "VERSION" -GNU Pth 1.3.6 (01-Jul-2000) +GNU Pth 1.3.7 (29-Jul-2000) .SH "SYNOPSIS" \fBpth-config\fR [\fB--help\fR] Index: ossp-pkg/pth/pth_vers.c RCS File: /v/ossp/cvs/ossp-pkg/pth/pth_vers.c,v rcsdiff -q -kk '-r1.121.2.5' '-r1.121.2.6' -u '/v/ossp/cvs/ossp-pkg/pth/pth_vers.c,v' 2>/dev/null --- pth_vers.c 2000/07/01 14:07:10 1.121.2.5 +++ pth_vers.c 2000/07/29 15:04:34 1.121.2.6 @@ -8,7 +8,7 @@ #ifndef _PTH_VERS_C_ #define _PTH_VERS_C_ -#define PTHVERSION 0x103206 +#define PTH_INTERNAL_VERSION 0x103207 typedef struct { const int v_hex; @@ -19,9 +19,9 @@ const char *v_web; const char *v_sccs; const char *v_rcs; -} PTHversion_t; +} pth_internal_version_t; -extern PTHversion_t PTHversion; +extern pth_internal_version_t pth_internal_version; #endif /* _PTH_VERS_C_ */ @@ -31,14 +31,14 @@ #include "pth_vers.c" #undef _PTH_VERS_C_AS_HEADER_ -PTHversion_t PTHversion = { - 0x103206, - "1.3.6", - "1.3.6 (01-Jul-2000)", - "This is GNU Pth, Version 1.3.6 (01-Jul-2000)", - "GNU Pth 1.3.6 (01-Jul-2000)", - "GNU Pth/1.3.6", - "@(#)GNU Pth 1.3.6 (01-Jul-2000)", +pth_internal_version_t pth_internal_version = { + 0x103207, + "1.3.7", + "1.3.7 (29-Jul-2000)", + "This is GNU Pth, Version 1.3.7 (29-Jul-2000)", + "GNU Pth 1.3.7 (29-Jul-2000)", + "GNU Pth/1.3.7", + "@(#)GNU Pth 1.3.7 (29-Jul-2000)", "$Id$" };