Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch
Commits
6fe6d8d7
提交
6fe6d8d7
authored
11月 01, 2011
作者:
Anthony Minessale
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
FS-3649 --resolve i think this is a build issue try this patch
上级
91ef437b
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
192 行增加
和
60 行删除
+192
-60
.update
libs/silk/.update
+1
-1
INSTALL
libs/silk/INSTALL
+186
-57
Makefile
src/mod/codecs/mod_silk/Makefile
+1
-1
mod_silk.c
src/mod/codecs/mod_silk/mod_silk.c
+4
-1
没有找到文件。
libs/silk/.update
浏览文件 @
6fe6d8d7
Wed Mar 17 11:21:56 CDT 2010
Tue Nov 1 11:51:42 CDT 2011
libs/silk/INSTALL
浏览文件 @
6fe6d8d7
Installation
Instructions
*************************
Copyright
(
C
)
1994
,
1995
,
1996
,
1999
,
2000
,
2001
,
2002
,
2004
,
2005
Free
Software
Foundation
,
Inc
.
Copyright
(
C
)
1994
,
1995
,
1996
,
1999
,
2000
,
2001
,
2002
,
2004
,
2005
,
2006
,
2007
,
2008
,
2009
Free
Software
Foundation
,
Inc
.
This
file
is
free
documentation
;
the
Free
Software
Foundation
gives
unlimited
permission
to
copy
,
distribute
and
modify
it
.
Copying
and
distribution
of
this
file
,
with
or
without
modification
,
are
permitted
in
any
medium
without
royalty
provided
the
copyright
notice
and
this
notice
are
preserved
.
This
file
is
offered
as
-
is
,
without
warranty
of
any
kind
.
Basic
Installation
==================
These
are
generic
installation
instructions
.
Briefly
,
the
shell
commands
`./
configure
;
make
;
make
install
' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README'
file
for
instructions
specific
to
this
package
.
Some
packages
provide
this
`
INSTALL
' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure'
shell
script
attempts
to
guess
correct
values
for
various
system
-
dependent
variables
used
during
compilation
.
It
uses
...
...
@@ -23,9 +32,9 @@ debugging `configure').
It can also use an optional file (typically called `config.cache'
and
enabled
with
`--
cache
-
file
=
config
.
cache
' or simply `-C'
)
that
saves
the results of its tests to speed up reconfiguring.
(
Caching is
the
results
of
its
tests
to
speed
up
reconfiguring
.
Caching
is
disabled
by
default
to
prevent
problems
with
accidental
use
of
stale
cache files.
)
cache
files
.
If
you
need
to
do
unusual
things
to
compile
the
package
,
please
try
to
figure
out
how
`
configure
' could check whether to do them, and mail
...
...
@@ -35,30 +44,37 @@ some point `config.cache' contains results you don't want to keep, you
may
remove
or
edit
it
.
The
file
`
configure
.
ac
' (or `configure.in'
)
is
used
to
create
`configure'
by
a
program
called
`
autoconf
'. You
only need
`configure.ac'
if
you
want
to
change
it
or
regenerate
`
configure
' using
a newer version
of `autoconf'
.
`
configure
' by a program called `autoconf'
.
You
need
`
configure
.
ac
' if
you want to change it or regenerate `configure'
using
a
newer
version
of
`
autoconf
'.
The
simplest
way
to
compile
this
package
is
:
The simplest way to compile this package is:
1. `cd'
to
the
directory
containing
the
package
's source code and type
`./
configure
' to configure the package for your system. If you'
re
using
`
csh
' on an old version of System V, you might need to type
`sh ./configure'
instead
to
prevent
`
csh
' from trying to execute
`configure'
itself
.
`./configure'
to
configure
the
package
for
your
system
.
Running
`
configure
'
takes awhile. While running, it prints some
messages telling which features it is checking for.
Running
`
configure
'
might take a while. While running, it prints
some
messages telling which features it is checking for.
2. Type `make'
to
compile
the
package
.
3.
Optionally
,
type
`
make
check
' to run any self-tests that come with
the package.
the package
, generally using the just-built uninstalled binaries
.
4. Type `make install'
to
install
the
programs
and
any
data
files
and
documentation
.
5.
You
can
remove
the
program
binaries
and
object
files
from
the
documentation
.
When
installing
into
a
prefix
owned
by
root
,
it
is
recommended
that
the
package
be
configured
and
built
as
a
regular
user
,
and
only
the
`
make
install
' phase executed with root
privileges.
5. Optionally, type `make installcheck'
to
repeat
any
self
-
tests
,
but
this
time
using
the
binaries
in
their
final
installed
location
.
This
target
does
not
install
anything
.
Running
this
target
as
a
regular
user
,
particularly
if
the
prior
`
make
install
' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'
.
To
also
remove
the
files
that
`
configure
' created (so you can compile the package for
a different kind of computer), type `make distclean'
.
There
is
...
...
@@ -67,45 +83,69 @@ The simplest way to compile this package is:
all
sorts
of
other
programs
in
order
to
regenerate
files
that
came
with
the
distribution
.
7.
Often
,
you
can
also
type
`
make
uninstall
' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide `make
distcheck'
,
which
can
by
used
by
developers
to
test
that
all
other
targets
like
`
make
install
' and `make uninstall'
work
correctly
.
This
target
is
generally
not
run
by
end
users
.
Compilers
and
Options
=====================
Some systems require unusual options for compilation or linking that the
`configure'
script
does
not
know
about
.
Run
`./
configure
--
help
' for
details on some of the pertinent environment variables.
Some
systems
require
unusual
options
for
compilation
or
linking
that
the
`
configure
' script does not know about. Run `./configure --help'
for
details
on
some
of
the
pertinent
environment
variables
.
You
can
give
`
configure
' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./
configure
CC
=
c
89
CFLAGS
=-
O2
LIBS
=-
lposix
./configure CC=c
99 CFLAGS=-g
LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You
can
compile
the
package
for
more
than
one
kind
of
computer
at
the
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own
directory
.
To
do
this
,
you
must
use
a
version
of
`
make
' that
supports the `VPATH'
variable
,
such
as
GNU
`
make
'. `cd'
to
the
own directory. To do this, you can use GNU `make'
.
`
cd
' to the
directory where you want the object files and executables to go and run
the `configure'
script
.
`
configure
' automatically checks for the
source
code
in
the
directory
that
`
configure
' is in and in `..'
.
source code in the directory that `configure'
is
in
and
in
`..
'. This
is known as a "VPATH" build.
With a non-GNU `make'
,
it
is
safer
to
compile
the
package
for
one
architecture
at
a
time
in
the
source
code
directory
.
After
you
have
installed
the
package
for
one
architecture
,
use
`
make
distclean
' before
reconfiguring for another architecture.
If
you
have
to
use
a
`
make
' that does not support the `VPATH'
variable
,
you
have
to
compile
the
package
for
one
architecture
at
a
time
in
the
source
code
directory
.
After
you
have
installed
the
package
for
one
architecture
,
use
`
make
distclean
' before reconfiguring
for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch'
options
to
the
compiler
but
only
a
single
`-
arch
' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo'
tool
if
you
have
problems
.
Installation
Names
==================
By default, `make install'
installs
the
package
's commands under
By
default
,
`
make
install
' installs the package'
s
commands
under
`/
usr
/
local
/
bin
', include files under `/usr/local/include'
,
etc
.
You
can
specify
an
installation
prefix
other
than
`/
usr
/
local
' by giving
`
configure
' the option `--prefix=PREFIX'
.
`configure'
the
option
`--
prefix
=
PREFIX
', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
...
...
@@ -116,16 +156,47 @@ Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR'
to
specify
different
values
for
particular
kinds
of
files
.
Run
`
configure
--
help
' for a list of the directories
you
can
set
and
what
kinds
of
files
go
in
them
.
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}'
,
so
that
specifying
just
`--
prefix
' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'
;
however
,
many
packages
provide
one
or
both
of
the
following
shortcuts
of
passing
variable
assignments
to
the
`
make
install
' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory'
will
choose
an
alternate
location
for
all
directory
configuration
variables
that
were
expressed
in
terms
of
`${
prefix
}
'. Any directories that were specified during `configure'
,
but
not
in
terms
of
`${
prefix
}
', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR'
variable
.
For
example
,
`
make
install
DESTDIR
=/
alternate
/
directory
' will prepend
`/alternate/directory'
before
all
installation
names
.
The
approach
of
`
DESTDIR
' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at
`
configure
' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure'
the
option
`--
program
-
prefix
=
PREFIX
' or `--program-suffix=SUFFIX'
.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE'
options
to
Some
packages
pay
attention
to
`--
enable
-
FEATURE
' options to
`configure'
,
where
FEATURE
indicates
an
optional
part
of
the
package
.
They
may
also
pay
attention
to
`--
with
-
PACKAGE
' options, where PACKAGE
is something like `gnu-as'
or
`
x
' (for the X Window System). The
...
...
@@ -137,14 +208,53 @@ find the X include and library files automatically, but if it doesn't,
you
can
use
the
`
configure
' options `--x-includes=DIR'
and
`--
x
-
libraries
=
DIR
' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make'
will
be
.
For
these
packages
,
running
`./
configure
--
enable
-
silent
-
rules
' sets the default to minimal output, which can be
overridden with `make V=1'
;
while
running
`./
configure
--
disable
-
silent
-
rules
' sets the default to verbose, which can be
overridden with `make V=0'
.
Particular
systems
==================
On
HP
-
UX
,
the
default
C
compiler
is
not
ANSI
C
compatible
.
If
GNU
CC
is
not
installed
,
it
is
recommended
to
use
the
following
options
in
order
to
use
an
ANSI
C
compiler
:
./
configure
CC
=
"cc -Ae -D_XOPEN_SOURCE=500"
and
if
that
doesn
't work, install pre-built binaries of GCC for HP-UX.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>'
header
file
.
The
option
`-
nodtk
' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
to try
./configure CC="cc"
and if that doesn'
t
work
,
try
./
configure
CC
=
"cc -nodtk"
On
Solaris
,
don
't put `/usr/ucb'
early
in
your
`
PATH
'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'
.
So
,
if
you
need
`/
usr
/
ucb
'
in your `PATH'
,
put
it
_after_
`/
usr
/
bin
'.
On Haiku, software installed for all users goes in `/boot/common'
,
not
`/
usr
/
local
'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
There
may
be
some
features
`
configure
' cannot figure out automatically,
but needs to determine by the type of machine the package will run on.
Usually, assuming the package is built to be run on the _same_
architectures, `configure'
can
figure
that
out
,
but
if
it
prints
a
message
saying
it
cannot
guess
the
machine
type
,
give
it
the
There may be some features `configure'
cannot
figure
out
automatically
,
but
needs
to
determine
by
the
type
of
machine
the
package
will
run
on
.
Usually
,
assuming
the
package
is
built
to
be
run
on
the
_same_
architectures
,
`
configure
' can figure that out, but if it prints
a
message saying it cannot guess the machine type, give it the
`--build=TYPE'
option
.
TYPE
can
either
be
a
short
name
for
the
system
type
,
such
as
`
sun4
', or a canonical name which has the form:
...
...
@@ -152,7 +262,8 @@ type, such as `sun4', or a canonical name which has the form:
where SYSTEM can have one of these forms:
OS
KERNEL
-
OS
OS
KERNEL-OS
See the file `config.sub'
for
the
possible
values
of
each
field
.
If
`
config
.
sub
' isn'
t
included
in
this
package
,
then
this
package
doesn
't
...
...
@@ -170,9 +281,9 @@ eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If
you
want
to
set
default
values
for
`
configure
' scripts to share, you
can create a site shell script called `config.site'
that
gives
default
values
for
variables
like
`
CC
', `cache_file'
,
and
`
prefix
'.
If you want to set default values for `configure'
scripts
to
share
,
you
can
create
a
site
shell
script
called
`
config
.
site
' that gives
default
values for variables like `CC'
,
`
cache_file
', and `prefix'
.
`
configure
' looks for `PREFIX/share/config.site'
if
it
exists
,
then
`
PREFIX
/
etc
/
config
.
site
' if it exists. Or, you can set the
`CONFIG_SITE'
environment
variable
to
the
location
of
the
site
script
.
...
...
@@ -181,7 +292,7 @@ A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables
not
defined
in
a
site
shell
script
can
be
set
in
the
Variables not defined in a site shell script can be set in the
environment passed to `configure'
.
However
,
some
packages
may
run
configure
again
during
the
build
,
and
the
customized
values
of
these
variables
may
be
lost
.
In
order
to
avoid
this
problem
,
you
should
set
...
...
@@ -190,21 +301,29 @@ them in the `configure' command line, using `VAR=value'. For example:
./
configure
CC
=/
usr
/
local2
/
bin
/
gcc
causes
the
specified
`
gcc
' to be used as the C compiler (unless it is
overridden
in
the
site
shell
script
).
Here
is
a
another
example
:
overridden in the site shell script).
/
bin
/
bash
./
configure
CONFIG_SHELL
=/
bin
/
bash
Unfortunately, this technique does not work for `CONFIG_SHELL'
due
to
an
Autoconf
bug
.
Until
the
bug
is
fixed
you
can
use
this
workaround
:
Here
the
`
CONFIG_SHELL
=/
bin
/
bash
' operand causes subsequent
configuration-related scripts to be executed by `/bin/bash'
.
CONFIG_SHELL
=/
bin
/
bash
/
bin
/
bash
./
configure
CONFIG_SHELL
=/
bin
/
bash
`
configure
' Invocation
======================
`configure'
recognizes
the
following
options
to
control
how
it
operates
.
`configure'
recognizes
the
following
options
to
control
how
it
operates
.
`--
help
'
`-h'
Print
a
summary
of
the
options
to
`
configure
', and exit.
Print
a
summary
of
all
of
the
options
to
`
configure
', and exit.
`--help=short'
`--
help
=
recursive
'
Print a summary of the options unique to this package'
s
`
configure
', and exit. The `short'
variant
lists
options
used
only
in
the
top
level
,
while
the
`
recursive
' variant lists options
also present in any nested packages.
`--version'
`-
V
'
...
...
@@ -231,6 +350,16 @@ configuration-related scripts to be executed by `/bin/bash'.
Look for the package'
s
source
code
in
directory
DIR
.
Usually
`
configure
' can determine that directory automatically.
`--prefix=DIR'
Use
DIR
as
the
installation
prefix
.
*
note
Installation
Names
::
for
more
details
,
including
other
options
available
for
fine
-
tuning
the
installation
locations
.
`--
no
-
create
'
`-n'
Run
the
configure
checks
,
but
stop
before
creating
any
output
files
.
`
configure
' also accepts some other, not widely useful, options. Run
`configure --help'
for
more
details
.
src/mod/codecs/mod_silk/Makefile
浏览文件 @
6fe6d8d7
...
...
@@ -7,5 +7,5 @@ LOCAL_LIBADD=$(SILK_LA)
include
$(BASE)/build/modmake.rules
$(SILK_LA)
:
$(SILK_DIR)/.update
cd
$(SILK_BUILDDIR)
&&
$(MAKE)
cd
$(SILK_BUILDDIR)
&&
./configure
--disable-shared
&&
make clean
&&
$(MAKE)
$(TOUCH_TARGET)
src/mod/codecs/mod_silk/mod_silk.c
浏览文件 @
6fe6d8d7
...
...
@@ -271,7 +271,7 @@ void printSilkError(SKP_int16 ret){
message
=
"unknown"
;
break
;
}
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
" Silk Error
message=
%s
\n
"
,
message
);
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
" Silk Error
:
%s
\n
"
,
message
);
}
static
switch_status_t
switch_silk_encode
(
switch_codec_t
*
codec
,
...
...
@@ -298,6 +298,7 @@ static switch_status_t switch_silk_encode(switch_codec_t *codec,
if
(
ret
)
{
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"SKP_Silk_Encode returned %d!
\n
"
,
ret
);
printSilkError
(
ret
);
return
SWITCH_STATUS_FALSE
;
}
*
encoded_data_len
+=
nBytes
;
samples
-=
pktsz
;
...
...
@@ -332,6 +333,8 @@ static switch_status_t switch_silk_decode(switch_codec_t *codec,
&
len
);
if
(
ret
){
switch_log_printf
(
SWITCH_CHANNEL_LOG
,
SWITCH_LOG_ERROR
,
"SKP_Silk_Decode returned %d!
\n
"
,
ret
);
printSilkError
(
ret
);
return
SWITCH_STATUS_FALSE
;
}
target
+=
len
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论