Browse Source

Correct linking issues.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4288 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.9.8
sletz 14 years ago
parent
commit
f942ca2284
4 changed files with 28 additions and 15 deletions
  1. +2
    -2
      common/jack/jack.h
  2. +22
    -11
      common/jack/weakmacros.h
  3. +3
    -1
      tests/test.cpp
  4. +1
    -1
      windows/jack_lsp.cbp

+ 2
- 2
common/jack/jack.h View File

@@ -310,7 +310,7 @@ int jack_set_thread_init_callback (jack_client_t *client,
* jack_on_info_shutdown() will. * jack_on_info_shutdown() will.
*/ */
void jack_on_shutdown (jack_client_t *client, void jack_on_shutdown (jack_client_t *client,
JackShutdownCallback shutdown_callback, void *arg) JACK_WEAK_EXPORT;
JackShutdownCallback shutdown_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT;


/** /**
* @param client pointer to JACK client structure. * @param client pointer to JACK client structure.
@@ -336,7 +336,7 @@ void jack_on_shutdown (jack_client_t *client,
* jack_on_info_shutdown() will. * jack_on_info_shutdown() will.
*/ */
void jack_on_info_shutdown (jack_client_t *client, void jack_on_info_shutdown (jack_client_t *client,
JackInfoShutdownCallback shutdown_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT;
JackInfoShutdownCallback shutdown_callback, void *arg) JACK_WEAK_EXPORT;


/** /**
* Tell the Jack server to call @a process_callback whenever there is * Tell the Jack server to call @a process_callback whenever there is


+ 22
- 11
common/jack/weakmacros.h View File

@@ -40,13 +40,23 @@
the symbol it used with. For this to work full may the symbol it used with. For this to work full may
require linker arguments in the client as well. require linker arguments in the client as well.
*/ */
#define JACK_WEAK_EXPORT __attribute__((weak))

#ifdef WIN32
/*
Not working with __declspec(dllexport) so normal linking
Linking with JackWeakAPI.cpp will be the preferred way.
*/
#define JACK_WEAK_EXPORT
#else #else
/* Add other things here for non-gcc platforms */
#ifdef WIN32
#define JACK_WEAK_EXPORT
#endif
#define JACK_WEAK_EXPORT __attribute__((weak))
#endif

#else
/* Add other things here for non-gcc platforms */

#ifdef WIN32
#define JACK_WEAK_EXPORT
#endif


#endif #endif
#endif #endif
@@ -59,13 +69,14 @@
#ifdef __GNUC__ #ifdef __GNUC__
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__deprecated__)) #define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__deprecated__))
#else #else
/* Add other things here for non-gcc platforms */
#ifdef WIN32
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT
#endif
/* Add other things here for non-gcc platforms */
#ifdef WIN32
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT
#endif


#endif /* __GNUC__ */ #endif /* __GNUC__ */
#endif #endif


#endif /* __weakmacros_h__ */ #endif /* __weakmacros_h__ */


+ 3
- 1
tests/test.cpp View File

@@ -745,7 +745,9 @@ int main (int argc, char *argv[])
} }


jack_on_shutdown(client1, jack_shutdown, 0); jack_on_shutdown(client1, jack_shutdown, 0);
jack_on_info_shutdown(client1, jack_info_shutdown, 0);

if (jack_on_info_shutdown)
jack_on_info_shutdown(client1, jack_info_shutdown, 0);


if (jack_set_buffer_size_callback(client1, Jack_Update_Buffer_Size, 0) != 0) { if (jack_set_buffer_size_callback(client1, Jack_Update_Buffer_Size, 0) != 0) {
printf("Error when calling buffer_size_callback !\n"); printf("Error when calling buffer_size_callback !\n");


+ 1
- 1
windows/jack_lsp.cbp View File

@@ -25,7 +25,7 @@
</Linker> </Linker>
</Target> </Target>
<Target title="Win32 Debug 64bits"> <Target title="Win32 Debug 64bits">
<Option output="Debug64\bin64\jack_lsp" prefix_auto="1" extension_auto="1" />
<Option output="Debug64\bin\jack_lsp" prefix_auto="1" extension_auto="1" />
<Option object_output="Debug64\" /> <Option object_output="Debug64\" />
<Option type="1" /> <Option type="1" />
<Option compiler="mingw_64" /> <Option compiler="mingw_64" />


Loading…
Cancel
Save