OSDN Git Service

Fixed compilation --with-versioned=no
authorJaroslav Kysela <perex@perex.cz>
Tue, 11 Mar 2003 18:51:32 +0000 (18:51 +0000)
committerJaroslav Kysela <perex@perex.cz>
Tue, 11 Mar 2003 18:51:32 +0000 (18:51 +0000)
configure.in
include/alsa-symbols.h
src/Makefile.am
src/pcm/pcm.c
src/timer/timer.c
src/timer/timer_query.c

index 47217ed..fd41500 100644 (file)
@@ -102,6 +102,7 @@ if test "$versioned" = "yes"; then
 else
   AC_MSG_RESULT(no)
 fi
+AM_CONDITIONAL(VERSIONED_SYMBOLS, test x$versioned = xyes)
 
 dnl Check for debug...
 AC_MSG_CHECKING(for debug)
index e1a32e6..43d9cab 100644 (file)
 #define default_symbol_version(real, name, version) \
        __asm__ (".symver " #real "," #name "@@" #version)
 
+#ifdef USE_VERSIONED_SYMBOLS
+#define use_symbol_version(real, name, version) \
+               symbol_version(real, name, version)
+#define use_default_symbol_version(real, name, version) \
+               default_symbol_version(real, name, version)
+#else
+#define use_symbol_version(real, name, version) /* nothing */
+#define use_default_symbol_version(real, name, version) \
+       __asm__ (".weak " #name); \
+       __asm__ (".set " #name "," #real)
+#endif
+
 #endif /* __ALSA_SYMBOLS_H */
index 95c7c58..b631d17 100644 (file)
@@ -2,6 +2,12 @@ SUBDIRS=control mixer pcm rawmidi timer hwdep seq instr compat conf
 EXTRA_DIST=Versions
 COMPATNUM=@LIBTOOL_VERSION_INFO@
 
+if VERSIONED_SYMBOLS
+VSYMS = -Wl,--version-script=Versions
+else
+VSYMS =
+endif
+
 lib_LTLIBRARIES = libasound.la
 libasound_la_SOURCES = conf.c confmisc.c input.c output.c async.c error.c dlmisc.c
 libasound_la_LIBADD = control/libcontrol.la mixer/libmixer.la pcm/libpcm.la \
@@ -10,7 +16,7 @@ libasound_la_LIBADD = control/libcontrol.la mixer/libmixer.la pcm/libpcm.la \
                      compat/libcompat.la -lm -ldl -lpthread
 
 libasound_la_LDFLAGS = -version-info $(COMPATNUM)
-LDFLAGS = -Wl,--version-script=Versions
+LDFLAGS = $(VSYMS)
 
 control/libcontrol.la:
        $(MAKE) -C control libcontrol.la
index c510cee..6a514b7 100644 (file)
@@ -1022,7 +1022,7 @@ snd_pcm_sframes_t snd_pcm_forward(snd_pcm_t *pcm, snd_pcm_uframes_t frames)
        assert(frames > 0);
        return pcm->fast_ops->forward(pcm->fast_op_arg, frames);
 }
-default_symbol_version(__snd_pcm_forward, snd_pcm_forward, ALSA_0.9.0rc8);
+use_default_symbol_version(__snd_pcm_forward, snd_pcm_forward, ALSA_0.9.0rc8);
 
 /**
  * \brief Write interleaved frames to a PCM
@@ -1555,7 +1555,7 @@ const char *snd_pcm_type_name(snd_pcm_type_t type)
                return NULL;
        return snd_pcm_type_names[type];
 }
-default_symbol_version(__snd_pcm_type_name, snd_pcm_type_name, ALSA_0.9.0);
+use_default_symbol_version(__snd_pcm_type_name, snd_pcm_type_name, ALSA_0.9.0);
 
 /**
  * \brief Dump current hardware setup for PCM
@@ -5633,7 +5633,7 @@ void snd_pcm_status_get_trigger_htstamp(const snd_pcm_status_t *obj, snd_htimest
        assert(obj && ptr);
        *ptr = obj->trigger_tstamp;
 }
-default_symbol_version(__snd_pcm_status_get_trigger_htstamp, snd_pcm_status_get_trigger_htstamp, ALSA_0.9.0rc8);
+use_default_symbol_version(__snd_pcm_status_get_trigger_htstamp, snd_pcm_status_get_trigger_htstamp, ALSA_0.9.0rc8);
 
 /** 
  * \brief Get "now" timestamp from a PCM status container
@@ -5659,7 +5659,7 @@ void snd_pcm_status_get_htstamp(const snd_pcm_status_t *obj, snd_htimestamp_t *p
        assert(obj && ptr);
        *ptr = obj->tstamp;
 }
-default_symbol_version(__snd_pcm_status_get_htstamp, snd_pcm_status_get_htstamp, ALSA_0.9.0rc8);
+use_default_symbol_version(__snd_pcm_status_get_htstamp, snd_pcm_status_get_htstamp, ALSA_0.9.0rc8);
 
 /** 
  * \brief Get delay from a PCM status container (see #snd_pcm_delay)
index 8b366e6..608662d 100644 (file)
@@ -581,7 +581,7 @@ void snd_timer_params_set_exclusive(snd_timer_params_t * params, int exclusive)
        else
                params->flags &= ~SNDRV_TIMER_PSFLG_EXCLUSIVE;
 }
-default_symbol_version(__snd_timer_params_set_exclusive, snd_timer_params_set_exclusive, ALSA_0.9.0);
+use_default_symbol_version(__snd_timer_params_set_exclusive, snd_timer_params_set_exclusive, ALSA_0.9.0);
 
 /**
  * \brief determine if timer has exclusive flag
@@ -597,7 +597,7 @@ int snd_timer_params_get_exclusive(snd_timer_params_t * params)
        assert(params);
        return params->flags & SNDRV_TIMER_PSFLG_EXCLUSIVE ? 1 : 0;
 }
-default_symbol_version(__snd_timer_params_get_exclusive, snd_timer_params_get_exclusive, ALSA_0.9.0);
+use_default_symbol_version(__snd_timer_params_get_exclusive, snd_timer_params_get_exclusive, ALSA_0.9.0);
 
 /**
  * \brief set timer ticks
@@ -654,7 +654,7 @@ void snd_timer_params_set_filter(snd_timer_params_t * params, unsigned int filte
        assert(params);
        params->filter = filter;
 }
-default_symbol_version(__snd_timer_params_set_filter, snd_timer_params_set_filter, ALSA_0.9.0);
+use_default_symbol_version(__snd_timer_params_set_filter, snd_timer_params_set_filter, ALSA_0.9.0);
 
 /**
  * \brief get timer event filter
@@ -670,7 +670,7 @@ unsigned int snd_timer_params_get_filter(snd_timer_params_t * params)
        assert(params);
        return params->filter;
 }
-default_symbol_version(__snd_timer_params_get_filter, snd_timer_params_get_filter, ALSA_0.9.0);
+use_default_symbol_version(__snd_timer_params_get_filter, snd_timer_params_get_filter, ALSA_0.9.0);
 
 /**
  * \brief set parameters for timer handle
index 2765c23..2e3096f 100644 (file)
@@ -236,7 +236,7 @@ int snd_timer_query_info(snd_timer_query_t *timer, snd_timer_ginfo_t *info)
        assert(info);
        return timer->ops->info(timer, info);
 }
-default_symbol_version(__snd_timer_query_info, snd_timer_query_info, ALSA_0.9.0);
+use_default_symbol_version(__snd_timer_query_info, snd_timer_query_info, ALSA_0.9.0);
 
 /**
  * \brief set the timer global parameters
@@ -254,7 +254,7 @@ int snd_timer_query_params(snd_timer_query_t *timer, snd_timer_gparams_t *params
        assert(params);
        return timer->ops->params(timer, params);
 }
-default_symbol_version(__snd_timer_query_params, snd_timer_query_params, ALSA_0.9.0);
+use_default_symbol_version(__snd_timer_query_params, snd_timer_query_params, ALSA_0.9.0);
 
 /**
  * \brief get the timer global status
@@ -272,7 +272,7 @@ int snd_timer_query_status(snd_timer_query_t *timer, snd_timer_gstatus_t *status
        assert(status);
        return timer->ops->status(timer, status);
 }
-default_symbol_version(__snd_timer_query_status, snd_timer_query_status, ALSA_0.9.0);
+use_default_symbol_version(__snd_timer_query_status, snd_timer_query_status, ALSA_0.9.0);
 
 /**
  * \brief get size of the snd_timer_id_t structure in bytes