install includes in default directory (%includedir/gsm) [release 1.0.13-3mamba;Sun Jun 20 2010]

This commit is contained in:
Silvan Calarco 2024-01-05 23:29:48 +01:00
parent e76cf74fb6
commit 034378d6bf
3 changed files with 227 additions and 0 deletions

View File

@ -1,2 +1,4 @@
# gsm # gsm
GSM 06.10 lossy speech compression library.

115
gsm-1.0.13-makefile.patch Normal file
View File

@ -0,0 +1,115 @@
--- gsm-1.0-pl12/Makefile.mk 2006-04-26 21:14:26.000000000 +0200
+++ gsm-1.0-pl12/Makefile 2007-05-13 13:03:32.000000000 +0200
@@ -30,6 +30,10 @@
######### define this, and read about the GSM_OPT_WAV49 option in the
######### manual page on gsm_option(3).
+PG =
+#PG = -g -pg
+######### Profiling flags. If you don't know what that means, leave it blank
+
# Choose a compiler. The code works both with ANSI and K&R-C.
# Use -DNeedFunctionPrototypes to compile with, -UNeedFunctionPrototypes to
# compile without, function prototypes in the header files.
@@ -44,7 +48,7 @@
# CCFLAGS = -c -O
CC = gcc -ansi -pedantic
-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1
+CCFLAGS = -c $(RPM_OPT_FLAGS) -D_REENTRANT -DNeedFunctionPrototypes=1 -fPIC
LD = $(CC)
@@ -81,7 +85,7 @@
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
+GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/share/man/man3
# Where do you want to install the toast binaries and their manpage?
@@ -91,16 +95,16 @@
TOAST_INSTALL_ROOT = $(INSTALL_ROOT)
TOAST_INSTALL_BIN = $(TOAST_INSTALL_ROOT)/bin
-TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1
+TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/share/man/man1
# Other tools
SHELL = /bin/sh
-LN = ln
+LN = ln -s
BASENAME = basename
AR = ar
ARFLAGS = cr
-RMFLAGS =
+RMFLAGS = -f
FIND = find
COMPRESS = compress
COMPRESSFLAGS =
@@ -129,17 +133,18 @@
# DEBUG = -DNDEBUG
######### Remove -DNDEBUG to enable assertions.
-CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
+CFLAGS = $(PG) $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
$(WAV49) $(CCINC) -I$(INC)
######### It's $(CC) $(CFLAGS)
-LFLAGS = $(LDFLAGS) $(LDINC)
+LFLAGS = $(PG) $(LDFLAGS) $(LDINC)
######### It's $(LD) $(LFLAGS)
# Targets
LIBGSM = $(LIB)/libgsm.a
+LIBGSMSO = $(LIB)/libgsm.so
TOAST = $(BIN)/toast
UNTOAST = $(BIN)/untoast
@@ -279,7 +284,7 @@
# 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,24 +304,28 @@
# The basic API: libgsm
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
+ $(LD) -o $@.1.0.12 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc
+ ln -fs libgsm.so.1.0.12 lib/libgsm.so.1
+ ln -fs libgsm.so.1.0.12 lib/libgsm.so
+
$(LIBGSM): $(LIB) $(GSM_OBJECTS)
-rm $(RMFLAGS) $(LIBGSM)
$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
$(RANLIB) $(LIBGSM)
-
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
-$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
+$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM) $(LIBGSMSO)
+ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
$(UNTOAST): $(BIN) $(TOAST)
-rm $(RMFLAGS) $(UNTOAST)
- $(LN) $(TOAST) $(UNTOAST)
+ $(LN) toast $(UNTOAST)
$(TCAT): $(BIN) $(TOAST)
-rm $(RMFLAGS) $(TCAT)
- $(LN) $(TOAST) $(TCAT)
+ $(LN) toast $(TCAT)
# The local bin and lib directories

110
gsm.spec Normal file
View File

@ -0,0 +1,110 @@
%define majver %(echo %version | cut -d . -f1-2)
%define minver %(echo %version | cut -d . -f3)
%define soname 1.0.12
Name: gsm
Version: 1.0.13
Release: 3mamba
Summary: GSM 06.10 lossy speech compression library
Group: System/Tools
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://kbs.cs.tu-berlin.de/~jutta/toast.html
Source: http://kbs.cs.tu-berlin.de/%7Ejutta/gsm/gsm-%{version}.tar.gz
Patch0: %{name}-1.0.13-makefile.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
## AUTOBUILDREQ-END
Requires: libgsm = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
GSM 06.10 lossy speech compression library.
%package -n libgsm
Group: System/Libraries
Summary: GSM 06.10 lossy speech compression library
%description -n libgsm
GSM 06.10 lossy speech compression library.
This package contains the shared library files.
%package -n libgsm-devel
Group: Development/Libraries
Summary: Static libraries and headers for %{name}
Requires: libgsm = %{version}-%{release}
%description -n libgsm-devel
GSM 06.10 lossy speech compression library.
This package contains static libraries and header files need for development.
%prep
%setup -q -n gsm-%{majver}-pl%{minver}
%patch0 -p1
%build
%make all
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
install -d \
%{buildroot}%{_bindir} \
%{buildroot}%{_libdir} \
%{buildroot}%{_includedir}/gsm \
%{buildroot}%{_mandir}/{man1,man3}
make install \
INSTALL_ROOT=%{buildroot} \
TOAST_INSTALL_BIN=%{buildroot}%{_bindir} \
TOAST_INSTALL_MAN=%{buildroot}%{_mandir}/man1 \
GSM_INSTALL_LIB=%{buildroot}%{_libdir} \
GSM_INSTALL_INC=%{buildroot}%{_includedir}/gsm \
GSM_INSTALL_MAN=%{buildroot}%{_mandir}/man3
install -m0755 lib/libgsm.so.%{soname} %{buildroot}%{_libdir}
ln -s libgsm.so.%{soname} %{buildroot}%{_libdir}/libgsm.so.1
ln -s libgsm.so.%{soname} %{buildroot}%{_libdir}/libgsm.so
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -n libgsm -p /sbin/ldconfig
%postun -n libgsm -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_bindir}/tcat
%{_bindir}/toast
%{_bindir}/untoast
%{_mandir}/man1/toast.1.gz
%files -n libgsm
%defattr(-,root,root)
%{_libdir}/libgsm.so.*
%files -n libgsm-devel
%defattr(-,root,root)
%{_includedir}/gsm/*.h
%{_libdir}/*.a
%{_libdir}/libgsm.so
%{_mandir}/man3/gsm.3.gz
%{_mandir}/man3/gsm_explode.3.gz
%{_mandir}/man3/gsm_option.3.gz
%{_mandir}/man3/gsm_print.3.gz
%doc ChangeLog README
%changelog
* Sun Jun 20 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.13-3mamba
- install includes in default directory (%includedir/gsm)
* Thu Oct 22 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.13-2mamba
- added shared library (makefile patch)
* Sat May 02 2009 Automatic Build System <autodist@mambasoft.it> 1.0.13-1mamba
- automatic update by autodist
* Sun Jun 01 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.12-1mamba
- package created by autospec