From 4784c2a548f7ee49218062f6687f5afa81e9e050d5cc216dc5a116e6d2461d08 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 29 Aug 2011 11:39:34 +0000 Subject: [PATCH] Accepting request 80001 from home:namtrac:bugfix - Add libdc1394-visibility.patch to properly hide internal symbols to prevent potential clashes with other libraries, sf #3361405 , bko # 268267 OBS-URL: https://build.opensuse.org/request/show/80001 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libdc1394?expand=0&rev=17 --- libdc1394-visibility.patch | 2756 ++++++++++++++++++++++++++++++++++++ libdc1394.changes | 7 + libdc1394.spec | 127 +- 3 files changed, 2796 insertions(+), 94 deletions(-) create mode 100644 libdc1394-visibility.patch diff --git a/libdc1394-visibility.patch b/libdc1394-visibility.patch new file mode 100644 index 0000000..53ae25a --- /dev/null +++ b/libdc1394-visibility.patch @@ -0,0 +1,2756 @@ +diff -urN libdc1394-2.1.3.orig/configure.in libdc1394-2.1.3/configure.in +--- libdc1394-2.1.3.orig/configure.in 2011-08-29 09:58:17.271211906 +0200 ++++ libdc1394-2.1.3/configure.in 2011-08-29 10:01:52.563014990 +0200 +@@ -107,6 +107,23 @@ + + AC_FUNC_MMAP + ++dnl Check for -fvisibility=hidden, when using gcc ++AC_CACHE_CHECK([whether -fvisibility=hidden is supported],[dt_visibility_hidden], ++ [dt_visibility_hidden=no ++ if test "x$GCC" == "xyes" ++ then ++ AC_LANG(C) ++ AC_LANG_CONFTEST([AC_LANG_PROGRAM([[]],[[]])]) ++ if $CC $CPPFLAGS $CFLAGS -fvisibility=hidden conftest.c ++ then ++ dt_visibility_hidden=yes ++ fi ++ fi]) ++if test "$dt_visibility_hidden" == "yes" ++then ++ CFLAGS="$CFLAGS -fvisibility=hidden" ++fi ++ + dnl --------------------------------------------------------------------------- + dnl When making a release: + dnl 1. If the library source code has changed at all since the last release, +diff -urN libdc1394-2.1.3.orig/dc1394/bayer.c libdc1394-2.1.3/dc1394/bayer.c +--- libdc1394-2.1.3.orig/dc1394/bayer.c 2011-08-29 09:58:17.274211906 +0200 ++++ libdc1394-2.1.3/dc1394/bayer.c 2011-08-29 10:01:52.564014989 +0200 +@@ -26,6 +26,7 @@ + #include + #include + #include "conversions.h" ++#include "visibility.h" + + #define CLIP(in, out)\ + in = in < 0 ? 0 : in;\ +@@ -37,7 +38,7 @@ + in = in > ((1<DC1394_BAYER_METHOD_MAX)) +diff -urN libdc1394-2.1.3.orig/dc1394/capture.c libdc1394-2.1.3/dc1394/capture.c +--- libdc1394-2.1.3.orig/dc1394/capture.c 2011-08-29 09:58:17.276211906 +0200 ++++ libdc1394-2.1.3/dc1394/capture.c 2011-08-29 10:01:52.564014989 +0200 +@@ -23,8 +23,9 @@ + #include "control.h" + #include "platform.h" + #include "internal.h" ++#include "visibility.h" + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_capture_setup (dc1394camera_t *camera, uint32_t num_dma_buffers, + uint32_t flags) + { +@@ -35,7 +36,7 @@ + return d->capture_setup (cpriv->pcam, num_dma_buffers, flags); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_capture_stop (dc1394camera_t *camera) + { + dc1394camera_priv_t * cpriv = DC1394_CAMERA_PRIV (camera); +@@ -45,7 +46,7 @@ + return d->capture_stop (cpriv->pcam); + } + +-int ++DLL_PUBLIC int + dc1394_capture_get_fileno (dc1394camera_t * camera) + { + dc1394camera_priv_t * cpriv = DC1394_CAMERA_PRIV (camera); +@@ -55,7 +56,7 @@ + return d->capture_get_fileno (cpriv->pcam); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_capture_dequeue (dc1394camera_t * camera, dc1394capture_policy_t policy, + dc1394video_frame_t **frame) + { +@@ -66,7 +67,7 @@ + return d->capture_dequeue (cpriv->pcam, policy, frame); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_capture_enqueue (dc1394camera_t * camera, dc1394video_frame_t * frame) + { + dc1394camera_priv_t * cpriv = DC1394_CAMERA_PRIV (camera); +@@ -76,7 +77,7 @@ + return d->capture_enqueue (cpriv->pcam, frame); + } + +-dc1394bool_t ++DLL_PUBLIC dc1394bool_t + dc1394_capture_is_frame_corrupt (dc1394camera_t * camera, + dc1394video_frame_t * frame) + { +diff -urN libdc1394-2.1.3.orig/dc1394/control.c libdc1394-2.1.3/dc1394/control.c +--- libdc1394-2.1.3.orig/dc1394/control.c 2011-08-29 09:58:17.276211906 +0200 ++++ libdc1394-2.1.3/dc1394/control.c 2011-08-29 10:01:52.566014987 +0200 +@@ -27,8 +27,9 @@ + + #include "internal.h" + #include "offsets.h" ++#include "visibility.h" + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_camera_set_broadcast(dc1394camera_t *camera, dc1394bool_t pwr) + { + dc1394camera_priv_t * priv = DC1394_CAMERA_PRIV (camera); +@@ -38,7 +39,7 @@ + return d->set_broadcast (priv->pcam, pwr); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_camera_get_broadcast(dc1394camera_t *camera, dc1394bool_t *pwr) + { + dc1394camera_priv_t * priv = DC1394_CAMERA_PRIV (camera); +@@ -48,7 +49,7 @@ + return d->get_broadcast (priv->pcam, pwr); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_reset_bus (dc1394camera_t * camera) + { + dc1394camera_priv_t * priv = DC1394_CAMERA_PRIV (camera); +@@ -58,7 +59,7 @@ + return d->reset_bus (priv->pcam); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_read_cycle_timer (dc1394camera_t * camera, + uint32_t * cycle_timer, uint64_t * local_time) + { +@@ -69,7 +70,7 @@ + return d->read_cycle_timer (priv->pcam, cycle_timer, local_time); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_camera_get_node (dc1394camera_t *camera, uint32_t *node, + uint32_t * generation) + { +@@ -153,7 +154,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_camera_print_info(dc1394camera_t *camera, FILE* fd) + { + dc1394camera_priv_t * cpriv = DC1394_CAMERA_PRIV (camera); +@@ -197,7 +198,7 @@ + Collects the available features for the camera + described by node and stores them in features. + *****************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get_all(dc1394camera_t *camera, dc1394featureset_t *features) + { + uint32_t i, j; +@@ -218,7 +219,7 @@ + Stores the bounds and options associated with the + feature described by feature->id + *****************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get(dc1394camera_t *camera, dc1394feature_info_t *feature) + { + uint64_t offset; +@@ -340,7 +341,7 @@ + + Displays the bounds and options of the given feature + *****************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_print(dc1394feature_info_t *f, FILE *fd) + { + int fid= f->id; +@@ -469,7 +470,7 @@ + + Displays the entire feature set stored in features + *****************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_print_all(dc1394featureset_t *features, FILE *fd) + { + uint32_t i, j; +@@ -492,7 +493,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_camera_reset(dc1394camera_t *camera) + { + dc1394error_t err; +@@ -501,7 +502,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_supported_modes(dc1394camera_t *camera, dc1394video_modes_t *modes) + { + dc1394error_t err; +@@ -579,7 +580,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_supported_framerates(dc1394camera_t *camera, dc1394video_mode_t video_mode, dc1394framerates_t *framerates) + { + dc1394framerate_t framerate; +@@ -624,7 +625,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_framerate(dc1394camera_t *camera, dc1394framerate_t *framerate) + { + uint32_t value; +@@ -638,7 +639,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_set_framerate(dc1394camera_t *camera, dc1394framerate_t framerate) + { + dc1394error_t err; +@@ -652,7 +653,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_mode(dc1394camera_t *camera, dc1394video_mode_t *mode) + { + dc1394error_t err; +@@ -691,7 +692,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_set_mode(dc1394camera_t *camera, dc1394video_mode_t mode) + { + uint32_t format, min; +@@ -737,7 +738,7 @@ + + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_iso_speed(dc1394camera_t *camera, dc1394speed_t *speed) + { + dc1394error_t err; +@@ -767,7 +768,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_set_iso_speed(dc1394camera_t *camera, dc1394speed_t speed) + { + dc1394error_t err; +@@ -806,7 +807,7 @@ + return err;; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_iso_channel(dc1394camera_t *camera, uint32_t * channel) + { + dc1394error_t err; +@@ -827,7 +828,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_set_iso_channel(dc1394camera_t *camera, uint32_t channel) + { + dc1394error_t err; +@@ -865,7 +866,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_operation_mode(dc1394camera_t *camera, dc1394operation_mode_t *mode) + { + dc1394error_t err; +@@ -888,7 +889,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_set_operation_mode(dc1394camera_t *camera, dc1394operation_mode_t mode) + { + dc1394error_t err; +@@ -918,7 +919,7 @@ + + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_camera_set_power(dc1394camera_t *camera, dc1394switch_t pwr) + { + dc1394error_t err; +@@ -938,7 +939,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_set_transmission(dc1394camera_t *camera, dc1394switch_t pwr) + { + dc1394error_t err; +@@ -956,7 +957,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_transmission(dc1394camera_t *camera, dc1394switch_t *is_on) + { + dc1394error_t err; +@@ -968,7 +969,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_set_one_shot(dc1394camera_t *camera, dc1394switch_t pwr) + { + dc1394error_t err; +@@ -988,7 +989,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_one_shot(dc1394camera_t *camera, dc1394bool_t *is_on) + { + uint32_t value; +@@ -998,7 +999,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_multi_shot(dc1394camera_t *camera, dc1394bool_t *is_on, uint32_t *numFrames) + { + uint32_t value; +@@ -1010,7 +1011,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_set_multi_shot(dc1394camera_t *camera, uint32_t numFrames, dc1394switch_t pwr) + { + dc1394error_t err; +@@ -1030,7 +1031,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_whitebalance_get_value(dc1394camera_t *camera, uint32_t *u_b_value, uint32_t *v_r_value) + { + uint32_t value; +@@ -1042,7 +1043,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_whitebalance_set_value(dc1394camera_t *camera, uint32_t u_b_value, uint32_t v_r_value) + { + uint32_t curval; +@@ -1056,7 +1057,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_temperature_get_value(dc1394camera_t *camera, uint32_t *target_temperature, uint32_t *temperature) + { + uint32_t value; +@@ -1067,7 +1068,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_temperature_set_value(dc1394camera_t *camera, uint32_t target_temperature) + { + dc1394error_t err; +@@ -1083,7 +1084,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_whiteshading_get_value(dc1394camera_t *camera, uint32_t *r_value, uint32_t *g_value, uint32_t *b_value) + { + uint32_t value; +@@ -1097,7 +1098,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_whiteshading_set_value(dc1394camera_t *camera, uint32_t r_value, uint32_t g_value, uint32_t b_value) + { + uint32_t curval; +@@ -1114,7 +1115,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_get_mode(dc1394camera_t *camera, dc1394trigger_mode_t *mode) + { + uint32_t value; +@@ -1129,7 +1130,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_set_mode(dc1394camera_t *camera, dc1394trigger_mode_t mode) + { + dc1394error_t err; +@@ -1152,7 +1153,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_get_supported_sources(dc1394camera_t *camera, dc1394trigger_sources_t *sources) + { + uint32_t value; +@@ -1176,7 +1177,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_get_source(dc1394camera_t *camera, dc1394trigger_source_t *source) + { + uint32_t value; +@@ -1191,7 +1192,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_set_source(dc1394camera_t *camera, dc1394trigger_source_t source) + { + dc1394error_t err; +@@ -1213,7 +1214,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get_value(dc1394camera_t *camera, dc1394feature_t feature, uint32_t *value) + { + uint32_t quadval; +@@ -1239,7 +1240,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_set_value(dc1394camera_t *camera, dc1394feature_t feature, uint32_t value) + { + uint32_t quadval; +@@ -1266,7 +1267,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_is_present(dc1394camera_t *camera, dc1394feature_t feature, dc1394bool_t *value) + { + /* +@@ -1352,7 +1353,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_is_readable(dc1394camera_t *camera, dc1394feature_t feature, dc1394bool_t *value) + { + dc1394error_t err; +@@ -1372,7 +1373,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_is_switchable(dc1394camera_t *camera, dc1394feature_t feature, dc1394bool_t *value) + { + dc1394error_t err; +@@ -1392,7 +1393,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get_power(dc1394camera_t *camera, dc1394feature_t feature, dc1394switch_t *value) + { + dc1394error_t err; +@@ -1412,7 +1413,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_set_power(dc1394camera_t *camera, dc1394feature_t feature, dc1394switch_t value) + { + dc1394error_t err; +@@ -1442,7 +1443,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get_modes(dc1394camera_t *camera, dc1394feature_t feature, dc1394feature_modes_t *modes) + { + dc1394error_t err; +@@ -1480,7 +1481,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get_mode(dc1394camera_t *camera, dc1394feature_t feature, dc1394feature_mode_t *mode) + { + dc1394error_t err; +@@ -1513,7 +1514,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_set_mode(dc1394camera_t *camera, dc1394feature_t feature, dc1394feature_mode_t mode) + { + dc1394error_t err; +@@ -1554,7 +1555,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get_boundaries(dc1394camera_t *camera, dc1394feature_t feature, uint32_t *min, uint32_t *max) + { + dc1394error_t err; +@@ -1582,7 +1583,7 @@ + * Memory load/save functions + */ + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_memory_busy(dc1394camera_t *camera, dc1394bool_t *value) + { + uint32_t quadlet; +@@ -1592,7 +1593,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_memory_save(dc1394camera_t *camera, uint32_t channel) + { + dc1394error_t err=dc1394_set_control_register(camera, REG_CAMERA_MEM_SAVE_CH, (uint32_t)((channel & 0xFUL) << 28)); +@@ -1603,7 +1604,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_memory_load(dc1394camera_t *camera, uint32_t channel) + { + dc1394error_t err=dc1394_set_control_register(camera, REG_CAMERA_CUR_MEM_CH, (uint32_t)((channel & 0xFUL) << 28)); +@@ -1615,7 +1616,7 @@ + * Trigger functions + */ + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_set_polarity(dc1394camera_t *camera, dc1394trigger_polarity_t polarity) + { + dc1394error_t err; +@@ -1633,7 +1634,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_get_polarity(dc1394camera_t *camera, dc1394trigger_polarity_t *polarity) + { + uint32_t value; +@@ -1644,7 +1645,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_has_polarity(dc1394camera_t *camera, dc1394bool_t *polarity) + { + dc1394error_t err; +@@ -1661,7 +1662,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_set_power(dc1394camera_t *camera, dc1394switch_t pwr) + { + dc1394error_t err=dc1394_feature_set_power(camera, DC1394_FEATURE_TRIGGER, pwr); +@@ -1669,7 +1670,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_external_trigger_get_power(dc1394camera_t *camera, dc1394switch_t *pwr) + { + dc1394error_t err=dc1394_feature_get_power(camera, DC1394_FEATURE_TRIGGER, pwr); +@@ -1677,7 +1678,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_software_trigger_set_power(dc1394camera_t *camera, dc1394switch_t pwr) + { + dc1394error_t err; +@@ -1692,7 +1693,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_software_trigger_get_power(dc1394camera_t *camera, dc1394switch_t *pwr) + { + uint32_t value; +@@ -1704,7 +1705,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_data_depth(dc1394camera_t *camera, uint32_t *depth) + { + dc1394error_t err; +@@ -1740,7 +1741,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get_absolute_control(dc1394camera_t *camera, dc1394feature_t feature, dc1394switch_t *pwr) + { + dc1394error_t err; +@@ -1760,7 +1761,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_set_absolute_control(dc1394camera_t *camera, dc1394feature_t feature, dc1394switch_t pwr) + { + dc1394error_t err; +@@ -1790,7 +1791,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_has_absolute_control(dc1394camera_t *camera, dc1394feature_t feature, dc1394bool_t *value) + { + dc1394error_t err; +@@ -1811,7 +1812,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_video_get_bandwidth_usage(dc1394camera_t *camera, uint32_t *bandwidth) + { + uint32_t format, qpp; +@@ -1855,7 +1856,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get_absolute_boundaries(dc1394camera_t *camera, dc1394feature_t feature, float *min, float *max) + { + dc1394error_t err=DC1394_SUCCESS; +@@ -1873,7 +1874,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_get_absolute_value(dc1394camera_t *camera, dc1394feature_t feature, float *value) + { + dc1394error_t err=DC1394_SUCCESS; +@@ -1888,7 +1889,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_feature_set_absolute_value(dc1394camera_t *camera, dc1394feature_t feature, float value) + { + dc1394error_t err=DC1394_SUCCESS; +@@ -1907,7 +1908,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_pio_set(dc1394camera_t *camera, uint32_t value) + { + dc1394error_t err=DC1394_SUCCESS; +@@ -1919,7 +1920,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_pio_get(dc1394camera_t *camera, uint32_t *value) + { + dc1394error_t err=DC1394_SUCCESS; +@@ -1938,7 +1939,7 @@ + /* + Create a new dc1394 struct, which also initialises the library + */ +-dc1394_t * ++DLL_PUBLIC dc1394_t * + dc1394_new (void) + { + dc1394_t * d = calloc (1, sizeof (dc1394_t)); +@@ -1984,7 +1985,7 @@ + /* + Free a dc1394 struct, which also terminates the use of the library + */ +-void ++DLL_PUBLIC void + dc1394_free (dc1394_t * d) + { + free_enumeration (d); +@@ -1999,7 +2000,7 @@ + free (d); + } + +-void register_platform (dc1394_t * d, const platform_dispatch_t * dispatch, ++DLL_LOCAL void register_platform (dc1394_t * d, const platform_dispatch_t * dispatch, + const char * name) + { + if (!dispatch->platform_new || !dispatch->platform_free || +@@ -2020,7 +2021,7 @@ + d->num_platforms++; + } + +-char * ++static char * + get_leaf_string (platform_camera_t * pcam, const platform_dispatch_t * disp, + uint32_t offset) + { +@@ -2047,7 +2048,7 @@ + return str; + } + +-dc1394camera_t * ++DLL_PUBLIC dc1394camera_t * + dc1394_camera_new_unit (dc1394_t * d, uint64_t guid, int unit) + { + int i; +@@ -2168,7 +2169,7 @@ + return NULL; + } + +-dc1394camera_t * ++DLL_PUBLIC dc1394camera_t * + dc1394_camera_new (dc1394_t * d, uint64_t guid) + { + return dc1394_camera_new_unit (d, guid, -1); +@@ -2178,7 +2179,7 @@ + Free a camera structure as well as resources used by that camera (bandwidth, + ISO channels, etc...) + */ +-void ++DLL_PUBLIC void + dc1394_camera_free(dc1394camera_t *camera) + { + dc1394camera_priv_t * cpriv = DC1394_CAMERA_PRIV (camera); +diff -urN libdc1394-2.1.3.orig/dc1394/conversions.c libdc1394-2.1.3/dc1394/conversions.c +--- libdc1394-2.1.3.orig/dc1394/conversions.c 2011-08-29 10:00:09.189211894 +0200 ++++ libdc1394-2.1.3/dc1394/conversions.c 2011-08-29 10:02:04.969014969 +0200 +@@ -25,6 +25,7 @@ + #define _XOPEN_SOURCE + #include + #include "conversions.h" ++#include "visibility.h" + + /********************************************************************** + * +@@ -32,7 +33,7 @@ + * + **********************************************************************/ + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_YUV422_to_YUV422(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order) + { + switch (byte_order) { +@@ -47,7 +48,7 @@ + } + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_YUV411_to_YUV422(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order) + { + register int i=(width*height) + ((width*height) >> 1) -1; +@@ -101,7 +102,7 @@ + + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_YUV444_to_YUV422(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order) + { + register int i = (width*height) + ((width*height) << 1)-1; +@@ -144,7 +145,7 @@ + } + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_MONO8_to_YUV422(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order) + { + if ((width%2)==0) { +@@ -215,7 +216,7 @@ + } + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_MONO16_to_YUV422(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order, uint32_t bits) + { + register int i = ((width*height) << 1)-1; +@@ -253,7 +254,7 @@ + + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_MONO16_to_MONO8(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t bits) + { + register int i = ((width*height)<<1)-1; +@@ -267,7 +268,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_RGB8_to_YUV422(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order) + { + register int i = (width*height) + ( (width*height) << 1 )-1; +@@ -313,7 +314,7 @@ + } + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_RGB16_to_YUV422(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order, uint32_t bits) + { + register int i = ( ((width*height) + ( (width*height) << 1 )) << 1 ) -1; +@@ -377,7 +378,7 @@ + * + **********************************************************************/ + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_RGB16_to_RGB8(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t bits) + { + register int i = (((width*height) + ( (width*height) << 1 )) << 1)-1; +@@ -399,7 +400,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_YUV444_to_RGB8(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height) + { + register int i = (width*height) + ( (width*height) << 1 ) -1; +@@ -419,7 +420,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_YUV422_to_RGB8(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order) + { + register int i = ((width*height) << 1)-1; +@@ -468,7 +469,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_YUV411_to_RGB8(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height) + { + register int i = (width*height) + ( (width*height) >> 1 )-1; +@@ -504,7 +505,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_MONO8_to_RGB8(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height) + { + register int i = (width*height)-1; +@@ -521,7 +522,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_MONO16_to_RGB8(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t bits) + { + register int i = ((width*height) << 1)-1; +@@ -541,7 +542,7 @@ + + // change a 16bit stereo image (8bit/channel) into two 8bit images on top + // of each other +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_deinterlace_stereo(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height) + { + register int i = (width*height)-1; +@@ -556,7 +557,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_convert_to_YUV422(uint8_t *src, uint8_t *dest, uint32_t width, uint32_t height, uint32_t byte_order, + dc1394color_coding_t source_coding, uint32_t bits) + { +@@ -593,7 +594,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_convert_to_MONO8(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order, + dc1394color_coding_t source_coding, uint32_t bits) + { +@@ -612,7 +613,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_convert_to_RGB8(uint8_t *restrict src, uint8_t *restrict dest, uint32_t width, uint32_t height, uint32_t byte_order, + dc1394color_coding_t source_coding, uint32_t bits) + { +@@ -647,7 +648,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++static dc1394error_t + Adapt_buffer_convert(dc1394video_frame_t *in, dc1394video_frame_t *out) + { + uint32_t bpp; +@@ -719,7 +720,7 @@ + return DC1394_MEMORY_ALLOCATION_FAILURE; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_convert_frames(dc1394video_frame_t *in, dc1394video_frame_t *out) + { + +@@ -882,7 +883,7 @@ + } + + +-dc1394error_t ++static dc1394error_t + Adapt_buffer_stereo(dc1394video_frame_t *in, dc1394video_frame_t *out) + { + uint32_t bpp; +@@ -966,7 +967,7 @@ + + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_deinterlace_stereo_frames(dc1394video_frame_t *in, dc1394video_frame_t *out, dc1394stereo_method_t method) + { + dc1394error_t err; +diff -urN libdc1394-2.1.3.orig/dc1394/enumeration.c libdc1394-2.1.3/dc1394/enumeration.c +--- libdc1394-2.1.3.orig/dc1394/enumeration.c 2011-08-29 09:58:17.275211906 +0200 ++++ libdc1394-2.1.3/dc1394/enumeration.c 2011-08-29 10:01:52.567014987 +0200 +@@ -27,6 +27,7 @@ + #include "internal.h" + #include "platform.h" + #include "log.h" ++#include "visibility.h" + + static void + destroy_camera_info (camera_info_t * info) +@@ -224,7 +225,7 @@ + return 0; + } + +-void ++DLL_LOCAL void + free_enumeration (dc1394_t * d) + { + int i; +@@ -242,7 +243,7 @@ + d->cameras = NULL; + } + +-int ++DLL_LOCAL int + refresh_enumeration (dc1394_t * d) + { + free_enumeration (d); +@@ -274,7 +275,7 @@ + return 0; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_camera_enumerate (dc1394_t * d, dc1394camera_list_t **list) + { + if (refresh_enumeration (d) < 0) +@@ -302,7 +303,7 @@ + /* + Free a list of cameras returned by dc1394_enumerate_cameras() + */ +-void ++DLL_PUBLIC void + dc1394_camera_free_list (dc1394camera_list_t *list) + { + if (list) +diff -urN libdc1394-2.1.3.orig/dc1394/format7.c libdc1394-2.1.3/dc1394/format7.c +--- libdc1394-2.1.3.orig/dc1394/format7.c 2011-08-29 09:58:17.275211906 +0200 ++++ libdc1394-2.1.3/dc1394/format7.c 2011-08-29 10:01:52.567014987 +0200 +@@ -34,6 +34,7 @@ + #include "utils.h" + #include "config.h" + #include "log.h" ++#include "visibility.h" + + /*========================================================================== + * This function implements the handshaking available (and sometimes required) +@@ -41,7 +42,7 @@ + * Onishi for his feedback and info. + *==========================================================================*/ + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_value_setting(dc1394camera_t *camera, dc1394video_mode_t video_mode, + uint32_t *present, uint32_t *setting1, + uint32_t *err_flag1, uint32_t *err_flag2) +@@ -68,7 +69,7 @@ + return err; + } + +-int ++DLL_PUBLIC int + dc1394_format7_set_value_setting(dc1394camera_t *camera, dc1394video_mode_t video_mode) + { + int err; +@@ -82,7 +83,7 @@ + return err; + } + +-dc1394error_t ++static dc1394error_t + _dc1394_v130_handshake(dc1394camera_t *camera, dc1394video_mode_t video_mode) + { + uint32_t setting_1, err_flag1, err_flag2, v130handshake; +@@ -135,7 +136,7 @@ + return err; + } + +-dc1394error_t ++static dc1394error_t + _dc1394_format7_set_image_position(dc1394camera_t *camera, + dc1394video_mode_t video_mode, uint32_t left, + uint32_t top) +@@ -153,7 +154,7 @@ + return err; + } + +-dc1394error_t ++static dc1394error_t + _dc1394_format7_set_image_size(dc1394camera_t *camera, + dc1394video_mode_t video_mode, uint32_t width, + uint32_t height) +@@ -173,7 +174,7 @@ + return err; + } + +-dc1394error_t ++static dc1394error_t + _dc1394_format7_set_color_coding(dc1394camera_t *camera, + dc1394video_mode_t video_mode, dc1394color_coding_t color_coding) + { +@@ -201,7 +202,7 @@ + return err; + } + +-dc1394error_t ++static dc1394error_t + _dc1394_format7_set_packet_size(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint32_t packet_size) +@@ -229,7 +230,7 @@ + /* External functions */ + /**********************/ + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_max_image_size(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint32_t *horizontal_size, +@@ -250,7 +251,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_unit_size(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint32_t *horizontal_unit, +@@ -271,7 +272,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_image_position(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint32_t *left_position, +@@ -293,7 +294,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_image_size(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint32_t *width, +@@ -314,7 +315,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_color_coding(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + dc1394color_coding_t *color_coding) +@@ -334,7 +335,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_color_codings(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + dc1394color_codings_t *color_codings) +@@ -360,7 +361,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_pixel_number(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint32_t *pixnum) +@@ -379,7 +380,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_total_bytes(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint64_t *total_bytes) +@@ -406,7 +407,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_packet_parameters(dc1394camera_t *camera, + dc1394video_mode_t video_mode, uint32_t *unit_bytes, + uint32_t *max_bytes) +@@ -426,7 +427,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_packet_size(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint32_t *packet_size) +@@ -449,7 +450,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_set_image_position(dc1394camera_t *camera, + dc1394video_mode_t video_mode, uint32_t left, + uint32_t top) +@@ -465,7 +466,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_set_image_size(dc1394camera_t *camera, + dc1394video_mode_t video_mode, uint32_t width, + uint32_t height) +@@ -481,7 +482,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_set_color_coding(dc1394camera_t *camera, + dc1394video_mode_t video_mode, dc1394color_coding_t color_coding) + { +@@ -496,7 +497,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_set_packet_size(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint32_t packet_bytes) +@@ -511,7 +512,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_recommended_packet_size(dc1394camera_t *camera, + dc1394video_mode_t video_mode, uint32_t *packet_size) + { +@@ -529,7 +530,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_packets_per_frame(dc1394camera_t *camera, + dc1394video_mode_t video_mode, uint32_t *ppf) + { +@@ -574,7 +575,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_unit_position(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + uint32_t *horizontal_pos, +@@ -602,7 +603,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_frame_interval(dc1394camera_t *camera, dc1394video_mode_t video_mode, float *interval) + { + dc1394error_t err; +@@ -619,7 +620,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_data_depth(dc1394camera_t *camera, dc1394video_mode_t video_mode, uint32_t *data_depth) + { + dc1394error_t err; +@@ -652,7 +653,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_color_filter(dc1394camera_t *camera, dc1394video_mode_t video_mode, dc1394color_filter_t *color_filter) + { + dc1394error_t err; +@@ -671,7 +672,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_mode_info(dc1394camera_t *camera, dc1394video_mode_t video_mode, dc1394format7mode_t *f7_mode) + { + dc1394error_t err=DC1394_SUCCESS; +@@ -737,7 +738,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_modeset(dc1394camera_t *camera, dc1394format7modeset_t *info) + { + dc1394error_t err; +@@ -762,7 +763,7 @@ + return err; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_set_roi(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + dc1394color_coding_t color_coding, +@@ -932,7 +933,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_format7_get_roi(dc1394camera_t *camera, + dc1394video_mode_t video_mode, + dc1394color_coding_t *color_coding, +diff -urN libdc1394-2.1.3.orig/dc1394/juju/control.c libdc1394-2.1.3/dc1394/juju/control.c +--- libdc1394-2.1.3.orig/dc1394/juju/control.c 2011-08-29 09:58:17.275211906 +0200 ++++ libdc1394-2.1.3/dc1394/juju/control.c 2011-08-29 10:01:52.568014987 +0200 +@@ -35,6 +35,7 @@ + #include "platform.h" + #include "internal.h" + #include "juju.h" ++#include "visibility.h" + + #define ptr_to_u64(p) ((__u64)(unsigned long)(p)) + #define u64_to_ptr(p) ((void *)(unsigned long)(p)) +@@ -552,7 +553,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_LOCAL dc1394error_t + juju_iso_allocate (platform_camera_t *cam, uint64_t allowed_channels, + int bandwidth_units, juju_iso_info **out) + { +@@ -595,7 +596,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_LOCAL dc1394error_t + juju_iso_deallocate (platform_camera_t *cam, juju_iso_info * res) + { + if (res->got_dealloc) { +@@ -677,7 +678,7 @@ + //.iso_allocate_channel = dc1394_juju_iso_allocate_channel, + }; + +-void ++DLL_LOCAL void + juju_init(dc1394_t * d) + { + register_platform (d, &juju_dispatch, "juju"); +diff -urN libdc1394-2.1.3.orig/dc1394/linux/capture.c libdc1394-2.1.3/dc1394/linux/capture.c +--- libdc1394-2.1.3.orig/dc1394/linux/capture.c 2011-08-29 09:58:17.276211906 +0200 ++++ libdc1394-2.1.3/dc1394/linux/capture.c 2011-08-29 10:01:52.568014987 +0200 +@@ -43,13 +43,14 @@ + #include "kernel-video1394.h" + #include "linux.h" + #include "internal.h" ++#include "visibility.h" + + /**********************/ + /* Internal functions */ + /**********************/ + + +-dc1394error_t ++DLL_LOCAL dc1394error_t + open_dma_device(platform_camera_t * craw) + { + char filename[64]; +@@ -191,7 +192,7 @@ + + + /* This function allows you to specify the DMA device filename manually. */ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_capture_set_device_filename(dc1394camera_t* camera, char *filename) + { + dc1394camera_priv_t * cpriv = DC1394_CAMERA_PRIV (camera); +@@ -207,7 +208,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_linux_capture_setup(platform_camera_t *craw, uint32_t num_dma_buffers, + uint32_t flags) + { +@@ -305,7 +306,7 @@ + CAPTURE_STOP + *****************************************************/ + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_linux_capture_stop(platform_camera_t *craw) + { + dc1394camera_t * camera = craw->camera; +@@ -371,7 +372,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_linux_capture_dequeue (platform_camera_t * craw, + dc1394capture_policy_t policy, + dc1394video_frame_t **frame) +@@ -430,7 +431,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_linux_capture_enqueue (platform_camera_t * craw, + dc1394video_frame_t * frame) + { +@@ -455,7 +456,7 @@ + return DC1394_SUCCESS; + } + +-int ++DLL_PUBLIC int + dc1394_linux_capture_get_fileno (platform_camera_t * craw) + { + return craw->capture.dma_fd; +diff -urN libdc1394-2.1.3.orig/dc1394/linux/control.c libdc1394-2.1.3/dc1394/linux/control.c +--- libdc1394-2.1.3.orig/dc1394/linux/control.c 2011-08-29 09:58:17.275211906 +0200 ++++ libdc1394-2.1.3/dc1394/linux/control.c 2011-08-29 10:01:52.568014987 +0200 +@@ -40,6 +40,7 @@ + #include "linux.h" + #include "offsets.h" + #include "types.h" ++#include "visibility.h" + + static int + is_device_available (const char * filename) +@@ -487,7 +488,7 @@ + .iso_release_bandwidth = dc1394_linux_iso_release_bandwidth, + }; + +-void ++DLL_LOCAL void + linux_init(dc1394_t * d) + { + register_platform (d, &linux_dispatch, "linux"); +diff -urN libdc1394-2.1.3.orig/dc1394/log.c libdc1394-2.1.3/dc1394/log.c +--- libdc1394-2.1.3.orig/dc1394/log.c 2011-08-29 09:58:17.277211906 +0200 ++++ libdc1394-2.1.3/dc1394/log.c 2011-08-29 10:01:52.568014987 +0200 +@@ -24,6 +24,7 @@ + #include "log.h" + #include + #include ++#include "visibility.h" + + static void + default_errorlog_handler(dc1394log_t type, const char *message, void* user) +@@ -59,7 +60,7 @@ + static void *warninglog_data = NULL; + static void *debuglog_data = NULL; + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_log_register_handler(dc1394log_t type, void(*log_handler)(dc1394log_t type, const char *message, void* user), void* user) { + switch (type) { + case DC1394_LOG_ERROR: +@@ -79,7 +80,7 @@ + } + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_log_set_default_handler(dc1394log_t type) { + switch (type) { + case DC1394_LOG_ERROR: +@@ -100,7 +101,7 @@ + } + + +-void dc1394_log_error(const char *format,...) ++DLL_PUBLIC void dc1394_log_error(const char *format,...) + { + char string[1024]; + if (system_errorlog_handler != NULL) { +@@ -112,7 +113,7 @@ + } + + +-void dc1394_log_warning(const char *format,...) ++DLL_PUBLIC void dc1394_log_warning(const char *format,...) + { + char string[1024]; + if (system_warninglog_handler != NULL) { +@@ -124,7 +125,7 @@ + } + + +-void dc1394_log_debug(const char *format,...) ++DLL_PUBLIC void dc1394_log_debug(const char *format,...) + { + char string[1024]; + if (system_debuglog_handler != NULL) { +diff -urN libdc1394-2.1.3.orig/dc1394/register.c libdc1394-2.1.3/dc1394/register.c +--- libdc1394-2.1.3.orig/dc1394/register.c 2011-08-29 09:58:17.277211906 +0200 ++++ libdc1394-2.1.3/dc1394/register.c 2011-08-29 10:01:52.568014987 +0200 +@@ -27,6 +27,7 @@ + #include "register.h" + #include "utils.h" + #include "config.h" ++#include "visibility.h" + + /* Note: debug modes can be very verbose. */ + +@@ -60,7 +61,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_registers (dc1394camera_t *camera, uint64_t offset, + uint32_t *value, uint32_t num_regs) + { +@@ -73,7 +74,7 @@ + num_regs); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_set_registers (dc1394camera_t *camera, uint64_t offset, + const uint32_t *value, uint32_t num_regs) + { +@@ -90,7 +91,7 @@ + /********************************************************************************/ + /* Get/Set Command Registers */ + /********************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_control_registers (dc1394camera_t *camera, uint64_t offset, + uint32_t *value, uint32_t num_regs) + { +@@ -98,7 +99,7 @@ + camera->command_registers_base + offset, value, num_regs); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_set_control_registers (dc1394camera_t *camera, uint64_t offset, + const uint32_t *value, uint32_t num_regs) + { +@@ -109,7 +110,7 @@ + /********************************************************************************/ + /* Get/Set Advanced Features Registers */ + /********************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_adv_control_registers (dc1394camera_t *camera, uint64_t offset, + uint32_t *value, uint32_t num_regs) + { +@@ -117,7 +118,7 @@ + camera->advanced_features_csr + offset, value, num_regs); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_set_adv_control_registers (dc1394camera_t *camera, uint64_t offset, + const uint32_t *value, uint32_t num_regs) + { +@@ -129,7 +130,7 @@ + /* Get/Set Format_7 Registers */ + /********************************************************************************/ + +-dc1394error_t ++static dc1394error_t + QueryFormat7CSROffset(dc1394camera_t *camera, dc1394video_mode_t mode, uint64_t *offset) + { + int retval; +@@ -148,7 +149,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_format7_register(dc1394camera_t *camera, unsigned int mode, uint64_t offset, uint32_t *value) + { + if (camera == NULL) +@@ -171,7 +172,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_set_format7_register(dc1394camera_t *camera, unsigned int mode, uint64_t offset, uint32_t value) + { + if (camera == NULL) +@@ -194,7 +195,7 @@ + /* Get/Set Absolute Control Registers */ + /********************************************************************************/ + +-dc1394error_t ++static dc1394error_t + QueryAbsoluteCSROffset(dc1394camera_t *camera, dc1394feature_t feature, uint64_t *offset) + { + int absoffset, retval; +@@ -211,7 +212,7 @@ + + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_absolute_register(dc1394camera_t *camera, unsigned int feature, + uint64_t offset, uint32_t *value) + { +@@ -224,7 +225,7 @@ + return dc1394_get_registers (camera, absoffset + offset, value, 1); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_set_absolute_register(dc1394camera_t *camera, unsigned int feature, + uint64_t offset, uint32_t value) + { +@@ -241,14 +242,14 @@ + /* Get/Set PIO Feature Registers */ + /********************************************************************************/ + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_PIO_register(dc1394camera_t *camera, uint64_t offset, uint32_t *value) + { + return dc1394_get_registers (camera, camera->PIO_control_csr + offset, + value, 1); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_set_PIO_register(dc1394camera_t *camera, uint64_t offset, uint32_t value) + { + return dc1394_set_registers (camera, camera->PIO_control_csr + offset, +@@ -260,14 +261,14 @@ + /* Get/Set SIO Feature Registers */ + /********************************************************************************/ + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_SIO_register(dc1394camera_t *camera, uint64_t offset, uint32_t *value) + { + return dc1394_get_registers (camera, camera->SIO_control_csr + offset, + value, 1); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_set_SIO_register(dc1394camera_t *camera, uint64_t offset, uint32_t value) + { + return dc1394_set_registers (camera, camera->SIO_control_csr + offset, +@@ -278,7 +279,7 @@ + /********************************************************************************/ + /* Get/Set Strobe Feature Registers */ + /********************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_strobe_register(dc1394camera_t *camera, uint64_t offset, + uint32_t *value) + { +@@ -286,7 +287,7 @@ + value, 1); + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_set_strobe_register(dc1394camera_t *camera, uint64_t offset, + uint32_t value) + { +diff -urN libdc1394-2.1.3.orig/dc1394/usb/capture.c libdc1394-2.1.3/dc1394/usb/capture.c +--- libdc1394-2.1.3.orig/dc1394/usb/capture.c 2011-08-29 09:58:17.276211906 +0200 ++++ libdc1394-2.1.3/dc1394/usb/capture.c 2011-08-29 10:01:52.568014987 +0200 +@@ -28,6 +28,7 @@ + #include + + #include "usb/usb.h" ++#include "visibility.h" + + /* Callback whenever a bulk transfer finishes. */ + static void +@@ -98,7 +99,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_usb_capture_setup(platform_camera_t *craw, uint32_t num_dma_buffers, + uint32_t flags) + { +@@ -223,7 +224,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_usb_capture_stop(platform_camera_t *craw) + { + dc1394camera_t * camera = craw->camera; +@@ -296,7 +297,7 @@ + + #define NEXT_BUFFER(c,i) (((i) == -1) ? 0 : ((i)+1)%(c)->num_frames) + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_usb_capture_dequeue (platform_camera_t * craw, + dc1394capture_policy_t policy, dc1394video_frame_t **frame_return) + { +@@ -345,7 +346,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_usb_capture_enqueue (platform_camera_t * craw, + dc1394video_frame_t * frame) + { +@@ -371,7 +372,7 @@ + return DC1394_SUCCESS; + } + +-int ++DLL_PUBLIC int + dc1394_usb_capture_get_fileno (platform_camera_t * craw) + { + if (craw->notify_pipe[0] == 0 && craw->notify_pipe[1] == 0) +@@ -380,7 +381,7 @@ + return craw->notify_pipe[0]; + } + +-dc1394bool_t ++DLL_PUBLIC dc1394bool_t + dc1394_usb_capture_is_frame_corrupt (platform_camera_t * craw, + dc1394video_frame_t * frame) + { +diff -urN libdc1394-2.1.3.orig/dc1394/usb/control.c libdc1394-2.1.3/dc1394/usb/control.c +--- libdc1394-2.1.3.orig/dc1394/usb/control.c 2011-08-29 09:58:17.276211906 +0200 ++++ libdc1394-2.1.3/dc1394/usb/control.c 2011-08-29 10:01:52.569014987 +0200 +@@ -29,7 +29,7 @@ + #include "platform.h" + #include "internal.h" + #include "usb.h" +- ++#include "visibility.h" + + static platform_t * + dc1394_usb_new (void) +@@ -377,7 +377,7 @@ + .capture_is_frame_corrupt = dc1394_usb_capture_is_frame_corrupt, + }; + +-void ++DLL_LOCAL void + usb_init(dc1394_t * d) + { + register_platform (d, &usb_dispatch, "usb"); +diff -urN libdc1394-2.1.3.orig/dc1394/utils.c libdc1394-2.1.3/dc1394/utils.c +--- libdc1394-2.1.3.orig/dc1394/utils.c 2011-08-29 09:58:17.274211906 +0200 ++++ libdc1394-2.1.3/dc1394/utils.c 2011-08-29 10:01:52.569014987 +0200 +@@ -21,6 +21,7 @@ + */ + + #include "internal.h" ++#include "visibility.h" + + const char *dc1394_feature_desc[DC1394_FEATURE_NUM] = { + "Brightness", +@@ -90,7 +91,7 @@ + "Basler error: unknown SFF chunk" + }; + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_image_size_from_video_mode(dc1394camera_t *camera, dc1394video_mode_t video_mode, uint32_t *w, uint32_t *h) + { + dc1394error_t err; +@@ -160,7 +161,7 @@ + } + + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_framerate_as_float(dc1394framerate_t framerate_enum, float *framerate) + { + switch(framerate_enum) { +@@ -192,7 +193,7 @@ + return DC1394_INVALID_FRAMERATE; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_is_color(dc1394color_coding_t color_coding, dc1394bool_t *is_color) + { + switch(color_coding) { +@@ -215,7 +216,7 @@ + return DC1394_INVALID_COLOR_CODING; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_color_coding_data_depth(dc1394color_coding_t color_coding, uint32_t * bits) + { + switch(color_coding) { +@@ -239,7 +240,7 @@ + return DC1394_INVALID_COLOR_CODING; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_color_coding_bit_size(dc1394color_coding_t color_coding, uint32_t* bits) + { + switch(color_coding) { +@@ -268,7 +269,7 @@ + return DC1394_INVALID_COLOR_CODING; + } + +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_get_color_coding_from_video_mode(dc1394camera_t *camera, dc1394video_mode_t video_mode, dc1394color_coding_t *color_coding) + { + dc1394error_t err; +@@ -334,25 +335,25 @@ + return DC1394_FAILURE; + } + +-dc1394bool_t ++DLL_PUBLIC dc1394bool_t + dc1394_is_video_mode_scalable(dc1394video_mode_t video_mode) + { + return ((video_mode>=DC1394_VIDEO_MODE_FORMAT7_MIN)&&(video_mode<=DC1394_VIDEO_MODE_FORMAT7_MAX)); + } + +-dc1394bool_t ++DLL_PUBLIC dc1394bool_t + dc1394_is_video_mode_still_image(dc1394video_mode_t video_mode) + { + return ((video_mode>=DC1394_VIDEO_MODE_FORMAT6_MIN)&&(video_mode<=DC1394_VIDEO_MODE_FORMAT6_MAX)); + } + +-dc1394bool_t ++DLL_PUBLIC dc1394bool_t + dc1394_is_same_camera(dc1394camera_id_t id1, dc1394camera_id_t id2) + { + return ((id1.guid==id2.guid)&&(id1.unit==id2.unit)); + } + +-const char * ++DLL_PUBLIC const char * + dc1394_feature_get_string(dc1394feature_t feature) + { + if ((feature>DC1394_FEATURE_MAX)||(feature + #include + #include "vendor/avt.h" ++#include "visibility.h" + + /********************************************************/ + /* Configuration Register Offsets for Advances features */ +@@ -96,7 +97,7 @@ + /************************************************************************/ + /* Get Version (Read Only) */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_version(dc1394camera_t *camera, + uint32_t *UCType, uint32_t *Version, + uint32_t *Camera_ID, uint32_t *FPGA_Version) +@@ -127,7 +128,7 @@ + /************************************************************************/ + /* Get Advanced feature inquiry */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_advanced_feature_inquiry(dc1394camera_t *camera, + dc1394_avt_adv_feature_info_t *adv_feature) + { +@@ -207,7 +208,7 @@ + /************************************************************************/ + /* Print Advanced features */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_print_advanced_feature(dc1394_avt_adv_feature_info_t *adv_feature) + { + +@@ -271,7 +272,7 @@ + /************************************************************************/ + /* Get shading mode */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_shading(dc1394camera_t *camera, + dc1394bool_t *on_off, dc1394bool_t *compute, + dc1394bool_t *show, uint32_t *frame_nb) +@@ -307,7 +308,7 @@ + /************************************************************************/ + /* Set shading mode */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_shading(dc1394camera_t *camera, + dc1394bool_t on_off, dc1394bool_t compute, + dc1394bool_t show, uint32_t frame_nb) +@@ -343,7 +344,7 @@ + /************************************************************************/ + /* Get shading mem ctrl */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_shading_mem_ctrl(dc1394camera_t *camera, dc1394bool_t *en_write, + dc1394bool_t *en_read, uint32_t *addroffset) + { +@@ -373,7 +374,7 @@ + /************************************************************************/ + /* Set shading mem ctrl */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_shading_mem_ctrl(dc1394camera_t *camera, + dc1394bool_t en_write, dc1394bool_t en_read, uint32_t addroffset) + { +@@ -403,7 +404,7 @@ + /************************************************************************/ + /* Get shading info */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_shading_info(dc1394camera_t *camera, uint32_t *MaxImageSize) + { + dc1394error_t err; +@@ -424,7 +425,7 @@ + /************************************************************************/ + /* Get Multiple slope parameters (HDR) */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_multiple_slope(dc1394camera_t *camera, + dc1394bool_t *on_off, uint32_t *points_nb,uint32_t *kneepoint1, + uint32_t *kneepoint2, uint32_t *kneepoint3) +@@ -458,7 +459,7 @@ + /************************************************************************/ + /* Set Multiple slope parameters */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_multiple_slope(dc1394camera_t *camera, + dc1394bool_t on_off, uint32_t points_nb, uint32_t kneepoint1, + uint32_t kneepoint2, uint32_t kneepoint3) +@@ -495,7 +496,7 @@ + /************************************************************************/ + /* Get Shutter Timebase */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_timebase(dc1394camera_t *camera, uint32_t *timebase_id) + { + dc1394error_t err; +@@ -515,7 +516,7 @@ + /************************************************************************/ + /* Set Shutter Timebase (acquisition must be stopped) */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_timebase(dc1394camera_t *camera, uint32_t timebase_id) + { + dc1394error_t err; +@@ -538,7 +539,7 @@ + /************************************************************************/ + /* Get Extented Shutter */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_extented_shutter(dc1394camera_t *camera, uint32_t *timebase_id) + { + dc1394error_t err; +@@ -559,7 +560,7 @@ + /************************************************************************/ + /* Set Extented shutter */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_extented_shutter(dc1394camera_t *camera, uint32_t timebase_id) + { + dc1394error_t err; +@@ -583,7 +584,7 @@ + /************************************************************************/ + /* Get MaxResolution (Read Only) */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_MaxResolution(dc1394camera_t *camera, uint32_t *MaxHeight, uint32_t *MaxWidth) + { + dc1394error_t err; +@@ -605,7 +606,7 @@ + /************************************************************************/ + /* Get Auto Shutter */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_auto_shutter(dc1394camera_t *camera, uint32_t *MinValue, uint32_t *MaxValue) + { + dc1394error_t err; +@@ -630,7 +631,7 @@ + /************************************************************************/ + /* Set Auto shutter */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_auto_shutter(dc1394camera_t *camera, uint32_t MinValue, uint32_t MaxValue) + { + dc1394error_t err; +@@ -649,7 +650,7 @@ + /************************************************************************/ + /* Get Auto Gain */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_auto_gain(dc1394camera_t *camera, uint32_t *MinValue, uint32_t *MaxValue) + { + dc1394error_t err; +@@ -671,7 +672,7 @@ + /************************************************************************/ + /* Set Auto gain */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_auto_gain(dc1394camera_t *camera, uint32_t MinValue, uint32_t MaxValue) + { + dc1394error_t err; +@@ -691,7 +692,7 @@ + /************************************************************************/ + /* Get Trigger delay */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_trigger_delay(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *DelayTime) + { + dc1394error_t err; +@@ -714,7 +715,7 @@ + /************************************************************************/ + /* Set Trigger delay */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_trigger_delay(dc1394camera_t *camera, dc1394bool_t on_off, uint32_t DelayTime) + { + dc1394error_t err; +@@ -741,7 +742,7 @@ + /************************************************************************/ + /* Get Mirror */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_mirror(dc1394camera_t *camera, dc1394bool_t *on_off) + { + dc1394error_t err; +@@ -760,7 +761,7 @@ + /************************************************************************/ + /* Set Mirror */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_mirror(dc1394camera_t *camera, dc1394bool_t on_off) + { + dc1394error_t err; +@@ -779,7 +780,7 @@ + /************************************************************************/ + /* Get DSNU */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_dsnu(dc1394camera_t *camera, dc1394bool_t *on_off,uint32_t *frame_nb) + { + dc1394error_t err; +@@ -800,7 +801,7 @@ + /************************************************************************/ + /* Set DSNU */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_dsnu(dc1394camera_t *camera, + dc1394bool_t on_off, dc1394bool_t compute, uint32_t frame_nb) + { +@@ -838,7 +839,7 @@ + /************************************************************************/ + /* Get BLEMISH */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_blemish(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *frame_nb) + { + dc1394error_t err; +@@ -859,7 +860,7 @@ + /************************************************************************/ + /* Set BLEMISH */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_blemish(dc1394camera_t *camera, + dc1394bool_t on_off, dc1394bool_t compute, uint32_t frame_nb) + { +@@ -900,7 +901,7 @@ + /************************************************************************/ + /* Get IO REG_CAMERA_AVT_IO_INP_CTRLx or REG_CAMERA_AVT_IO_OUTP_CTRLx */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_io(dc1394camera_t *camera, uint32_t IO, + dc1394bool_t *polarity, uint32_t *mode, dc1394bool_t *pinstate) + { +@@ -926,7 +927,7 @@ + /************************************************************************/ + /* Set IO REG_CAMERA_AVT_IO_INP_CTRLx or REG_CAMERA_AVT_IO_OUTP_CTRLx */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_io(dc1394camera_t *camera,uint32_t IO, + dc1394bool_t polarity, uint32_t mode, dc1394bool_t pinstate) + { +@@ -957,7 +958,7 @@ + /************************************************************************/ + /* BusReset IEEE1394 */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_reset(dc1394camera_t *camera) + { + dc1394error_t err; +@@ -975,7 +976,7 @@ + /************************************************************************/ + /* Get Lookup Tables (LUT) */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_lut(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *lutnb) + { + dc1394error_t err; +@@ -998,7 +999,7 @@ + /************************************************************************/ + /* Set Lookup Tables (LUT) */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_lut(dc1394camera_t *camera, dc1394bool_t on_off, uint32_t lutnb) + { + dc1394error_t err; +@@ -1025,7 +1026,7 @@ + /************************************************************************/ + /* Get LUT ctrl */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_lut_mem_ctrl(dc1394camera_t *camera, dc1394bool_t *en_write, + uint32_t * AccessLutNo,uint32_t *addroffset) + { +@@ -1052,7 +1053,7 @@ + /************************************************************************/ + /* Set LUT ctrl */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_lut_mem_ctrl(dc1394camera_t *camera, + dc1394bool_t en_write, uint32_t AccessLutNo, uint32_t addroffset) + { +@@ -1083,7 +1084,7 @@ + /************************************************************************/ + /* Get LUT info */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_lut_info(dc1394camera_t *camera, uint32_t *NumOfLuts, uint32_t *MaxLutSize) + { + dc1394error_t err; +@@ -1106,7 +1107,7 @@ + /************************************************************************/ + /* Get Automatic white balance with Area Of Interest AOI */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_aoi(dc1394camera_t *camera, + dc1394bool_t *on_off, int *left, int *top, int *width, int *height) + { +@@ -1144,7 +1145,7 @@ + /************************************************************************/ + /* Set Automatic white balance with Area Of Interest AOI */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_aoi(dc1394camera_t *camera, + dc1394bool_t on_off,int left, int top, int width, int height) + { +@@ -1172,7 +1173,7 @@ + /************************************************************************/ + /* Get test_images */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_test_images(dc1394camera_t *camera, uint32_t *image_no) + { + dc1394error_t err; +@@ -1192,7 +1193,7 @@ + /************************************************************************/ + /* Set test_images */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_test_images(dc1394camera_t *camera, uint32_t image_no) + { + dc1394error_t err; +@@ -1216,7 +1217,7 @@ + /************************************************************************/ + /* Get frame info */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_frame_info(dc1394camera_t *camera, uint32_t *framecounter) + { + dc1394error_t err; +@@ -1236,7 +1237,7 @@ + /************************************************************************/ + /* Reset frame info */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_reset_frame_info(dc1394camera_t *camera) + { + dc1394error_t err; +@@ -1250,7 +1251,7 @@ + /************************************************************************/ + /* Get Deferred image transport */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_deferred_trans(dc1394camera_t *camera, + dc1394bool_t *HoldImage, dc1394bool_t * FastCapture, + uint32_t *FifoSize, uint32_t *NumOfImages ) +@@ -1281,7 +1282,7 @@ + /************************************************************************/ + /* Set Deferred image transport */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_set_deferred_trans(dc1394camera_t *camera, + dc1394bool_t HoldImage, dc1394bool_t FastCapture, + uint32_t FifoSize, uint32_t NumOfImages, +@@ -1321,7 +1322,7 @@ + /************************************************************************/ + /* Get GPData info */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_get_gpdata_info(dc1394camera_t *camera, uint32_t *BufferSize) + { + dc1394error_t err; +@@ -1371,7 +1372,7 @@ + /************************************************************************/ + /* Read size number of bytes from GPData buffer */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_read_gpdata(dc1394camera_t *camera, unsigned char *buf, uint32_t size) + { + uint32_t gpdata_numquads, gpdata_bufsize; +@@ -1423,7 +1424,7 @@ + /************************************************************************/ + /* Write size number of bytes to GPData buffer */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_write_gpdata(dc1394camera_t *camera, unsigned char *buf, uint32_t size) + { + uint32_t gpdata_bufsize, gpdata_numquads; +@@ -1475,7 +1476,7 @@ + /************************************************************************/ + /* Read shading image from camera into buffer */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_read_shading_img(dc1394camera_t *camera, unsigned char *buf, + uint32_t size) + { +@@ -1506,7 +1507,7 @@ + /************************************************************************/ + /* Write shading image from buffer to camera */ + /************************************************************************/ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_avt_write_shading_img(dc1394camera_t *camera, unsigned char *buf, + uint32_t size) + { +@@ -1536,7 +1537,7 @@ + /************************************************************************/ + /* Read channel adjust (AVT Pike) */ + /************************************************************************/ +-dc1394error_t dc1394_avt_get_channel_adjust(dc1394camera_t *camera, int16_t *channel_adjust) ++DLL_PUBLIC dc1394error_t dc1394_avt_get_channel_adjust(dc1394camera_t *camera, int16_t *channel_adjust) + { + dc1394error_t err; + uint32_t value; +@@ -1554,7 +1555,7 @@ + /************************************************************************/ + /* Write channel adjust (AVT Pike) */ + /************************************************************************/ +-dc1394error_t dc1394_avt_set_channel_adjust(dc1394camera_t *camera, int16_t channel_adjust) ++DLL_PUBLIC dc1394error_t dc1394_avt_set_channel_adjust(dc1394camera_t *camera, int16_t channel_adjust) + { + dc1394error_t err; + +@@ -1569,7 +1570,7 @@ + /* Set Color Correction + Coefficients */ + /************************************************************************/ + +-dc1394error_t dc1394_avt_set_color_corr(dc1394camera_t *camera, dc1394bool_t on_off, dc1394bool_t reset, int32_t Crr, int32_t Cgr, int32_t Cbr, int32_t Crg, int32_t Cgg, int32_t Cbg, int32_t Crb, int32_t Cgb, int32_t Cbb) ++DLL_PUBLIC dc1394error_t dc1394_avt_set_color_corr(dc1394camera_t *camera, dc1394bool_t on_off, dc1394bool_t reset, int32_t Crr, int32_t Cgr, int32_t Cbr, int32_t Crg, int32_t Cgg, int32_t Cbg, int32_t Crb, int32_t Cgb, int32_t Cbb) + { + dc1394error_t err; + uint32_t curval; +@@ -1628,7 +1629,7 @@ + /* Get Color Correction + Coefficients */ + /************************************************************************/ + +-dc1394error_t dc1394_avt_get_color_corr(dc1394camera_t *camera, dc1394bool_t *on_off, int32_t *Crr, int32_t *Cgr, int32_t *Cbr, int32_t *Crg, int32_t *Cgg, int32_t *Cbg, int32_t *Crb, int32_t *Cgb, int32_t *Cbb) ++DLL_PUBLIC dc1394error_t dc1394_avt_get_color_corr(dc1394camera_t *camera, dc1394bool_t *on_off, int32_t *Crr, int32_t *Cgr, int32_t *Cbr, int32_t *Crg, int32_t *Cgg, int32_t *Cbg, int32_t *Crb, int32_t *Cgb, int32_t *Cbb) + { + dc1394error_t err; + uint32_t value; +@@ -1677,7 +1678,7 @@ + /* Get HSNR */ + /************************************************************************/ + +-dc1394error_t dc1394_avt_get_hsnr(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *grabCount) ++DLL_PUBLIC dc1394error_t dc1394_avt_get_hsnr(dc1394camera_t *camera, dc1394bool_t *on_off, uint32_t *grabCount) + { + dc1394error_t err; + uint32_t value; +@@ -1700,7 +1701,7 @@ + /* Set HSNR */ + /************************************************************************/ + +-dc1394error_t dc1394_avt_set_hsnr(dc1394camera_t *camera, dc1394bool_t on_off, uint32_t grabCount) ++DLL_PUBLIC dc1394error_t dc1394_avt_set_hsnr(dc1394camera_t *camera, dc1394bool_t on_off, uint32_t grabCount) + { + dc1394error_t err; + uint32_t curval; +diff -urN libdc1394-2.1.3.orig/dc1394/vendor/basler.c libdc1394-2.1.3/dc1394/vendor/basler.c +--- libdc1394-2.1.3.orig/dc1394/vendor/basler.c 2011-08-29 09:58:17.276211906 +0200 ++++ libdc1394-2.1.3/dc1394/vendor/basler.c 2011-08-29 10:01:52.569014987 +0200 +@@ -30,6 +30,7 @@ + #include "../control.h" + #include "basler.h" + #include "basler_sff_registry.h" ++#include "../visibility.h" + + /* + * BASLER CONTROL REGISTERS +@@ -46,7 +47,7 @@ + /* + * Private functions + */ +-dc1394error_t ++static dc1394error_t + get_sff_address_from_csr_guid (dc1394camera_t* camera, const dc1394basler_sff_guid_t* feature_guid, uint64_t* address) + { + dc1394error_t err; +@@ -96,7 +97,7 @@ + /* + * Tests whether the camera supports Basler SFF + */ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_basler_sff_is_available (dc1394camera_t* camera, dc1394bool_t *available) + { + uint32_t data; +@@ -137,7 +138,7 @@ + /** + * Tests whether the camera supports the specified SFF feature + */ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_basler_sff_feature_is_available (dc1394camera_t* camera, dc1394basler_sff_feature_t feature_id, dc1394bool_t *available) + { + const sff_feature *feature_desc = NULL; +@@ -177,7 +178,7 @@ + /* + * enables a specific SFF feature + */ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_basler_sff_feature_enable (dc1394camera_t* camera, dc1394basler_sff_feature_t feature_id, dc1394switch_t on_off) + { + const sff_feature *feature_desc = NULL; +@@ -246,7 +247,7 @@ + /* + * check if a feature is enabled or not + */ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_basler_sff_feature_is_enabled (dc1394camera_t* camera, dc1394basler_sff_feature_t feature_id, dc1394bool_t *is_enabled) + { + const sff_feature *feature_desc = NULL; +@@ -290,7 +291,7 @@ + /* + * print a feature + */ +-dc1394error_t ++DLL_PUBLIC dc1394error_t + dc1394_basler_sff_feature_print (dc1394camera_t* camera, dc1394basler_sff_feature_t feature_id, FILE *fd) + { + dc1394error_t err; +@@ -355,7 +356,7 @@ + return DC1394_SUCCESS; + } + +-dc1394error_t dc1394_basler_sff_feature_print_all (dc1394camera_t* camera, FILE *fd) ++DLL_PUBLIC dc1394error_t dc1394_basler_sff_feature_print_all (dc1394camera_t* camera, FILE *fd) + { + uint32_t i = DC1394_BASLER_SFF_FEATURE_MIN; + while (i < DC1394_BASLER_SFF_FEATURE_MAX) { +@@ -366,7 +367,7 @@ + return DC1394_SUCCESS; + } + +-dc1394bool_t dc1394_basler_sff_check_crc (const uint8_t* frame_buffer, uint32_t frame_size) ++DLL_PUBLIC dc1394bool_t dc1394_basler_sff_check_crc (const uint8_t* frame_buffer, uint32_t frame_size) + { + uint32_t current_crc, desired_crc; + +@@ -381,7 +382,7 @@ + /* + * Initializes the struct for iterating + */ +-dc1394error_t dc1394_basler_sff_chunk_iterate_init (dc1394basler_sff_t* chunk, void *frame_buffer, uint32_t frame_size, dc1394bool_t has_crc_checksum) ++DLL_PUBLIC dc1394error_t dc1394_basler_sff_chunk_iterate_init (dc1394basler_sff_t* chunk, void *frame_buffer, uint32_t frame_size, dc1394bool_t has_crc_checksum) + { + if (chunk == NULL || frame_buffer == NULL || frame_size == 0) + return DC1394_FAILURE; +@@ -403,7 +404,7 @@ + /** + * Iterates over the available SFF chunks in the frame buffer + */ +-dc1394error_t dc1394_basler_sff_chunk_iterate (dc1394basler_sff_t* chunk) ++DLL_PUBLIC dc1394error_t dc1394_basler_sff_chunk_iterate (dc1394basler_sff_t* chunk) + { + dc1394basler_sff_chunk_tail_t* tail; + const sff_feature* feature_desc; +@@ -446,7 +447,7 @@ + /** + * Finds a specific SFF chunk in the frame buffer + */ +-dc1394error_t dc1394_basler_sff_chunk_find (dc1394basler_sff_feature_t feature_id, void** chunk_data, void* frame_buffer, uint32_t frame_size, dc1394bool_t has_crc_checksum) ++DLL_PUBLIC dc1394error_t dc1394_basler_sff_chunk_find (dc1394basler_sff_feature_t feature_id, void** chunk_data, void* frame_buffer, uint32_t frame_size, dc1394bool_t has_crc_checksum) + { + dc1394basler_sff_t chunk; + dc1394bool_t found = DC1394_FALSE; +diff -urN libdc1394-2.1.3.orig/dc1394/visibility.h libdc1394-2.1.3/dc1394/visibility.h +--- libdc1394-2.1.3.orig/dc1394/visibility.h 1970-01-01 01:00:00.000000000 +0100 ++++ libdc1394-2.1.3/dc1394/visibility.h 2011-08-29 10:01:52.570014987 +0200 +@@ -0,0 +1,31 @@ ++ ++#ifndef __DC1394_VISIBILITY_H__ ++#define __DC1394_VISIBILITY_H__ ++ ++/* http://gcc.gnu.org/wiki/Visibility */ ++#if defined _WIN32 || defined __CYGWIN__ ++ #ifdef BUILDING_DLL ++ #ifdef __GNUC__ ++ #define DLL_PUBLIC __attribute__ ((dllexport)) ++ #else ++ #define DLL_PUBLIC __declspec(dllexport) ++ #endif ++ #else ++ #ifdef __GNUC__ ++ #define DLL_PUBLIC __attribute__ ((dllimport)) ++ #else ++ #define DLL_PUBLIC __declspec(dllimport) ++ #endif ++ #endif ++ #define DLL_LOCAL ++#else ++ #if __GNUC__ >= 4 ++ #define DLL_PUBLIC __attribute__ ((visibility ("default"))) ++ #define DLL_LOCAL __attribute__ ((visibility ("hidden"))) ++ #else ++ #define DLL_PUBLIC ++ #define DLL_LOCAL ++ #endif ++#endif ++ ++#endif diff --git a/libdc1394.changes b/libdc1394.changes index 4214101..fb67c8a 100644 --- a/libdc1394.changes +++ b/libdc1394.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Aug 29 08:03:27 UTC 2011 - idonmez@suse.com + +- Add libdc1394-visibility.patch to properly hide internal symbols + to prevent potential clashes with other libraries, sf #3361405 , + bko # 268267 + ------------------------------------------------------------------- Thu Jul 7 09:47:56 UTC 2011 - idonmez@novell.com diff --git a/libdc1394.spec b/libdc1394.spec index 9f3b9ea..30baca1 100644 --- a/libdc1394.spec +++ b/libdc1394.spec @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild # if Build_12 is equal to 0 don't build version 1.2.2 %define Build_12 0 @@ -26,19 +25,18 @@ Name: libdc1394 BuildRequires: libraw1394-devel %if 0%{?suse_version} > 1100 # no IIDC-over-USB support for openSUSE 11.0 -BuildRequires: libusb-1_0-devel pkg-config +BuildRequires: libusb-1_0-devel +BuildRequires: pkg-config %endif %if 0%{?suse_version} >= 1210 BuildRequires: libv4l-devel >= 0.8.4 %endif -License: LGPLv2.1+ -Group: Hardware/Camera -AutoReqProv: on Version: %{libdc1394_version} Release: 25 -Url: http://sourceforge.net/projects/libdc1394/ -BuildRoot: %{_tmppath}/%{name}-%{version}-build +License: LGPLv2.1+ Summary: 1394-Based Digital Camera Control Library +Url: http://sourceforge.net/projects/libdc1394/ +Group: Hardware/Camera Source1: libdc1394-%{libdc1394_12_version}.tar.bz2 Source2: libdc1394-%{libdc1394_version}.tar.bz2 Source3: %{name}-rpmlintrc @@ -47,6 +45,8 @@ Patch1: libdc1394.ac.patch Patch2: libdc1394-swab_fix.patch Patch3: libdc1394.raw1394_set_iso_handler.patch Patch4: libdc1394-v4l-2.6.38.patch +Patch5: libdc1394-visibility.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This library provides functionality for controlling any camera that @@ -54,75 +54,38 @@ conforms to the 1394-Based Digital Camera Specification. It utilizes the low-level functionality provided by libraw1394 to communicate with the camera. - - -Authors: --------- - Gord Peters - Per Dalgas Jakobsen - Chris Urmson - Damien Douxchamps - Dan Dennedy - David Moore - John Stanley - - %if %{Build_12} >= 1 %package -n libdc1394_control12 +Version: %{libdc1394_12_version} +Release: 21 License: LGPLv2.1+ Summary: 1394-Based Digital Camera Control Library Group: Hardware/Camera -Version: %{libdc1394_12_version} -Release: 21 %description -n libdc1394_control12 This library provides functionality for controlling any camera that conforms to the 1394-Based Digital Camera Specification (which can be -found at -http://www.1394ta.org/Download/Technology/Specifications/Camera120.pdf) -. It utilizes the low-level functionality provided by libraw1394 to +found at http://www.1394ta.org/Download/Technology/Specifications/Camera120.pdf). +It utilizes the low-level functionality provided by libraw1394 to communicate with the camera. - - -Authors: --------- - Gord Peters - Per Dalgas Jakobsen - Chris Urmson - Damien Douxchamps - Dan Dennedy - David Moore - John Stanley - %package -n libdc1394_control12-devel +Version: %{libdc1394_12_version} +Release: 21 License: LGPLv2.1+ Summary: 1394-Based Digital Camera Control Library Group: Development/Libraries/C and C++ -Version: %{libdc1394_12_version} -Release: 21 -Requires: libdc1394_control12 = %{libdc1394_12_version} libraw1394-devel +Requires: libdc1394_control12 = %{libdc1394_12_version} +Requires: libraw1394-devel %description -n libdc1394_control12-devel This library provides functionality for controlling any camera that conforms to the 1394-Based Digital Camera Specification (which can be -found at -http://www.1394ta.org/Download/Technology/Specifications/Camera120.pdf) -. It utilizes the low-level functionality provided by libraw1394 to +found at http://www.1394ta.org/Download/Technology/Specifications/Camera120.pdf). +It utilizes the low-level functionality provided by libraw1394 to communicate with the camera. - - -Authors: --------- - Gord Peters - Per Dalgas Jakobsen - Chris Urmson - Damien Douxchamps - Dan Dennedy - David Moore - John Stanley %endif %package 22 @@ -133,47 +96,22 @@ Group: Hardware/Camera %description 22 This library provides functionality for controlling any camera that conforms to the 1394-Based Digital Camera Specification (which can be -found at -http://www.1394ta.org/Download/Technology/Specifications/Camera120.pdf) -. It utilizes the low-level functionality provided by libraw1394 to +found at http://www.1394ta.org/Download/Technology/Specifications/Camera120.pdf). +It utilizes the low-level functionality provided by libraw1394 to communicate with the camera. - - -Authors: --------- - Gord Peters - Per Dalgas Jakobsen - Chris Urmson - Damien Douxchamps - Dan Dennedy - David Moore - John Stanley - %package devel License: LGPLv2.1+ Summary: Development libraries and header files for dc1394 Group: Development/Libraries/C and C++ -Requires: libdc1394-22 = %{libdc1394_version} Requires: libdc1394 = %{libdc1394_version} +Requires: libdc1394-22 = %{libdc1394_version} Requires: libraw1394-devel %description devel This package contains the header files and libraries for building programs using the dc1394 library. - - -Authors: --------- - Gord Peters - Per Dalgas Jakobsen - Chris Urmson - Damien Douxchamps - Dan Dennedy - David Moore - John Stanley - %prep %setup -q -T -c -a 1 -a 2 %patch0 -p1 @@ -183,14 +121,15 @@ Authors: %if 0%{?suse_version} >= 1210 %patch4 %endif +%patch5 %build doit() { if pushd "$1" ; then autoreconf --force --install - export CFLAGS="$RPM_OPT_FLAGS" + export CFLAGS="%{optflags}" %{configure} --disable-static --with-pic --disable-xv - %{__make} %{?jobs:-j%jobs} + make %{?_smp_mflags} popd fi } @@ -202,7 +141,7 @@ doit libdc1394-%{libdc1394_version} %install doit() { if pushd "$1" ; then - %{__make} DESTDIR=${RPM_BUILD_ROOT} install + make DESTDIR=%{buildroot} install popd fi } @@ -213,7 +152,7 @@ doit libdc1394-%{libdc1394_version} rm -f %{buildroot}%{_bindir}/dc1394_vloopback %{buildroot}%{_mandir}/man1/dc1394_vloopback.1* rm -f %{buildroot}%{_mandir}/man1/dc1394_multiview.1* rm -f %{buildroot}%{_mandir}/man1/grab_*_image.1* -%{__rm} -f %{buildroot}%{_libdir}/*.la +rm -f %{buildroot}%{_libdir}/*.la %if %{Build_12} >= 1 @@ -229,29 +168,29 @@ rm -f %{buildroot}%{_mandir}/man1/grab_*_image.1* %files %defattr(-,root,root) %doc libdc1394-%{libdc1394_version}/{AUTHORS,COPYING,ChangeLog,NEWS,README} -%_bindir/dc1394_reset_bus +%{_bindir}/dc1394_reset_bus %{_mandir}/man1/dc1394_reset_bus.1* %files 22 %defattr(-,root,root) -%_libdir/libdc1394.so.22* +%{_libdir}/libdc1394.so.22* %if %{Build_12} >= 1 %files -n libdc1394_control12 %defattr(-,root,root) -%_libdir/libdc1394_control.so.* +%{_libdir}/libdc1394_control.so.* %files -n libdc1394_control12-devel %defattr(-,root,root) -%_includedir/libdc1394 -%_libdir/libdc1394_control*.so +%{_includedir}/libdc1394 +%{_libdir}/libdc1394_control*.so %endif %files devel %defattr(-,root,root) -%_includedir/dc1394 -%_libdir/libdc1394.so -%_libdir/pkgconfig/*.pc +%{_includedir}/dc1394 +%{_libdir}/libdc1394.so +%{_libdir}/pkgconfig/*.pc %changelog