| |
@@ -0,0 +1,153 @@
|
| |
+ diff --git a/Makefile.am b/Makefile.am
|
| |
+ new file mode 100644
|
| |
+ index 0000000..8b9a2a9
|
| |
+ --- /dev/null
|
| |
+ +++ b/Makefile.am
|
| |
+ @@ -0,0 +1,18 @@
|
| |
+ +ACLOCAL_AMFLAGS = -I m4
|
| |
+ +AM_CFLAGS = $(SBPCD_H) $(UCDROM_H)
|
| |
+ +
|
| |
+ +SUBDIRS = interface paranoia
|
| |
+ +
|
| |
+ +bin_PROGRAMS = cdparanoia
|
| |
+ +
|
| |
+ +cdparanoia_SOURCES = \
|
| |
+ + buffering_write.c cachetest.c header.c header.h main.c report.c report.h \
|
| |
+ + utils.h version.h
|
| |
+ +cdparanoia_LDADD = \
|
| |
+ + $(top_builddir)/interface/libcdda_interface.la \
|
| |
+ + $(top_builddir)/paranoia/libcdda_paranoia.la \
|
| |
+ + -lm -lrt
|
| |
+ +
|
| |
+ +include_HEADERS = utils.h
|
| |
+ +
|
| |
+ +dist_man_MANS = cdparanoia.1
|
| |
+ diff --git a/autogen.sh b/autogen.sh
|
| |
+ new file mode 100755
|
| |
+ index 0000000..98508c7
|
| |
+ --- /dev/null
|
| |
+ +++ b/autogen.sh
|
| |
+ @@ -0,0 +1,20 @@
|
| |
+ +#!/bin/bash
|
| |
+ +
|
| |
+ +set -euxo pipefail
|
| |
+ +
|
| |
+ +# Remove legacy build system
|
| |
+ +rm -vf Makefile.in configure configure.guess configure.in configure.sub \
|
| |
+ + interface/Makefile.in paranoia/Makefile.in
|
| |
+ +
|
| |
+ +# autoreconf fails if these ones are missing
|
| |
+ +for file in NEWS AUTHORS ChangeLog; do
|
| |
+ + echo "Dummy ${file} file" > ${file}
|
| |
+ +done
|
| |
+ +
|
| |
+ +# autoreconf also tries to copy COPYING
|
| |
+ +cat COPYING-LGPL COPYING-GPL > COPYING
|
| |
+ +
|
| |
+ +autoreconf -vfi -Wall
|
| |
+ +
|
| |
+ +# Remove artificially created files
|
| |
+ +rm -vf NEWS AUTHORS ChangeLog COPYING
|
| |
+ diff --git a/configure.ac b/configure.ac
|
| |
+ new file mode 100644
|
| |
+ index 0000000..e1a6ea1
|
| |
+ --- /dev/null
|
| |
+ +++ b/configure.ac
|
| |
+ @@ -0,0 +1,44 @@
|
| |
+ +AC_INIT([cdparanoia], [10.2],
|
| |
+ + [https://www.xiph.org/paranoia/bugs.html],
|
| |
+ + [],
|
| |
+ + [https://www.xiph.org/paranoia/index.html],
|
| |
+ +)
|
| |
+ +AC_PREREQ([2.65])
|
| |
+ +AC_CONFIG_AUX_DIR([build-aux])
|
| |
+ +AC_CONFIG_MACRO_DIR([m4])
|
| |
+ +AC_CONFIG_SRCDIR([main.c])
|
| |
+ +AM_INIT_AUTOMAKE([no-define subdir-objects -Wall])
|
| |
+ +
|
| |
+ +AC_CANONICAL_HOST
|
| |
+ +
|
| |
+ +# Check for programs
|
| |
+ +AC_PROG_CC
|
| |
+ +AM_PROG_CC_C_O
|
| |
+ +AM_PROG_AR
|
| |
+ +LT_INIT
|
| |
+ +
|
| |
+ +AC_C_CONST
|
| |
+ +
|
| |
+ +# Check for libraries
|
| |
+ +AC_CHECK_LIB([rt], [clock_gettime], [],
|
| |
+ + [AC_MSG_ERROR([librt was not found on the system!])],
|
| |
+ +)
|
| |
+ +
|
| |
+ +# Check for headers
|
| |
+ +AC_HEADER_STDC
|
| |
+ +AC_CHECK_HEADER([linux/sbpcd.h], [SBPCD_H="-DSBPCD_H=1"])
|
| |
+ +AC_CHECK_HEADER([linux/ucdrom.h], [UCDROM_H="-DUCDROM_H=1"])
|
| |
+ +
|
| |
+ +# Check for types
|
| |
+ +AC_CHECK_TYPE([int16_t], [],
|
| |
+ + [AC_MSG_ERROR([No 16 bit type found on this platform!])],
|
| |
+ +)
|
| |
+ +AC_CHECK_TYPE([int32_t], [],
|
| |
+ + [AC_MSG_ERROR([No 32 bit type found on this platform!])],
|
| |
+ +)
|
| |
+ +
|
| |
+ +AC_SUBST(SBPCD_H)
|
| |
+ +AC_SUBST(UCDROM_H)
|
| |
+ +
|
| |
+ +AC_CONFIG_FILES(Makefile interface/Makefile paranoia/Makefile)
|
| |
+ +AC_OUTPUT
|
| |
+ diff --git a/interface/Makefile.am b/interface/Makefile.am
|
| |
+ new file mode 100644
|
| |
+ index 0000000..b81dfc6
|
| |
+ --- /dev/null
|
| |
+ +++ b/interface/Makefile.am
|
| |
+ @@ -0,0 +1,21 @@
|
| |
+ +ACLOCAL_AMFLAGS = -I m4
|
| |
+ +AM_CFLAGS = $(SBPCD_H) $(UCDROM_H)
|
| |
+ +
|
| |
+ +# cdparanoia does not use libtool versioning scheme; since we are migrating to
|
| |
+ +# GNU Autotools, this dirty trick ensures the .so.0.10.2 suffix
|
| |
+ +VERSION_INFO = 10:2:10
|
| |
+ +
|
| |
+ +lib_LIBRARIES = libcdda_interface.a
|
| |
+ +lib_LTLIBRARIES = libcdda_interface.la
|
| |
+ +include_HEADERS = cdda_interface.h
|
| |
+ +
|
| |
+ +INTERFACE_SRC = \
|
| |
+ + cdda_interface.h common_interface.c common_interface.h cooked_interface.c \
|
| |
+ + drive_exceptions.h interface.c low_interface.h scan_devices.c \
|
| |
+ + scsi_interface.c smallft.c smallft.h test_interface.c toc.c utils.h
|
| |
+ +
|
| |
+ +libcdda_interface_a_SOURCES = $(INTERFACE_SRC)
|
| |
+ +libcdda_interface_la_SOURCES = $(INTERFACE_SRC)
|
| |
+ +libcdda_interface_la_CFLAGS = $(AM_CFLAGS) -fpic
|
| |
+ +libcdda_interface_la_LDFLAGS = -fpic -version-info $(VERSION_INFO)
|
| |
+ +libcdda_interface_la_LIBADD = -lm -lrt
|
| |
+ diff --git a/paranoia/Makefile.am b/paranoia/Makefile.am
|
| |
+ new file mode 100644
|
| |
+ index 0000000..bbc6d78
|
| |
+ --- /dev/null
|
| |
+ +++ b/paranoia/Makefile.am
|
| |
+ @@ -0,0 +1,20 @@
|
| |
+ +ACLOCAL_AMFLAGS = -I m4
|
| |
+ +AM_CFLAGS = $(SBPCD_H) $(UCDROM_H)
|
| |
+ +
|
| |
+ +# cdparanoia does not use libtool versioning scheme; since we are migrating to
|
| |
+ +# GNU Autotools, this dirty trick ensures the .so.0.10.2 suffix
|
| |
+ +VERSION_INFO = 10:2:10
|
| |
+ +
|
| |
+ +lib_LIBRARIES = libcdda_paranoia.a
|
| |
+ +lib_LTLIBRARIES = libcdda_paranoia.la
|
| |
+ +include_HEADERS = cdda_paranoia.h
|
| |
+ +
|
| |
+ +PARANOIA_SRC = \
|
| |
+ + cdda_paranoia.h gap.c gap.h isort.c isort.h overlap.c overlap.h \
|
| |
+ + paranoia.c p_block.c p_block.h
|
| |
+ +
|
| |
+ +libcdda_paranoia_a_SOURCES = $(PARANOIA_SRC)
|
| |
+ +libcdda_paranoia_la_SOURCES = $(PARANOIA_SRC)
|
| |
+ +libcdda_paranoia_la_CFLAGS = $(AM_CFLAGS) -fpic
|
| |
+ +libcdda_paranoia_la_LDFLAGS = -fpic -version-info $(VERSION_INFO)
|
| |
+ +libcdda_paranoia_la_LIBADD = $(top_builddir)/interface/libcdda_interface.la
|
| |
Hello,
to make
cdparanoiabuilds not failing, I replaced its legacyconfigure*andMakefile.in-based build system with a new one. I try to keep it compatible with the old build system as much as possible, but it is still needed to be reviewed, especially please review whether there are differences between old and produced rpms and whether *.so remain compatible. For those who are interested, the patch is here: https://github.com/i386x/fedora-cdparanoia/commit/fef379a7082d253e54902ac2514e020d4bd1809b (I'm not a GNU Autotools guru so any comments are welcomed).