summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaul <paul@0c269be4-1314-0410-8aa9-9f06e86f4224>2008-11-29 14:05:49 +0000
committerpaul <paul@0c269be4-1314-0410-8aa9-9f06e86f4224>2008-11-29 14:05:49 +0000
commitac1f7aedcb18a122b88468d841e611f3826c8043 (patch)
tree369864d00a9ac477a7bb000936fc91770e99c0f0
parentae0ea1f84a8a085dd9250fa4630204f94fc9dbfb (diff)
downloadjack1-ac1f7aedcb18a122b88468d841e611f3826c8043.tar.gz
compile and configuration fixes from OSX but useful everywhere
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@3137 0c269be4-1314-0410-8aa9-9f06e86f4224
-rw-r--r--configure.ac69
-rw-r--r--drivers/netjack/Makefile.am7
-rw-r--r--drivers/netjack/net_driver.c8
-rw-r--r--drivers/netjack/netjack_packet.c18
-rw-r--r--tools/Makefile.am6
-rw-r--r--tools/netsource.c8
6 files changed, 57 insertions, 59 deletions
diff --git a/configure.ac b/configure.ac
index d7fafa4..c61a9ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -234,9 +234,6 @@ AM_CONDITIONAL(USE_POSIX_SHM, $USE_POSIX_SHM)
JACK_CORE_CFLAGS="-I\$(top_srcdir)/config -I\$(top_srcdir) \
-I\$(top_srcdir) -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall"
-JACK_OPT_CFLAGS="$JACK_CORE_CFLAGS -O3 \
--ffast-math -funroll-loops -fprefetch-loop-arrays"
-JACK_CFLAGS="$JACK_CORE_CFLAGS $CFLAGS"
AC_ARG_WITH(cpu-target,
[ --with-cpu-target=cpu-type explicit, overriding argument for gcc -march= flag])
@@ -292,10 +289,10 @@ if test "$target_cpu" = "powerpc" -o "$target_cpu" = "powerpc64" ; then
dnl -mcpu=7450 does not reliably work with gcc 3.*
- JACK_OPT_CFLAGS="-D_REENTRANT -O2 -mcpu=7400 $ALTIVEC_OPT_FLAGS -mhard-float -mpowerpc-gfxopt"
+ JACK_OPT_CFLAGS="-O2 -mcpu=7400 $ALTIVEC_OPT_FLAGS -mhard-float -mpowerpc-gfxopt"
if test "$target_cpu" = "powerpc64"; then
- JACK_OPT_CFLAGS="-D_REENTRANT -O2 -mcpu=powerpc64 $ALTIVEC_OPT_FLAGS -mhard-float"
+ JACK_OPT_CFLAGS="-O2 -mcpu=powerpc64 $ALTIVEC_OPT_FLAGS -mhard-float"
fi
elif echo $target_cpu | egrep '(i.86|x86_64)' >/dev/null; then
@@ -310,6 +307,13 @@ elif echo $target_cpu | egrep '(i.86|x86_64)' >/dev/null; then
if echo $procflags | grep -s sse ; then
cpu_supports_sse=yes
fi
+ else
+ # this is not linux, but assume that if the processor
+ # is x86 then is supports SSE and not MMX
+ cpu_supports_sse=yes
+ AC_MSG_WARN([Assuming your x86/x86_64 system can support SSE. Use --disable-sse if this is not the case])
+ cpu_supports_mmx=no
+ AC_MSG_WARN([Assuming your x86/x86_64 system does not need to use MMX. Use --enable-mmx if this is not the case])
fi
AC_ARG_ENABLE(optimization-by-compiler,
@@ -354,35 +358,32 @@ elif echo $target_cpu | egrep '(i.86|x86_64)' >/dev/null; then
AC_MSG_WARN([The assembler does not support the MMX command set.])
)
fi
-
+
if test "x$enable_sse" = xyes; then
AC_MSG_CHECKING(whether we can compile SSE code)
AC_COMPILE_IFELSE([asm ("movntps %xmm0, 0");],
- AC_DEFINE(USE_SSE, 1,
- [Define to 1 if SSE assembly is available.])
-
- if test x$optimization_by_cpu = xyes ; then
- if test x$cpu_supports_sse = xyes ; then
+ [
+ if test x$optimization_by_cpu = xyes ; then
+ if test x$cpu_supports_sse = xyes ; then
+ SSE_FLAGS="-msse -mfpmath=sse"
+ fi
+ else
SSE_FLAGS="-msse -mfpmath=sse"
fi
- else
- SSE_FLAGS="-msse -mfpmath=sse"
- fi
-
- AC_MSG_RESULT(yes)
- ,
- enable_sse=no
- AC_MSG_RESULT(no)
- AC_MSG_WARN(
- [The assembler does not support the SSE command set.]
- )
- )
+
+ AC_MSG_RESULT(yes)
+ ],
+ [
+ enable_sse=no
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([The assembler does not support the SSE command set.])
+ ])
fi
-
+
AC_DEFINE(x86, 1, "Nope it's intel")
- COMMON_X86_OPT_FLAGS="-DREENTRANT -O3 -fomit-frame-pointer -ffast-math -funroll-loops"
+ COMMON_X86_OPT_FLAGS="-O3 -fomit-frame-pointer -ffast-math -funroll-loops"
if test x$with_cpu_target != x ; then
JACK_OPT_CFLAGS="-march=$with_cpu_target"
@@ -417,17 +418,22 @@ AC_ARG_ENABLE(optimize,
AC_HELP_STRING([--enable-optimize],
[optimize code, based on CPU or compiler, as separately selected (default=no)]),
[ if test x$enable_optimize != xno ; then
- JACK_CFLAGS="$JACK_CORE_CFLAGS $JACK_OPT_CFLAGS"
AC_MSG_WARN([optimization in use.........................])
else
# no optimization, so lets get debugging symbols instead
JACK_OPT_CFLAGS="-g"
- JACK_CFLAGS="$JACK_CORE_CFLAGS $JACK_OPT_CFLAGS"
AC_MSG_WARN([no optimization.........................])
fi
+ ],
+ [
+ # no optimization, so lets get debugging symbols instead
+ JACK_OPT_CFLAGS="-g"
+ AC_MSG_WARN([no optimization.........................])
]
)
+JACK_CFLAGS="$JACK_CORE_CFLAGS $JACK_OPT_CFLAGS"
+
AC_SUBST(JACK_CFLAGS)
dnl
@@ -599,7 +605,7 @@ fi
HAVE_SAMPLERATE=false
PKG_CHECK_MODULES(SAMPLERATE, samplerate >= 0.1.2,[HAVE_SAMPLERATE=true], [true])
if test x$HAVE_SAMPLERATE = xfalse; then
- AC_MSG_WARN([*** the NetJack backend and internal client will not be built])
+ AC_MSG_WARN([*** the NetJack backend and internal client will not be built])
else
CFLAGS="$CFLAGS $SAMPLERATE_CFLAGS"
LIBS="$LIBS $SAMPLERATE_LIBS"
@@ -609,9 +615,12 @@ fi
HAVE_CELT=false
PKG_CHECK_MODULES(CELT, celt >= 0.5.0,[HAVE_CELT=true], [true])
if test x$HAVE_CELT = xfalse; then
- AC_MSG_WARN([*** NetJack will not be built with celt support])
+ AC_DEFINE(HAVE_CELT,0,"Whether CELT is available")
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([*** NetJack will not be built with celt support])
else
- CFLAGS="$CFLAGS $CELT_CFLAGS"
+ AC_DEFINE(HAVE_CELT,1,"Whether CELT is available")
+ AC_MSG_RESULT(yes)
LIBS="$LIBS $CELT_LIBS"
fi
diff --git a/drivers/netjack/Makefile.am b/drivers/netjack/Makefile.am
index e6de10f..9936655 100644
--- a/drivers/netjack/Makefile.am
+++ b/drivers/netjack/Makefile.am
@@ -4,13 +4,6 @@ AM_CFLAGS = $(JACK_CFLAGS)
if HAVE_SAMPLERATE
-if HAVE_CELT
-AM_CFLAGS += -DHAVE_CELT
-endif
-if HAVE_PPOLL
-AM_CFLAGS += -DHAVE_PPOLL
-endif
-
plugindir = $(ADDON_DIR)
plugin_LTLIBRARIES = jack_net.la
diff --git a/drivers/netjack/net_driver.c b/drivers/netjack/net_driver.c
index 10ece22..03182d9 100644
--- a/drivers/netjack/net_driver.c
+++ b/drivers/netjack/net_driver.c
@@ -43,7 +43,7 @@ $Id: net_driver.c,v 1.17 2006/04/16 20:16:10 torbenh Exp $
#include <samplerate.h>
-#ifdef HAVE_CELT
+#if HAVE_CELT
#include <celt/celt.h>
#endif
@@ -423,7 +423,7 @@ net_driver_attach (net_driver_t *driver)
jack_slist_append (driver->capture_ports, port);
if( driver->bitdepth == 1000 ) {
-#ifdef HAVE_CELT
+#if HAVE_CELT
// XXX: memory leak
CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 1, driver->period_size, NULL );
driver->capture_srcs = jack_slist_append(driver->capture_srcs, celt_decoder_create( celt_mode ) );
@@ -465,7 +465,7 @@ net_driver_attach (net_driver_t *driver)
driver->playback_ports =
jack_slist_append (driver->playback_ports, port);
if( driver->bitdepth == 1000 ) {
-#ifdef HAVE_CELT
+#if HAVE_CELT
// XXX: memory leak
CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 1, driver->period_size, NULL );
driver->playback_srcs = jack_slist_append(driver->playback_srcs, celt_encoder_create( celt_mode ) );
@@ -904,7 +904,7 @@ driver_initialize (jack_client_t *client, const JSList * params)
break;
case 'c':
-#ifdef HAVE_CELT
+#if HAVE_CELT
bitdepth = 1000;
resample_factor = param->value.ui;
#else
diff --git a/drivers/netjack/netjack_packet.c b/drivers/netjack/netjack_packet.c
index ee3bd73..a2d9da5 100644
--- a/drivers/netjack/netjack_packet.c
+++ b/drivers/netjack/netjack_packet.c
@@ -26,7 +26,9 @@
*
*/
-#ifdef HAVE_PPOLL
+#include "config.h"
+
+#if HAVE_PPOLL
#define _GNU_SOURCE
#endif
@@ -54,7 +56,7 @@
#include <samplerate.h>
-#ifdef HAVE_CELT
+#if HAVE_CELT
#include <celt/celt.h>
#endif
@@ -328,7 +330,7 @@ netjack_poll_deadline (int sockfd, jack_time_t deadline)
int i, poll_err = 0;
sigset_t sigmask, rsigmask;
struct sigaction action;
-#ifdef HAVE_PPOLL
+#if HAVE_PPOLL
struct timespec timeout_spec = { 0, 0 };
#else
int timeout;
@@ -339,7 +341,7 @@ netjack_poll_deadline (int sockfd, jack_time_t deadline)
if( now >= deadline )
return 0;
-#ifdef HAVE_PPOLL
+#if HAVE_PPOLL
timeout_spec.tv_nsec = (deadline - now) * 1000;
#else
timeout = lrintf( (float)(deadline - now) / 1000.0 );
@@ -365,7 +367,7 @@ netjack_poll_deadline (int sockfd, jack_time_t deadline)
fds.fd = sockfd;
fds.events = POLLIN;
-#ifdef HAVE_PPOLL
+#if HAVE_PPOLL
poll_err = ppoll (&fds, 1, &timeout_spec, &sigmask);
#else
sigprocmask (SIG_UNBLOCK, &sigmask, &rsigmask);
@@ -1131,7 +1133,7 @@ render_jack_ports_to_payload_8bit (JSList *playback_ports, JSList *playback_srcs
}
}
-#ifdef HAVE_CELT
+#if HAVE_CELT
// render functions for celt.
void
render_payload_to_jack_ports_celt (void *packet_payload, jack_nframes_t net_period_down, JSList *capture_ports, JSList *capture_srcs, jack_nframes_t nframes)
@@ -1227,7 +1229,7 @@ render_payload_to_jack_ports (int bitdepth, void *packet_payload, jack_nframes_t
render_payload_to_jack_ports_8bit (packet_payload, net_period_down, capture_ports, capture_srcs, nframes);
else if (bitdepth == 16)
render_payload_to_jack_ports_16bit (packet_payload, net_period_down, capture_ports, capture_srcs, nframes);
-#ifdef HAVE_CELT
+#if HAVE_CELT
else if (bitdepth == 1000)
render_payload_to_jack_ports_celt (packet_payload, net_period_down, capture_ports, capture_srcs, nframes);
#endif
@@ -1242,7 +1244,7 @@ render_jack_ports_to_payload (int bitdepth, JSList *playback_ports, JSList *play
render_jack_ports_to_payload_8bit (playback_ports, playback_srcs, nframes, packet_payload, net_period_up);
else if (bitdepth == 16)
render_jack_ports_to_payload_16bit (playback_ports, playback_srcs, nframes, packet_payload, net_period_up);
-#ifdef HAVE_CELT
+#if HAVE_CELT
else if (bitdepth == 1000)
render_jack_ports_to_payload_celt (playback_ports, playback_srcs, nframes, packet_payload, net_period_up);
#endif
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 472a475..ef7dee8 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -124,12 +124,6 @@ jack_unload_LDADD = $(top_builddir)/libjack/libjack.la
if HAVE_SAMPLERATE
jack_netsource_SOURCES = netsource.c $(top_builddir)/drivers/netjack/netjack_packet.c
jack_netsource_CFLAGS = -I$(top_srcdir)/drivers/netjack
-if HAVE_CELT
-jack_netsource_CFLAGS += -DHAVE_CELT
-endif
-if HAVE_PPOLL
-jack_netsource_CFLAGS += -DHAVE_PPOLL
-endif
jack_netsource_LDFLAGS = -lsamplerate @OS_LDFLAGS@
jack_netsource_LDADD = $(top_builddir)/libjack/libjack.la
diff --git a/tools/netsource.c b/tools/netsource.c
index a431e8d..2886206 100644
--- a/tools/netsource.c
+++ b/tools/netsource.c
@@ -51,7 +51,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include <netjack_packet.h>
#include <samplerate.h>
-#ifdef HAVE_CELT
+#if HAVE_CELT
#include <celt/celt.h>
#endif
@@ -115,7 +115,7 @@ alloc_ports (int n_capture_audio, int n_playback_audio, int n_capture_midi, int
break;
}
if( bitdepth == 1000 ) {
-#ifdef HAVE_CELT
+#if HAVE_CELT
// XXX: memory leak
CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate( client ), 1, jack_get_buffer_size(client), NULL );
capture_srcs = jack_slist_append(capture_srcs, celt_decoder_create( celt_mode ) );
@@ -152,7 +152,7 @@ alloc_ports (int n_capture_audio, int n_playback_audio, int n_capture_midi, int
break;
}
if( bitdepth == 1000 ) {
-#ifdef HAVE_CELT
+#if HAVE_CELT
// XXX: memory leak
CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate (client), 1, jack_get_buffer_size(client), NULL );
playback_srcs = jack_slist_append(playback_srcs, celt_encoder_create( celt_mode ) );
@@ -462,7 +462,7 @@ main (int argc, char *argv[])
bitdepth = atoi (optarg);
break;
case 'c':
-#ifdef HAVE_CELT
+#if HAVE_CELT
bitdepth = 1000;
factor = atoi (optarg);
#else