From f0d10e8cbe764cfc8ef684bfc93bf038e97ac07c Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 28 Sep 2011 12:23:06 +0000 Subject: [PATCH] compile fixes for OS X: remove double linkages to libjack + libjackserver, remove reference to client->control->nframes, add required compiler flags to get weak linkage to work git-svn-id: svn+ssh://jackaudio.org/trunk/jack@4542 0c269be4-1314-0410-8aa9-9f06e86f4224 --- config/os/macosx/time.c | 2 +- configure.ac | 23 ++++++++++++++--------- drivers/alsa/Makefile.am | 2 +- drivers/dummy/Makefile.am | 2 +- drivers/oss/Makefile.am | 2 +- example-clients/Makefile.am | 2 +- jackd/Makefile.am | 2 +- libjack/client.c | 2 +- 8 files changed, 21 insertions(+), 16 deletions(-) diff --git a/config/os/macosx/time.c b/config/os/macosx/time.c index 2249121..6f050e3 100644 --- a/config/os/macosx/time.c +++ b/config/os/macosx/time.c @@ -38,7 +38,7 @@ void jack_set_clock_source (jack_timer_type_t clocksrc) /* only one clock source for os x */ } -static jack_time_t +jack_time_t jack_get_microseconds_symbol(void) { return (jack_time_t) mach_absolute_time () * __jack_time_ratio; diff --git a/configure.ac b/configure.ac index 7eb3e23..b69a90d 100644 --- a/configure.ac +++ b/configure.ac @@ -49,7 +49,7 @@ if test $not_overwriting -gt 0 ; then fi AC_CONFIG_AUX_DIR(config) -AC_CANONICAL_TARGET +AC_CANONICAL_BUILD dnl --- dnl HOWTO: updating the JACK version number @@ -304,6 +304,11 @@ AC_ARG_ENABLE(ancient_libc, JACK_CORE_CFLAGS="$JACK_CORE_CFLAGS $JACK_LIBC_HELPER_FLAGS" +case $build_os in + # we need weak linkage which appeared in 10.2, but lets ask for 10.4 anyway + darwin*) JACK_CORE_CFLAGS="$JACK_CORE_CFLAGS -mmacosx-version-min=10.4" ;; +esac + AC_ARG_WITH(cpu-target, [ --with-cpu-target=cpu-type explicit, overriding argument for gcc -march= flag]) @@ -315,7 +320,7 @@ dnl dnl ---------------------------------------------------------------------- -if test "$target_cpu" = "powerpc64" ; then +if test "$build_cpu" = "powerpc64" ; then AC_ARG_ENABLE(cell, AC_HELP_STRING([--enable-cell],[enable Cell BE support (default=no)]),, @@ -327,7 +332,7 @@ if test "$target_cpu" = "powerpc64" ; then fi -if test "$target_cpu" = "powerpc" -o "$target_cpu" = "powerpc64" ; then +if test "build_cpu" = "powerpc" -o "$build_cpu" = "powerpc64" ; then AC_DEFINE(POWERPC, 1, "Are we running a ppc CPU?") @@ -360,11 +365,11 @@ if test "$target_cpu" = "powerpc" -o "$target_cpu" = "powerpc64" ; then JACK_OPT_CFLAGS="-O2 -mcpu=7400 $ALTIVEC_OPT_FLAGS -mhard-float -mpowerpc-gfxopt" - if test "$target_cpu" = "powerpc64"; then + if test "$build_cpu" = "powerpc64"; then JACK_OPT_CFLAGS="-O2 -mcpu=powerpc64 $ALTIVEC_OPT_FLAGS -mhard-float" fi -elif echo $target_cpu | egrep '(i.86|x86_64)' >/dev/null; then +elif echo $build_cpu | egrep '(i.86|x86_64)' >/dev/null; then dnl Check for MMX/SSE assembly @@ -459,7 +464,7 @@ elif echo $target_cpu | egrep '(i.86|x86_64)' >/dev/null; then dnl dnl its a little sad that OS X doesn't make it possible to identify -dnl the target_cpu a little more precisely. on os x we always get "i386" +dnl the build_cpu a little more precisely. on os x we always get "i386" dnl as the CPU type. we miss out on some possible optimizations as dnl a result. oh well. dnl @@ -467,11 +472,11 @@ dnl if test x$with_cpu_target != x ; then JACK_OPT_CFLAGS="-march=$with_cpu_target" else - if test "$target_cpu" = "i586"; then + if test "$build_cpu" = "i586"; then JACK_OPT_CFLAGS="-march=i586 " - elif test "$target_cpu" = "i686"; then + elif test "$build_cpu" = "i686"; then JACK_OPT_CFLAGS="-march=i686" - elif test "$target_cpu" = "x86_64"; then + elif test "$build_cpu" = "x86_64"; then JACK_OPT_CFLAGS="-march=k8" else : diff --git a/drivers/alsa/Makefile.am b/drivers/alsa/Makefile.am index b17899d..0b9bf1e 100644 --- a/drivers/alsa/Makefile.am +++ b/drivers/alsa/Makefile.am @@ -20,4 +20,4 @@ noinst_HEADERS = alsa_driver.h \ ice1712.h \ usx2y.h -jack_alsa_la_LIBADD = $(ALSA_LIBS) $(top_builddir)/libjack/libjack.la $(top_builddir)/jackd/libjackserver.la +jack_alsa_la_LIBADD = $(ALSA_LIBS) $(top_builddir)/jackd/libjackserver.la diff --git a/drivers/dummy/Makefile.am b/drivers/dummy/Makefile.am index d4c2307..8a068e7 100644 --- a/drivers/dummy/Makefile.am +++ b/drivers/dummy/Makefile.am @@ -11,4 +11,4 @@ jack_dummy_la_SOURCES = dummy_driver.c dummy_driver.h noinst_HEADERS = dummy_driver.h -jack_dummy_la_LIBADD = $(top_builddir)/libjack/libjack.la $(top_builddir)/jackd/libjackserver.la +jack_dummy_la_LIBADD = $(top_builddir)/jackd/libjackserver.la diff --git a/drivers/oss/Makefile.am b/drivers/oss/Makefile.am index ea16c5d..e60cc92 100644 --- a/drivers/oss/Makefile.am +++ b/drivers/oss/Makefile.am @@ -8,6 +8,6 @@ plugin_LTLIBRARIES = jack_oss.la jack_oss_la_LDFLAGS = -module -avoid-version jack_oss_la_SOURCES = oss_driver.c oss_driver.h -jack_oss_la_LIBADD = $(top_builddir)/libjack/libjack.la $(top_builddir)/jackd/libjackserver.la +jack_oss_la_LIBADD = $(top_builddir)/jackd/libjackserver.la noinst_HEADERS = oss_driver.h diff --git a/example-clients/Makefile.am b/example-clients/Makefile.am index 85ccd6c..5d768c7 100644 --- a/example-clients/Makefile.am +++ b/example-clients/Makefile.am @@ -70,7 +70,7 @@ jack_latent_client_LDADD = $(top_builddir)/libjack/libjack.la jack_server_control_SOURCES = server_control.c jack_server_control_LDFLAGS = @OS_LDFLAGS@ -jack_server_control_LDADD = $(top_builddir)/libjack/libjack.la $(top_builddir)/jackd/libjackserver.la +jack_server_control_LDADD = $(top_builddir)/jackd/libjackserver.la if HAVE_SNDFILE jack_rec_SOURCES = capture_client.c diff --git a/jackd/Makefile.am b/jackd/Makefile.am index 827df35..e951462 100644 --- a/jackd/Makefile.am +++ b/jackd/Makefile.am @@ -51,7 +51,7 @@ libjackserver_la_SOURCES = engine.c clientengine.c transengine.c controlapi.c \ ../libjack/midiport.c ../libjack/ringbuffer.c ../libjack/shm.c \ ../libjack/thread.c ../libjack/time.c ../libjack/transclient.c \ ../libjack/unlock.c -libjackserver_la_LIBADD = simd.lo @OS_LDFLAGS@ $(top_builddir)/libjack/libjack.la +libjackserver_la_LIBADD = simd.lo @OS_LDFLAGS@ libjackserver_la_LDFLAGS = -export-dynamic -version-info @JACK_SO_VERSION@ simd.lo: $(srcdir)/../libjack/simd.c diff --git a/libjack/client.c b/libjack/client.c index 6afcd90..36839ac 100644 --- a/libjack/client.c +++ b/libjack/client.c @@ -2286,7 +2286,7 @@ jack_osx_process_thread (jack_client_t* client) } if (control->process_cbset) { - if (client->process (control->nframes, + if (client->process (client->engine->buffer_size, client->process_arg) == 0) { control->state = Finished; }