1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
|
This patch provides most of the patches for speech-tools for Debian GNU/Linux,
to provide Debian specific building of speech-tools.
Applied-Upstream: https://github.com/festvox/speech_tools/pull/29, https://github.com/festvox/speech_tools/pull/30
--- a/config/compilers/gcc_defaults.mak
+++ b/config/compilers/gcc_defaults.mak
@@ -39,7 +39,7 @@
###########################################################################
CC=gcc
-CXX=gcc
+CXX=g++
ifeq ($(OSTYPE),Darwin)
CXX=g++
endif
@@ -47,8 +47,9 @@
COMPILER_DESC=FSF gcc
COMPILER_VERSION_COMMAND=$(CXX) -v 2>&1 | tail -1 | sed -e 's/^....//'
-CFLAGS = $(GCC_SYSTEM_OPTIONS) $(CC_OTHER_FLAGS)
-CXXFLAGS = $(GCC_SYSTEM_OPTIONS) -fno-implicit-templates $(CC_OTHER_FLAGS) $(OMP_OPTS) $(OMP_DEFS)
+CFLAGS += $(GCC_SYSTEM_OPTIONS) $(CC_OTHER_FLAGS) $(CPPFLAGS)
+CXXFLAGS += $(GCC_SYSTEM_OPTIONS) $(CC_OTHER_FLAGS) $(CPPFLAGS) $(OMP_OPTS) $(OMP_DEFS)
+LINKFLAGS += $(LDFLAGS)
DEBUG_CCFLAGS = -g
DEBUG_CXXFLAGS = -g
@@ -83,7 +84,7 @@
ifndef GCC_MAKE_SHARED_LIB
# Older versions of gcc might have required -fno-shared-data
# MAKE_SHARED_LIB = $(CXX) -shared -fno-shared-data -o XXX
- MAKE_SHARED_LIB = $(CXX) -shared -o XXX
+ MAKE_SHARED_LIB = $(CXX) -shared -o XXX -Wl,-soname -Wl,YYY
else
MAKE_SHARED_LIB = $(GCC_MAKE_SHARED_LIB)
endif
@@ -100,9 +101,10 @@
## The -lgcc here is redundant - gcc does this anyway - but it
## helps java know what needs to be loaded.
-COMPILERLIBS= $(COMPILER_LIBS_DIR:%=-L%) -lstdc++ $(OMP_OPTS)
+COMPILERLIBS= $(COMPILER_LIBS_DIR:%=-L%) $(OMP_OPTS)
## special ways of doing things, blank means default
+STATIC_LINKFLAGS = -Dstatic
MAKE_DEPEND_C = $(CC) -MM $(INCLUDES) $(TEMPLATES) $(TEMPLATE_SPECIFIC)
MAKE_DEPEND_CXX = $(CC) -MM $(INCLUDES) $(TEMPLATES) $(TEMPLATE_SPECIFIC)
--- a/config/project.mak
+++ b/config/project.mak
@@ -103,12 +103,15 @@
PROJECT_LIBRARY_USES_estjava = estbase eststring
-PROJECT_LIBRARY_VERSION_estools = $(PROJECT_VERSION).1
-PROJECT_LIBRARY_VERSION_estbase = $(PROJECT_VERSION).1
-PROJECT_LIBRARY_VERSION_eststring = 1.2
-PROJECT_LIBRARY_VERSION_estjava = $(PROJECT_VERSION).1
+# These are used for the SONAME fields in ELF libraries
+PROJECT_LIBRARY_VERSION_estools = $(PROJECT_MAJOR_VERSION)
+PROJECT_LIBRARY_VERSION_estbase = $(PROJECT_MAJOR_VERSION)
+PROJECT_LIBRARY_VERSION_eststring = $(PROJECT_MAJOR_VERSION)
+PROJECT_LIBRARY_VERSION_estjava = $(PROJECT_MAJOR_VERSION)
PROJECT_LIBRARY_NEEDS_SYSLIBS_estjava=1
+# This line allows estbase to link with libpulse among others
+PROJECT_LIBRARY_NEEDS_SYSLIBS_estbase=1
PROJECT_DEFAULT_LIBRARY = estools
--- a/config/rules/bin_process.mak
+++ b/config/rules/bin_process.mak
@@ -59,6 +59,7 @@
Makefile ) : ;; \
VCLocalRules ) : ;; \
RCS|CVS ) : ;; \
+ SCCS|BitKeeper ) : ;; \
* ) $(ECHO_N) " $$i"; $(RM) -f "$$i";; \
esac \
done
--- a/config/rules/library.mak
+++ b/config/rules/library.mak
@@ -102,15 +102,44 @@
## ##
###########################################################################
+libestools.so : libestools.a
+ echo Make Shared Library estools
+ if [ ! -d shared_space ] ; then mkdir shared_space ; else $(RM) -f shared_space/*.o ; fi
+ (cd shared_space ; $(AR) x ../$< )
+ echo Link Shared Library estools
+ if [ -n "$(PROJECT_LIBRARY_NEEDS_SYSLIBS_estools)" ] ; then libs='$(JAVA_PROJECT_LIBS)' ; fi ;\
+ $(subst YYY,$@.$(PROJECT_LIBRARY_VERSION_estools),\
+ $(subst XXX,$@.$(PROJECT_VERSION),$(MAKE_SHARED_LIB))) \
+ shared_space/*.o $(PROJECT_LIBRARY_USES_estools:%=-L. -l%) $$libs -L. -lestbase -leststring -lncurses
+ $(RM) -f shared_space/*.o $@
+ -ln -sf $@.$(PROJECT_VERSION) $@.$(PROJECT_LIBRARY_VERSION_estools)
+ -ln -sf $@.$(PROJECT_LIBRARY_VERSION_estools) $@
+
+libestbase.so : libestbase.a
+ echo Make Shared Library estbase
+ if [ ! -d shared_space ] ; then mkdir shared_space ; else $(RM) -f shared_space/*.o ; fi
+ (cd shared_space ; $(AR) x ../$< )
+ echo Link Shared Library estbase
+ if [ -n "$(PROJECT_LIBRARY_NEEDS_SYSLIBS_estbase)" ] ; then libs='$(JAVA_PROJECT_LIBS)' ; fi ;\
+ $(subst YYY,$@.$(PROJECT_LIBRARY_VERSION_estbase),\
+ $(subst XXX,$@.$(PROJECT_VERSION),$(MAKE_SHARED_LIB))) \
+ shared_space/*.o $(PROJECT_LIBRARY_USES_estbase:%=-L. -l%) $$libs -L.
+ $(RM) -f shared_space/*.o $@
+ -ln -sf $@.$(PROJECT_VERSION) $@.$(PROJECT_LIBRARY_VERSION_estbase)
+ -ln -sf $@.$(PROJECT_LIBRARY_VERSION_estbase) $@
+
lib%.so : lib%.a
- @echo Make Shared Library $*
- @if [ ! -d shared_space ] ; then mkdir shared_space ; else $(RM) -f shared_space/*.o ; fi
- @(cd shared_space ; $(AR) x ../$< )
- @echo Link Shared Library $*
+ echo Make Shared Library $*
+ if [ ! -d shared_space ] ; then mkdir shared_space ; else $(RM) -f shared_space/*.o ; fi
+ (cd shared_space ; $(AR) x ../$< )
+ echo Link Shared Library $*
if [ -n "$(PROJECT_LIBRARY_NEEDS_SYSLIBS_$*)" ] ; then libs='$(JAVA_PROJECT_LIBS)' ; fi ;\
- $(subst XXX,$@.$(PROJECT_LIBRARY_VERSION_$*),$(MAKE_SHARED_LIB)) shared_space/*.o $(PROJECT_LIBRARY_USES_$*:%=-L. -l%) $$libs
- @$(RM) -f shared_space/*.o $@
- @ln -s $@.$(PROJECT_LIBRARY_VERSION_$*) $@
+ $(subst YYY,$@.$(PROJECT_LIBRARY_VERSION_$*),\
+ $(subst XXX,$@.$(PROJECT_VERSION),$(MAKE_SHARED_LIB))) \
+ shared_space/*.o $(PROJECT_LIBRARY_USES_$*:%=-L. -l%) $$libs
+ $(RM) -f shared_space/*.o $@
+ -ln -sf $@.$(PROJECT_VERSION) $@.$(PROJECT_LIBRARY_VERSION_$*)
+ -ln -sf $@.$(PROJECT_LIBRARY_VERSION_$*) $@
###########################################################################
## ##
--- a/config/rules/targets.mak
+++ b/config/rules/targets.mak
@@ -71,7 +71,7 @@
@ for i in $(ALL_DIRS) ; \
do \
echo "clean in $(DIRNAME)/$$i" ;\
- $(MAKE) --no-print-directory -C $$i clean ; \
+ $(MAKE) --no-print-directory -C $$i NO_DEPEND=1 clean ; \
done
endif
ifdef EXTRA_LIB_BUILD_DIRS
--- a/config/system.sh
+++ b/config/system.sh
@@ -60,8 +60,7 @@
sed -e 's/^\([^.]*\)\(\.[^-. ]*\).*/\1\2/'`
# Sort out various flavours of Linux
-if [ "$OSTYPE" = Linux ]
- then
+case "$OSTYPE" in Linux|GNU|GNU/*)
if [ -f "/etc/redhat-release" ]
then
OSTYPE=RedHatLinux
@@ -74,7 +73,8 @@
# Generic unknown GNU/Linux system.
OSTYPE=Linux
fi
-fi
+;;
+esac
# Make sure we actually have a .mak file for it, otherwise fall back
# to sensible defaults (for example, kernel version and architecture
|