[REVIEW-3-5] fdo#49580: Fix bean after gbuild'ification

Stephan Bergmann sbergman at redhat.com
Mon May 7 08:51:37 PDT 2012


Please consider the below fix for 
<https://bugs.freedesktop.org/show_bug.cgi?id=49580> "OfficeBean.jar 
references officebean.dll not officebeanlo.dll" for inclusion in 3.5.

Thanks,
Stephan

On 05/07/2012 05:03 PM, Stephan Bergmann wrote:
> commit 708229dc96533b6f165b82ce4d9e07537d1ce8b1
> Author: Stephan Bergmann<sbergman at redhat.com>
> Date:   Mon May 7 16:54:43 2012 +0200
>
>      fdo#49580: Fix bean after gbuild'ification
>
>      4478b739ddade09425d496cbddee1542fdfd5e9b "convert bean to gbuild and add to
>      tail_build" broke the following:
>      * The name of the officebean dynamic library must not be changed (by adding the
>        "lo" extension), as code in officebean.jar uses it in NativeLibraryLoader.
>      * With gbuild's per-default hidden visibility, JNIEXPORT functions must instead
>        use SAL_DLLPUBLIC_EXPORT.  (Windows-only code in bean/native/win32/ should be
>        safe to continue using JNIEXPORT.)
>
>      Change-Id: I I3c312dd05c90421ba0c726496b7149a26d155604
>
> diff --git a/Repository.mk b/Repository.mk
> index 68a8890..900b538 100644
> --- a/Repository.mk
> +++ b/Repository.mk
> @@ -218,7 +218,6 @@ $(eval $(call gb_Helper_register_libraries,OOOLIBS, \
>       forui \
>       odbc \
>       odbcbase \
> -    officebean \
>       oox \
>       ooxml \
>       sdbc \
> @@ -409,6 +408,7 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
>       localedata_euro \
>       localedata_others \
>       mcnttype \
> +    officebean \
>       package2 \
>       scriptframe \
>       smoketest \
> diff --git a/bean/native/unix/com_sun_star_beans_LocalOfficeWindow.c b/bean/native/unix/com_sun_star_beans_LocalOfficeWindow.c
> index a45b49e..cc35283 100644
> --- a/bean/native/unix/com_sun_star_beans_LocalOfficeWindow.c
> +++ b/bean/native/unix/com_sun_star_beans_LocalOfficeWindow.c
> @@ -26,6 +26,8 @@
>    *
>    ************************************************************************/
>
> +#include "sal/config.h"
> +
>   #include<X11/Xlib.h>
>   #include<X11/Xutil.h>
>   #include<X11/Intrinsic.h>
> @@ -40,7 +42,7 @@
>   #include "jawt_md.h"
>   #include "jawt.h"
>
> -/*#include "../inc/com_sun_star_comp_beans_LocalOfficeWindow.h"*/
> +#include "sal/types.h"
>
>   #if defined assert
>   #undef assert
> @@ -55,7 +57,7 @@
>   #define SYSTEM_MAC     5
>   #define SYSTEM_XWINDOW 6
>
> -JNIEXPORT jlong JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeWindow
> +SAL_DLLPUBLIC_EXPORT jlong JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeWindow
>     (JNIEnv * env, jobject obj_this);
>
>   /*****************************************************************************/
> @@ -64,7 +66,7 @@ JNIEXPORT jlong JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNative
>    * Method:    getNativeWindowSystemType
>    * Signature: ()I
>    */
> -JNIEXPORT jint JNICALL Java_com_sun_star_beans_LocalOfficeWindow_getNativeWindowSystemType
> +SAL_DLLPUBLIC_EXPORT jint JNICALL Java_com_sun_star_beans_LocalOfficeWindow_getNativeWindowSystemType
>     (JNIEnv * env, jobject obj_this)
>   {
>       (void) env; /* avoid warning about unused parameter */
> @@ -79,7 +81,7 @@ JNIEXPORT jint JNICALL Java_com_sun_star_beans_LocalOfficeWindow_getNativeWindow
>    * Method:    getNativeWindow
>    * Signature: ()J
>    */
> -JNIEXPORT jlong JNICALL Java_com_sun_star_beans_LocalOfficeWindow_getNativeWindow
> +SAL_DLLPUBLIC_EXPORT jlong JNICALL Java_com_sun_star_beans_LocalOfficeWindow_getNativeWindow
>     (JNIEnv * env, jobject obj_this)
>   {
>       (void) env; /* avoid warning about unused parameter */
> diff --git a/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c b/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c
> index 5b36110..8510dc3 100644
> --- a/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c
> +++ b/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c
> @@ -26,6 +26,8 @@
>    *
>    ************************************************************************/
>
> +#include "sal/config.h"
> +
>   #include<X11/Xlib.h>
>   #include<X11/Xutil.h>
>   #include<X11/Intrinsic.h>
> @@ -40,6 +42,7 @@
>   #include "jawt_md.h"
>   #include "jawt.h"
>
> +#include "sal/types.h"
>
>   #define SYSTEM_WIN32   1
>   #define SYSTEM_WIN16   2
> @@ -71,7 +74,7 @@ static void ThrowException(JNIEnv * env, char const * type, char const * msg) {
>    * Method:    getNativeWindowSystemType
>    * Signature: ()I
>    */
> -JNIEXPORT jint JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeWindowSystemType
> +SAL_DLLPUBLIC_EXPORT jint JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeWindowSystemType
>     (JNIEnv * env, jobject obj_this)
>   {
>       (void) env; /* avoid warning about unused parameter */
> @@ -86,7 +89,7 @@ JNIEXPORT jint JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeW
>    * Method:    getNativeWindow
>    * Signature: ()J
>    */
> -JNIEXPORT jlong JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeWindow
> +SAL_DLLPUBLIC_EXPORT jlong JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeWindow
>     (JNIEnv * env, jobject obj_this)
>   {
>       jboolean result;
> diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp
> index 63b2f8f..83f125e 100644
> --- a/scp2/source/ooo/file_library_ooo.scp
> +++ b/scp2/source/ooo/file_library_ooo.scp
> @@ -914,7 +914,16 @@ STD_LIB_FILE( gid_File_Lib_Offacc, offacc)
>   #ifdef SOLAR_JAVA
>   #ifndef MACOSX
>
> -STD_LIB_FILE(gid_File_Lib_Officebean, officebean)
> +File gid_File_Lib_Officebean
> +    TXT_FILE_BODY;
> +    Styles = (PACKED);
> +    Dir = SCP2_OOO_BIN_DIR;
> +  #ifdef UNX
> +    Name = STRING(CONCAT2(libofficebean,UNXSUFFIX));
> +  #else
> +    Name = "officebean.dll";
> +  #endif
> +End
>
>   #endif
>   #endif


More information about the LibreOffice mailing list