summaryrefslogtreecommitdiff
path: root/solaris
diff options
context:
space:
mode:
authorJames Carlson <carlsonj@workingcode.com>2002-09-07 05:15:25 +0000
committerJames Carlson <carlsonj@workingcode.com>2002-09-07 05:15:25 +0000
commitfcec736c6140de7ac8fa9a8fe425932d13b0e45a (patch)
tree2776618637deed16c72933dfdbd08111591e516f /solaris
parentc294523750856c8ab8bf40901aef3843b9374624 (diff)
downloadppp-fcec736c6140de7ac8fa9a8fe425932d13b0e45a.tar.gz
Added ability to detect and use either gcc or Sun WorkShop C compiler
on Solaris. Added support for Solaris 10. Quieted down warning in ppp_comp.c due to bad preprocessor usage. Quieted WorkShop warnings in options.c (casting of void * to function) and pppd.h (constant too large). Tested in 32 and 64 bit modes with gcc and WorkShop.
Diffstat (limited to 'solaris')
-rw-r--r--solaris/Makedefs6
-rw-r--r--solaris/Makedefs.gcc12
-rw-r--r--solaris/Makedefs.sol24
-rw-r--r--solaris/Makefile.sol2gcc64
-rw-r--r--solaris/Makefile.sol2gcc-6485
5 files changed, 164 insertions, 7 deletions
diff --git a/solaris/Makedefs b/solaris/Makedefs
index 81db8ab..f5ac9c7 100644
--- a/solaris/Makedefs
+++ b/solaris/Makedefs
@@ -8,9 +8,5 @@ BINDIR = /usr/local/bin
MANDIR = /usr/local/man
ETCDIR = /etc/ppp
+CC = /opt/SUNWspro/bin/cc
COPTS = -O -Xa
-
-# For compiling with gcc, comment out the COPTS definition above and
-# uncomment the next 2 definitions.
-#CC = gcc
-#COPTS = -O2
diff --git a/solaris/Makedefs.gcc b/solaris/Makedefs.gcc
new file mode 100644
index 0000000..e24152f
--- /dev/null
+++ b/solaris/Makedefs.gcc
@@ -0,0 +1,12 @@
+#
+# defines common to several Makefiles
+#
+
+INSTALL= /usr/sbin/install
+
+BINDIR = /usr/local/bin
+MANDIR = /usr/local/man
+ETCDIR = /etc/ppp
+
+CC = gcc
+COPTS = -O2
diff --git a/solaris/Makedefs.sol2 b/solaris/Makedefs.sol2
index ee57da0..a0417bd 100644
--- a/solaris/Makedefs.sol2
+++ b/solaris/Makedefs.sol2
@@ -1,10 +1,10 @@
#
# Generic make definitions for Solaris 2
#
-# $Id: Makedefs.sol2,v 1.1 2000/04/18 23:51:27 masputra Exp $
+# $Id: Makedefs.sol2,v 1.2 2002/09/07 05:15:25 carlsonj Exp $
#
-include ../solaris/Makedefs
+include ../Makedefs.com
CPPFLAGS = -D_KERNEL -DSVR4 -DSOL2 -DPRIOQ -DDEBUG -I../include
CFLAGS = $(CPPFLAGS) $(COPTS)
diff --git a/solaris/Makefile.sol2gcc b/solaris/Makefile.sol2gcc
new file mode 100644
index 0000000..0eb97ad
--- /dev/null
+++ b/solaris/Makefile.sol2gcc
@@ -0,0 +1,64 @@
+#
+# Makefile for STREAMS modules for Solaris 2.
+#
+# $Id: Makefile.sol2gcc,v 1.1 2002/09/07 05:15:25 carlsonj Exp $
+#
+
+include Makedefs.sol2
+
+COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
+ ppp_comp_mod.o
+
+all: ppp ppp_ahdl ppp_comp
+
+ppp: ppp.o ppp_mod.o
+ ld -r -o $@ ppp.o ppp_mod.o
+ chmod +x $@
+
+ppp_ahdl: ppp_ahdlc.o ppp_ahdlc_mod.o
+ ld -r -o $@ ppp_ahdlc.o ppp_ahdlc_mod.o
+ chmod +x $@
+
+ppp_comp: $(COMP_OBJS)
+ ld -r -o $@ $(COMP_OBJS)
+ chmod +x $@
+
+bsd-comp.o: ../modules/bsd-comp.c
+ $(CC) $(CFLAGS) -c $?
+deflate.o: ../modules/deflate.c
+ $(CC) $(CFLAGS) -c $?
+ppp.o: ppp.c
+ $(CC) $(CFLAGS) -c $?
+ppp_mod.o: ppp_mod.c
+ $(CC) $(CFLAGS) -c $?
+ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
+ $(CC) $(CFLAGS) -c $?
+ppp_ahdlc.o: ppp_ahdlc.c
+ $(CC) $(CFLAGS) -c $?
+ppp_comp.o: ppp_comp.c
+ $(CC) $(CFLAGS) -c $?
+ppp_comp_mod.o: ppp_comp_mod.c
+ $(CC) $(CFLAGS) -c $?
+vjcompress.o: ../modules/vjcompress.c
+ $(CC) $(CFLAGS) -c $?
+zlib.o: ../common/zlib.c
+ $(CC) $(CFLAGS) -c $?
+
+install:
+ cp ppp ppp.conf /kernel/drv
+ cp ppp_comp ppp_ahdl /kernel/strmod
+ if grep clone:ppp /etc/minor_perm; then :; else \
+ echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
+ /usr/sbin/rem_drv ppp 2>/dev/null || true
+ /usr/sbin/add_drv ppp
+
+SRCS = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
+ ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
+ ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
+
+lint:
+ $(LINT32) $(SRCS)
+
+clean:
+ rm -f ppp ppp_comp ppp_ahdl *.o *~ core
+ rm -f *.ln
diff --git a/solaris/Makefile.sol2gcc-64 b/solaris/Makefile.sol2gcc-64
new file mode 100644
index 0000000..f826f1a
--- /dev/null
+++ b/solaris/Makefile.sol2gcc-64
@@ -0,0 +1,85 @@
+#
+# Makefile for 64-bit STREAMS modules for Solaris 2.
+#
+# $Id: Makefile.sol2gcc-64,v 1.1 2002/09/07 05:15:25 carlsonj Exp $
+#
+
+include Makedefs.sol2
+
+# gcc flags for LP64 compilation / linkage
+COPTS += -mcpu=v9 -m64 -mcmodel=medlow -mstack-bias -fno-builtin
+
+# subdirectory where 64-bit objects / binaries will be placed
+LP64DIR = sparcv9
+
+# Name of legacy Makefile (for 32-bit binaries)
+STD_MAKE = Makefile.sol2gcc
+
+COMP_OBJS = $(LP64DIR)/ppp_comp.o $(LP64DIR)/bsd-comp.o \
+ $(LP64DIR)/deflate.o $(LP64DIR)/zlib.o $(LP64DIR)/vjcompress.o \
+ $(LP64DIR)/ppp_comp_mod.o
+
+all: std_objs $(LP64DIR) ppp ppp_ahdl ppp_comp
+
+std_objs:
+ $(MAKE) -f $(STD_MAKE) all
+
+ppp: $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
+ ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
+ chmod +x $(LP64DIR)/$@
+
+ppp_ahdl: $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
+ ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
+ chmod +x $(LP64DIR)/$@
+
+ppp_comp: $(COMP_OBJS)
+ ld -r -o $(LP64DIR)/$@ $(COMP_OBJS)
+ chmod +x $(LP64DIR)/$@
+
+$(LP64DIR)/bsd-comp.o: ../modules/bsd-comp.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/deflate.o: ../modules/deflate.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp.o: ppp.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_mod.o: ppp_mod.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_ahdlc.o: ppp_ahdlc.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_comp.o: ppp_comp.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_comp_mod.o: ppp_comp_mod.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/vjcompress.o: ../modules/vjcompress.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/zlib.o: ../common/zlib.c
+ $(CC) $(CFLAGS) -c $? -o $@
+
+$(LP64DIR):
+ mkdir -m 755 -p $@
+
+install:
+ cp ppp ppp.conf /kernel/drv
+ cp ppp_comp ppp_ahdl /kernel/strmod
+ cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
+ cp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl /kernel/strmod/$(LP64DIR)
+ if grep clone:ppp /etc/minor_perm; then :; else \
+ echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
+ /usr/sbin/rem_drv ppp 2>/dev/null || true
+ /usr/sbin/add_drv ppp
+
+SRCS = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
+ ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
+ ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
+
+lint:
+ $(LINT64) $(SRCS)
+
+lint-32:
+ $(LINT32) $(SRCS)
+
+clean:
+ $(MAKE) -f $(STD_MAKE) clean
+ rm -f $(LP64DIR)/ppp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl $(LP64DIR)/*.o $(LP64DIR)/*~ $(LP64DIR)/core