From: srittau Date: Thu, 17 Jan 2002 07:11:12 +0000 (+0000) Subject: More Solaris cleanups for 64bit compatibility. X-Git-Tag: point-backport-1-5-2~105 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5dd82b20cf15d2badcead9d218237d87325c7f69;p=netatalk.git More Solaris cleanups for 64bit compatibility. --- diff --git a/configure.in b/configure.in index 526ca8a2..40f9c0fb 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -dnl $Id: configure.in,v 1.150 2002-01-17 05:59:25 srittau Exp $ +dnl $Id: configure.in,v 1.151 2002-01-17 07:11:12 srittau Exp $ dnl configure.in for netatalk AC_INIT(bin/adv1tov2/adv1tov2.c) @@ -694,6 +694,7 @@ AC_OUTPUT([Makefile sys/netbsd/Makefile sys/netbsd/netatalk/Makefile sys/solaris/Makefile + sys/solaris/Makefile.kernel sys/sunos/Makefile sys/ultrix/Makefile ], diff --git a/sys/solaris/Makefile.am b/sys/solaris/Makefile.am index cec4e8ce..97dd2f6a 100644 --- a/sys/solaris/Makefile.am +++ b/sys/solaris/Makefile.am @@ -1,5 +1,5 @@ EXTRA_DIST = \ - Makefile.kernel \ + Makefile.kernel.in \ aarp.c \ ddp.c \ ddp.conf \ diff --git a/sys/solaris/Makefile.kernel b/sys/solaris/Makefile.kernel deleted file mode 100644 index 611afd4b..00000000 --- a/sys/solaris/Makefile.kernel +++ /dev/null @@ -1,200 +0,0 @@ -# Solaris specific defines, passed to subdirectories. -# To use Sun CC, uncomment the CC and KFLAGS variables. - -# uncomment for 64-bit sparc kernel -#SPARC64=true - -# solaris has -lcrypt, but we shouldn't use it. this may only be true -# for solaris 2.5.1 -USE_CRYPTLIB=no - -# use gcc (gcc-2.95 on 64-bit sparc) -CC= gcc -LD= ld -KCFLAGS= -D_KERNEL -Wall -Wstrict-prototypes ${KGCCFLAGS} # -mcpu=ultrasparc -OPTOPTS= -O -CSHAREDFLAGS= -fPIC -LDSHARED= ${CC} -LDSHAREDFLAGS= -shared - -# use Sun CC (for a 64-bit kernel, uncomment " -xarch=v9 -xregs=no%appl ") -#CC= cc -#KCFLAGS= -D_KERNEL # -xarch=v9 -xregs=no%appl -#OPTOPTS= -fast -xO5 -xstrconst -#CSHAREDFLAGS= -KPIC -#LDSHARED= cc -#LDSHAREDFLAGS= -G -#LDFLAGS_EXPORT= - -LIBSHARED= -ldl - -# -D_ISOC9X_SOURCE is handled by OSVERSION. basically, it's not needed -# with 2.5.1. -# add -DHAVE_IFNAMEINDEX if you're using solaris 8. -DEFS= -DNO_STRUCT_TM_GMTOFF -D__svr4__ -DSOLARIS -I../../sys/generic \ - -I.. ${OSDEFS} ${MACHINEDEFS} -INSTALL= /usr/ucb/install -AFPLIBS= -ADDLIBS= -lsocket -lnsl - -# Local build stuff. - -SRC= linkage.c tpi.c dlpi.c ioc.c if.c aarp.c ddp.c sock.c rt.c -OBJ= linkage.o tpi.o dlpi.o ioc.o if.o aarp.o ddp.o sock.o rt.o -HEADERS= if.h ioc.h rt.h sock.h -EXTRA_DIST= ddp.conf Makefile - -INCPATH= -I../../include -I../netatalk -I../.. -CFLAGS= ${DEFS} ${OPTOPTS} ${INCPATH} ${KCFLAGS} - -ALL= ../../libatalk ../../include ../../bin ../../etc ../../man - -oops: - @echo "Read README again. Don't type 'make' here." - @exit 1 - -all : kernel ${ALL} - -kernel : FRC - @case `uname -p` in \ - i386) \ - PROCESSOR=i386; \ - KGCCFLAGS=""; \ - ;; \ - sparc) \ - PROCESSOR=sparc; \ - KGCCFLAGS="-mno-app-regs -munaligned-doubles \ - -fpcc-struct-return" \ - ;; \ - *) echo "Unknown processor type..."; exit 1 \ - ;; \ - esac; \ - if [ x"${OSVERSION}" != x"5.5.1" ]; then \ - OSDEFS=-D_ISOC9X_SOURCE; \ - fi; \ - echo "Making $@ for $$PROCESSOR..."; \ - ${MAKE} -f Makefile.kernel ${MFLAGS} \ - SBINDIR="${sbindir}" BINDIR="${bindir}" RESDIR="${RESDIR}"\ - ETCDIR="${sysconfdir}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \ - MANDIR="${MANDIR}" DESTDIR="${DESTDIR}" AFSDIR="${AFSDIR}" \ - KRBDIR="${KRBDIR}" OSDEFS="$${OSDEFS}" \ - MACHINEDEFS="$${MACHINEDEFS}" \ - AFPLIBS="${AFPLIBS}" KGCCFLAGS="$${KGCCFLAGS}" ddp - -FRC: - -ddp : ${OBJ} - ${LD} -r -o ddp ${OBJ} - -linkage.o : linkage.c - ${CC} ${CFLAGS} -DVERSION=\"`cat ../../VERSION`\" -c linkage.c - -../../bin ../../etc: ../../libatalk - -${ALL}: FRC - if [ x"${OSVERSION}" != x"5.5.1" ]; then \ - OSDEFS=-D_ISOC9X_SOURCE; \ - fi; \ - cd $@; ${MAKE} ${MFLAGS} CC="${CC}" \ - ADDLIBS="${ADDLIBS}" DEFS="${DEFS} $${OSDEFS}" \ - OPTOPTS="${OPTOPTS}" \ - SBINDIR="${sbindir}" BINDIR="${bindir}" RESDIR="${RESDIR}" \ - ETCDIR="${sysconfdir}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \ - DESTDIR="${DESTDIR}" AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \ - AFPLIBS="${AFPLIBS}" LDSHARED="${LDSHARED}" \ - LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \ - LDSHAREDFLAGS="${LDSHAREDFLAGS}" CSHAREDFLAGS="${CSHAREDFLAGS}" \ - LIBSHARED="${LIBSHARED}" USE_CRYPTLIB="${USE_CRYPTLIB}" \ - OSDEFS="$${OSDEFS}" MACHINEDEFS="$${MACHINEDEFS}" \ - all - -FRC: - -kuninstall : FRC - rm -f /etc/rc2.d/S79atalk /etc/rc0.d/K79atalk - if [ x"${SPARC64}" != x ] ; then \ - ${RM} /usr/kernel/drv/sparcv9/ddp; \ - ${RM} /usr/kernel/strmod/sparcv9/ddp; \ - else \ - ${RM} /usr/kernel/drv/ddp; \ - ${RM} /usr/kernel/strmod/ddp; \ - fi - ${RM} /usr/kernel/drv/ddp.conf - -rem_drv ddp - sync;sync;sync - -kinstall : kernel kuninstall - if [ x"${SPARC64}" != x ]; then \ - ${INSTALL} -c ddp /usr/kernel/drv/sparcv9/ddp; \ - ln /usr/kernel/drv/sparcv9/ddp /usr/kernel/strmod/sparcv9/ddp; \ - else \ - ${INSTALL} -c ddp /usr/kernel/drv/ddp; \ - ln /usr/kernel/drv/ddp /usr/kernel/strmod/ddp; \ - fi - ${INSTALL} -c ddp.conf /usr/kernel/drv/ddp.conf - add_drv -m '* 0666 root sys' ddp - sync;sync;sync - if [ -f /etc/init.d/atalk ]; then \ - echo "Preserving existing /etc/init.d/atalk settings."; \ - else \ - sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${sbindir}@ \ - -e s@:BINDIR:@${bindir}@ -e s@:RESDIR:@${RESDIR}@ \ - -e s@:ETCDIR:@${sysconfdir}@ -e s@:LIBDIR:@${LIBDIR}@ \ - -e s@:INCDIR:@${INCDIR}@ \ - < ../../distrib/initscripts/rc.atalk.sysv > /etc/init.d/atalk; \ - fi - chmod 744 /etc/init.d/atalk - -ln -s ../init.d/atalk /etc/rc2.d/S79atalk - -ln -s ../init.d/atalk /etc/rc0.d/K79atalk - -install : - -mkdir ${DESTDIR}${sbindir} ${DESTDIR}${bindir} ${DESTDIR}${sysconfdir} \ - ${DESTDIR}${libdir} - sed -e s@:BINDIR:@${prefix}/bin@ < ../../contrib/shell_utils/lp2pap.sh > ${DESTDIR}${RESDIR}/lp2pap.sh - chmod 744 ${DESTDIR}${sysconfdir}/lp2pap.sh - for i in ${ALL}; \ - do (cd $$i; ${MAKE} ${MFLAGS} CC="${CC}" \ - ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \ - SBINDIR="${sbindir}" BINDIR="${bindir}" RESDIR="${RESDIR}" \ - ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \ - AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \ - AFPLIBS="${AFPLIBS}" \ - LDSHARED="${LDSHARED}" LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \ - LDSHAREDFLAGS="${LDSHAREDFLAGS}" \ - CSHAREDFLAGS="${CSHAREDFLAGS}" LIBSHARED="${LIBSHARED}" \ - OSDEFS="$${OSDEFS}" MACHINEDEFS="$${MACHINEDEFS}" \ - INSTALL="${INSTALL}" $@); \ - done - if [ -f ${DESTDIR}${sysconfdir}/afpd.conf ]; then \ - echo "Retaining old afpd.conf file."; \ - else \ - sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${sbindir}@ \ - -e s@:BINDIR:@${bindir}@ -e s@:RESDIR:@${RESDIR}@ \ - -e s@:ETCDIR:@${sysconfdir}@ -e s@:LIBDIR:@${LIBDIR}@ \ - -e s@:INCDIR:@${INCDIR}@ \ - < ../../config/afpd.conf > ${sysconfdir}/afpd.conf; \ - fi - @echo - @echo "Install is done. Don't forget to add lines from" - @echo "services.atalk to /etc/services and to call rc.atalk" - @echo "in /etc/rc. See README and README.SOLARIS for more" - @echo "information." - -distdir : - -clean : sysclean - for i in ${ALL}; \ - do (cd $$i; ${MAKE} ${MFLAGS} clean); \ - done - -klean sysclean : - rm -f a.out core* *.o *.bak *[Ee]rrs tags - rm -f ddp - -depend : - for i in ${ALL}; \ - do (cd $$i; ${MAKE} ${MFLAGS} DEFS="${DEFS}" depend); \ - done - -# DO NOT DELETE THIS LINE - diff --git a/sys/solaris/Makefile.kernel.in b/sys/solaris/Makefile.kernel.in new file mode 100644 index 00000000..fd8a777c --- /dev/null +++ b/sys/solaris/Makefile.kernel.in @@ -0,0 +1,205 @@ +# Solaris specific defines, passed to subdirectories. +# To use Sun CC, uncomment the CC and KFLAGS variables. +# +# $Id: Makefile.kernel.in,v 1.1 2002-01-17 07:11:13 srittau Exp $ + + +# uncomment for 64-bit sparc kernel +#SPARC64=true + +# solaris has -lcrypt, but we shouldn't use it. this may only be true +# for solaris 2.5.1 +USE_CRYPTLIB=no + +INSTALL = @INSTALL@ + +CC = @CC@ +LD = @LD@ + +# use gcc +KCFLAGS = -D_KERNEL -Wall -Wstrict-prototypes ${KGCCFLAGS} # -mcpu=ultrasparc +OPTOPTS = -O +CSHAREDFLAGS = -fPIC +LDSHARED = ${CC} +LDSHAREDFLAGS = -shared +# LDSHAREDFLAGS = -shared -64 + +# use Sun CC (for a 64-bit kernel, uncomment " -xarch=v9 -xregs=no%appl ") +#KCFLAGS= -D_KERNEL # -xarch=v9 -xregs=no%appl +#OPTOPTS= -fast -xO5 -xstrconst +#CSHAREDFLAGS= -KPIC +#LDSHARED= cc +#LDSHAREDFLAGS= -G +#LDFLAGS_EXPORT= + +LIBSHARED= -ldl + +# -D_ISOC9X_SOURCE is handled by OSVERSION. basically, it's not needed +# with 2.5.1. +# add -DHAVE_IFNAMEINDEX if you're using solaris 8. +DEFS= -DNO_STRUCT_TM_GMTOFF -DHAVE_IFNAMEINDEX -D__svr4__ -DSOLARIS -I../../sys/generic \ + -I.. ${OSDEFS} ${MACHINEDEFS} +AFPLIBS= +ADDLIBS= -lsocket -lnsl + +# Local build stuff. + +SRC= linkage.c tpi.c dlpi.c ioc.c if.c aarp.c ddp.c sock.c rt.c +OBJ= linkage.o tpi.o dlpi.o ioc.o if.o aarp.o ddp.o sock.o rt.o +HEADERS= if.h ioc.h rt.h sock.h +EXTRA_DIST= ddp.conf Makefile + +INCPATH= -I../../include -I../netatalk -I../.. +CFLAGS= ${DEFS} ${OPTOPTS} ${INCPATH} ${KCFLAGS} + +ALL= ../../libatalk ../../include ../../bin ../../etc ../../man + +oops: + @echo "Read README again. Don't type 'make' here." + @exit 1 + +all : kernel ${ALL} + +kernel : FRC + @case `uname -p` in \ + i386) \ + PROCESSOR=i386; \ + KGCCFLAGS=""; \ + ;; \ + sparc) \ + PROCESSOR=sparc; \ + KGCCFLAGS="-mno-app-regs -munaligned-doubles \ + -fpcc-struct-return" \ + ;; \ + *) echo "Unknown processor type..."; exit 1 \ + ;; \ + esac; \ + if [ x"${OSVERSION}" != x"5.5.1" ]; then \ + OSDEFS=-D_ISOC9X_SOURCE; \ + fi; \ + echo "Making $@ for $$PROCESSOR..."; \ + ${MAKE} -f Makefile.kernel ${MFLAGS} \ + SBINDIR="${sbindir}" BINDIR="${bindir}" RESDIR="${RESDIR}"\ + ETCDIR="${sysconfdir}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \ + MANDIR="${MANDIR}" DESTDIR="${DESTDIR}" AFSDIR="${AFSDIR}" \ + KRBDIR="${KRBDIR}" OSDEFS="$${OSDEFS}" \ + MACHINEDEFS="$${MACHINEDEFS}" \ + AFPLIBS="${AFPLIBS}" KGCCFLAGS="$${KGCCFLAGS}" ddp + +FRC: + +ddp : ${OBJ} + ${LD} -r -o ddp ${OBJ} + +linkage.o : linkage.c + ${CC} ${CFLAGS} -DVERSION=\"`cat ../../VERSION`\" -c linkage.c + +../../bin ../../etc: ../../libatalk + +${ALL}: FRC + if [ x"${OSVERSION}" != x"5.5.1" ]; then \ + OSDEFS=-D_ISOC9X_SOURCE; \ + fi; \ + cd $@; ${MAKE} ${MFLAGS} CC="${CC}" \ + ADDLIBS="${ADDLIBS}" DEFS="${DEFS} $${OSDEFS}" \ + OPTOPTS="${OPTOPTS}" \ + SBINDIR="${sbindir}" BINDIR="${bindir}" RESDIR="${RESDIR}" \ + ETCDIR="${sysconfdir}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \ + DESTDIR="${DESTDIR}" AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \ + AFPLIBS="${AFPLIBS}" LDSHARED="${LDSHARED}" \ + LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \ + LDSHAREDFLAGS="${LDSHAREDFLAGS}" CSHAREDFLAGS="${CSHAREDFLAGS}" \ + LIBSHARED="${LIBSHARED}" USE_CRYPTLIB="${USE_CRYPTLIB}" \ + OSDEFS="$${OSDEFS}" MACHINEDEFS="$${MACHINEDEFS}" \ + all + +FRC: + +kuninstall : FRC + rm -f /etc/rc2.d/S79atalk /etc/rc0.d/K79atalk + if [ x"${SPARC64}" != x ] ; then \ + ${RM} /usr/kernel/drv/sparcv9/ddp; \ + ${RM} /usr/kernel/strmod/sparcv9/ddp; \ + else \ + ${RM} /usr/kernel/drv/ddp; \ + ${RM} /usr/kernel/strmod/ddp; \ + fi + ${RM} /usr/kernel/drv/ddp.conf + -rem_drv ddp + sync;sync;sync + +kinstall : kernel kuninstall + if [ x"${SPARC64}" != x ]; then \ + ${INSTALL} -c ddp /usr/kernel/drv/sparcv9/ddp; \ + ln /usr/kernel/drv/sparcv9/ddp /usr/kernel/strmod/sparcv9/ddp; \ + else \ + ${INSTALL} -c ddp /usr/kernel/drv/ddp; \ + ln /usr/kernel/drv/ddp /usr/kernel/strmod/ddp; \ + fi + ${INSTALL} -c ddp.conf /usr/kernel/drv/ddp.conf + add_drv -m '* 0666 root sys' ddp + sync;sync;sync + if [ -f /etc/init.d/atalk ]; then \ + echo "Preserving existing /etc/init.d/atalk settings."; \ + else \ + sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${sbindir}@ \ + -e s@:BINDIR:@${bindir}@ -e s@:RESDIR:@${RESDIR}@ \ + -e s@:ETCDIR:@${sysconfdir}@ -e s@:LIBDIR:@${LIBDIR}@ \ + -e s@:INCDIR:@${INCDIR}@ \ + < ../../distrib/initscripts/rc.atalk.sysv > /etc/init.d/atalk; \ + fi + chmod 744 /etc/init.d/atalk + -ln -s ../init.d/atalk /etc/rc2.d/S79atalk + -ln -s ../init.d/atalk /etc/rc0.d/K79atalk + +install : + -mkdir ${DESTDIR}${sbindir} ${DESTDIR}${bindir} ${DESTDIR}${sysconfdir} \ + ${DESTDIR}${libdir} + sed -e s@:BINDIR:@${prefix}/bin@ < ../../contrib/shell_utils/lp2pap.sh > ${DESTDIR}${RESDIR}/lp2pap.sh + chmod 744 ${DESTDIR}${sysconfdir}/lp2pap.sh + for i in ${ALL}; \ + do (cd $$i; ${MAKE} ${MFLAGS} CC="${CC}" \ + ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \ + SBINDIR="${sbindir}" BINDIR="${bindir}" RESDIR="${RESDIR}" \ + ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \ + AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \ + AFPLIBS="${AFPLIBS}" \ + LDSHARED="${LDSHARED}" LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \ + LDSHAREDFLAGS="${LDSHAREDFLAGS}" \ + CSHAREDFLAGS="${CSHAREDFLAGS}" LIBSHARED="${LIBSHARED}" \ + OSDEFS="$${OSDEFS}" MACHINEDEFS="$${MACHINEDEFS}" \ + INSTALL="${INSTALL}" $@); \ + done + if [ -f ${DESTDIR}${sysconfdir}/afpd.conf ]; then \ + echo "Retaining old afpd.conf file."; \ + else \ + sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${sbindir}@ \ + -e s@:BINDIR:@${bindir}@ -e s@:RESDIR:@${RESDIR}@ \ + -e s@:ETCDIR:@${sysconfdir}@ -e s@:LIBDIR:@${LIBDIR}@ \ + -e s@:INCDIR:@${INCDIR}@ \ + < ../../config/afpd.conf > ${sysconfdir}/afpd.conf; \ + fi + @echo + @echo "Install is done. Don't forget to add lines from" + @echo "services.atalk to /etc/services and to call rc.atalk" + @echo "in /etc/rc. See README and README.SOLARIS for more" + @echo "information." + +distdir : + +clean : sysclean + for i in ${ALL}; \ + do (cd $$i; ${MAKE} ${MFLAGS} clean); \ + done + +klean sysclean : + rm -f a.out core* *.o *.bak *[Ee]rrs tags + rm -f ddp + +depend : + for i in ${ALL}; \ + do (cd $$i; ${MAKE} ${MFLAGS} DEFS="${DEFS}" depend); \ + done + +# DO NOT DELETE THIS LINE + diff --git a/sys/solaris/if.c b/sys/solaris/if.c index 810e7485..922c6023 100644 --- a/sys/solaris/if.c +++ b/sys/solaris/if.c @@ -1,3 +1,10 @@ +/* $Id: if.c,v 1.2 2002-01-17 07:11:13 srittau Exp $ + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif /* HAVE_CONFIG_H */ + #include #include #include @@ -11,7 +18,12 @@ #include #include #include + +#ifdef STDC_HEADERS +#include +#else #include +#endif #include #include diff --git a/sys/solaris/ioc.c b/sys/solaris/ioc.c index 936336fe..84b15861 100644 --- a/sys/solaris/ioc.c +++ b/sys/solaris/ioc.c @@ -1,8 +1,19 @@ +/* $Id: ioc.c,v 1.2 2002-01-17 07:11:13 srittau Exp $ + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif /* HAVE_CONFIG_H */ + #include #include #include +#ifdef STDC_HEADERS +#include +#else #include +#endif #include "ioc.h" diff --git a/sys/solaris/sock.c b/sys/solaris/sock.c index 2c197993..0a3fb799 100644 --- a/sys/solaris/sock.c +++ b/sys/solaris/sock.c @@ -1,3 +1,10 @@ +/* $Id: sock.c,v 1.2 2002-01-17 07:11:13 srittau Exp $ + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif /* HAVE_CONFIG_H */ + #include #include #include @@ -8,7 +15,11 @@ #include #include +#ifdef STDC_HEADERS +#include +#else #include +#endif #include