Unbreak this port for alpha

This commit is contained in:
niklas 1998-02-12 20:21:07 +00:00
parent f9d74d909f
commit 7bc304da0c
2 changed files with 144 additions and 211 deletions

View File

@ -3,7 +3,7 @@
# Date created: December 4, 1997
# Whom: Angelos D. Keromytis
#
# $OpenBSD: Makefile,v 1.4 1998/02/10 12:59:09 niklas Exp $
# $OpenBSD: Makefile,v 1.5 1998/02/12 20:21:07 niklas Exp $
#
DISTNAME= gsm-1.0.10
@ -12,10 +12,6 @@ MASTER_SITES= ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm/
MAINTAINER= angelos@openbsd.org
.if ${MACHINE_ARCH} == "alpha"
BROKEN= yes
.endif
WRKSRC= ${WRKDIR}/gsm-1.0-pl10
MAN1= toast.1
MAN3= gsm.3 gsm_explode.3 gsm_option.3 gsm_print.3

View File

@ -1,206 +1,143 @@
*** Makefile.orig Tue Jul 2 18:36:06 1996
--- Makefile Fri Oct 25 17:15:42 1996
***************
*** 7,17 ****
SASR = -DSASR
######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1)
! MULHACK = -DUSE_FLOAT_MUL
######### Define this if your host multiplies floats faster than integers,
######### e.g. on a SPARCstation.
! FAST = -DFAST
######### Define together with USE_FLOAT_MUL to enable the GSM library's
######### approximation option for incorrect, but good-enough results.
--- 7,19 ----
SASR = -DSASR
######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1)
! #MULHACK = -DUSE_FLOAT_MUL # Don't define it for FreeBSD, cause SIGFPE
! MULHACK =
######### Define this if your host multiplies floats faster than integers,
######### e.g. on a SPARCstation.
! #FAST = -DFAST
! FAST =
######### Define together with USE_FLOAT_MUL to enable the GSM library's
######### approximation option for incorrect, but good-enough results.
***************
*** 43,50 ****
# CC = /usr/lang/acc
# CCFLAGS = -c -O
! CC = gcc -ansi -pedantic
! CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1
LD = $(CC)
--- 45,52 ----
# CC = /usr/lang/acc
# CCFLAGS = -c -O
! #CC = gcc -ansi -pedantic
! CCFLAGS = -c -DNeedFunctionPrototypes=1
LD = $(CC)
***************
*** 59,69 ****
--- 61,73 ----
######### Includes needed by $(CC)
# LDINC = -L/usr/gnu/lib/gcc-2.1/gcc-lib/sparc-sun-sunos4.1.2/2.1
+ LDINC = -L$(LIB)
######### Library paths needed by $(LD)
# LDLIB = -lgcc
######### Additional libraries needed by $(LD)
+ PREFIX= /usr/local
# Where do you want to install libraries, binaries, a header file
# and the manual pages?
***************
*** 71,77 ****
# Leave INSTALL_ROOT empty (or just don't execute "make install") to
# not install gsm and toast outside of this directory.
! INSTALL_ROOT =
# Where do you want to install the gsm library, header file, and manpages?
#
--- 75,81 ----
# Leave INSTALL_ROOT empty (or just don't execute "make install") to
# not install gsm and toast outside of this directory.
! INSTALL_ROOT = $(PREFIX)
# Where do you want to install the gsm library, header file, and manpages?
#
***************
*** 80,86 ****
GSM_INSTALL_ROOT = $(INSTALL_ROOT)
GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib
! GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc
GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
--- 84,90 ----
GSM_INSTALL_ROOT = $(INSTALL_ROOT)
GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib
! GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include
GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
***************
*** 129,141 ****
# DEBUG = -DNDEBUG
######### Remove -DNDEBUG to enable assertions.
! CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
$(WAV49) $(CCINC) -I$(INC)
######### It's $(CC) $(CFLAGS)
LFLAGS = $(LDFLAGS) $(LDINC)
######### It's $(LD) $(LFLAGS)
# Targets
--- 133,146 ----
# DEBUG = -DNDEBUG
######### Remove -DNDEBUG to enable assertions.
! CFLAGS += $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
$(WAV49) $(CCINC) -I$(INC)
######### It's $(CC) $(CFLAGS)
LFLAGS = $(LDFLAGS) $(LDINC)
######### It's $(LD) $(LFLAGS)
+ .SUFFIXES: .c .so .o
# Targets
***************
*** 258,263 ****
--- 263,269 ----
GSM_INSTALL_TARGETS = \
$(GSM_INSTALL_LIB)/libgsm.a \
+ $(GSM_INSTALL_LIB)/libgsm.so.1.0.10 \
$(GSM_INSTALL_INC)/gsm.h \
$(GSM_INSTALL_MAN)/gsm.3 \
$(GSM_INSTALL_MAN)/gsm_explode.3 \
***************
*** 277,285 ****
$(CC) $(CFLAGS) $?
@-mv `$(BASENAME) $@` $@ > /dev/null 2>&1
# Target rules
! all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
@-echo $(ROOT): Done.
tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
--- 283,294 ----
$(CC) $(CFLAGS) $?
@-mv `$(BASENAME) $@` $@ > /dev/null 2>&1
+ .c.so:
+ ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+
# Target rules
! all: $(LIBGSM) $(LIB)/libgsm.so.1.0.10 $(TOAST) $(TCAT) $(UNTOAST)
@-echo $(ROOT): Done.
tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
***************
*** 299,304 ****
--- 308,316 ----
# The basic API: libgsm
+ $(LIB)/libgsm.so.1.0.10: $(LIB) $(GSM_OBJECTS:S/o$/so/g)
+ ld -Bshareable -o $@ $(GSM_OBJECTS:S/o$/so/g)
+
$(LIBGSM): $(LIB) $(GSM_OBJECTS)
-rm $(RMFLAGS) $(LIBGSM)
$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
***************
*** 308,314 ****
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
! $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
$(UNTOAST): $(BIN) $(TOAST)
-rm $(RMFLAGS) $(UNTOAST)
--- 320,326 ----
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
! $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) -lgsm $(LDLIB)
$(UNTOAST): $(BIN) $(TOAST)
-rm $(RMFLAGS) $(UNTOAST)
***************
*** 394,399 ****
--- 406,417 ----
chmod 444 $@
$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
+ -rm $@
+ cp $? $@
+ chmod 444 $@
+ ranlib $@
+
+ $(GSM_INSTALL_LIB)/libgsm.so.1.0.10: $(LIB)/libgsm.so.1.0.10
-rm $@
cp $? $@
chmod 444 $@
--- Makefile.orig Tue Jul 2 16:36:06 1996
+++ Makefile Wed Feb 11 21:43:14 1998
@@ -7,11 +7,13 @@
SASR = -DSASR
######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1)
-MULHACK = -DUSE_FLOAT_MUL
+#MULHACK = -DUSE_FLOAT_MUL # Don't define it for FreeBSD, cause SIGFPE
+MULHACK =
######### Define this if your host multiplies floats faster than integers,
######### e.g. on a SPARCstation.
-FAST = -DFAST
+#FAST = -DFAST
+FAST =
######### Define together with USE_FLOAT_MUL to enable the GSM library's
######### approximation option for incorrect, but good-enough results.
@@ -43,8 +45,8 @@
# CC = /usr/lang/acc
# CCFLAGS = -c -O
-CC = gcc -ansi -pedantic
-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1
+#CC = gcc -ansi -pedantic
+CCFLAGS = -c -DNeedFunctionPrototypes=1
LD = $(CC)
@@ -59,11 +61,13 @@
######### Includes needed by $(CC)
# LDINC = -L/usr/gnu/lib/gcc-2.1/gcc-lib/sparc-sun-sunos4.1.2/2.1
+LDINC = -L$(LIB)
######### Library paths needed by $(LD)
# LDLIB = -lgcc
######### Additional libraries needed by $(LD)
+PREFIX= /usr/local
# Where do you want to install libraries, binaries, a header file
# and the manual pages?
@@ -71,7 +75,7 @@
# Leave INSTALL_ROOT empty (or just don't execute "make install") to
# not install gsm and toast outside of this directory.
-INSTALL_ROOT =
+INSTALL_ROOT = $(PREFIX)
# Where do you want to install the gsm library, header file, and manpages?
#
@@ -80,7 +84,7 @@
GSM_INSTALL_ROOT = $(INSTALL_ROOT)
GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib
-GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc
+GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include
GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
@@ -129,18 +133,25 @@
# DEBUG = -DNDEBUG
######### Remove -DNDEBUG to enable assertions.
-CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
+CFLAGS += $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
$(WAV49) $(CCINC) -I$(INC)
######### It's $(CC) $(CFLAGS)
LFLAGS = $(LDFLAGS) $(LDINC)
######### It's $(LD) $(LFLAGS)
+.SUFFIXES: .c .so .o
# Targets
LIBGSM = $(LIB)/libgsm.a
-
+.if ${MACHINE} == "alpha"
+LIBGSMSO =
+INTALLED_LIBGSMSO =
+.else
+LIBGSMSO = $(LIB)/libgsm.so.1.0
+INTALLED_LIBGSMSO = $(GSM_INSTALL_LIB)/$(LIBGSMSO)
+.endif
TOAST = $(BIN)/toast
UNTOAST = $(BIN)/untoast
TCAT = $(BIN)/tcat
@@ -258,6 +269,7 @@
GSM_INSTALL_TARGETS = \
$(GSM_INSTALL_LIB)/libgsm.a \
+ $(INSTALLED_LIBGSMSO) \
$(GSM_INSTALL_INC)/gsm.h \
$(GSM_INSTALL_MAN)/gsm.3 \
$(GSM_INSTALL_MAN)/gsm_explode.3 \
@@ -277,9 +289,12 @@
$(CC) $(CFLAGS) $?
@-mv `$(BASENAME) $@` $@ > /dev/null 2>&1
+.c.so:
+ ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+
# Target rules
-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
+all: $(LIBGSM) $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
@-echo $(ROOT): Done.
tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
@@ -299,6 +314,9 @@
# The basic API: libgsm
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS:S/o$/so/g)
+ ld -Bshareable -o $@ $(GSM_OBJECTS:S/o$/so/g)
+
$(LIBGSM): $(LIB) $(GSM_OBJECTS)
-rm $(RMFLAGS) $(LIBGSM)
$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
@@ -308,7 +326,7 @@
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
+ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) -lgsm $(LDLIB)
$(UNTOAST): $(BIN) $(TOAST)
-rm $(RMFLAGS) $(UNTOAST)
@@ -394,6 +412,12 @@
chmod 444 $@
$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
+ -rm $@
+ cp $? $@
+ chmod 444 $@
+ ranlib $@
+
+$(INSTALLED_LIBGSMSO): $(LIBGSMSO)
-rm $@
cp $? $@
chmod 444 $@