summaryrefslogtreecommitdiff
path: root/jvmaccess
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2011-12-24 09:20:23 +0100
committerDavid Tardon <dtardon@redhat.com>2011-12-24 16:47:32 +0100
commita784a81051c992e71476c60a1dabc5768480d0ef (patch)
tree2de728604c5ad7efeeecd1e2095327e5456c4570 /jvmaccess
parent63712b8439fd954ec4247cd62224dbba49dea35f (diff)
gbuildize jvmaccess
Diffstat (limited to 'jvmaccess')
-rw-r--r--jvmaccess/Library_jvmaccess.mk62
-rw-r--r--jvmaccess/Makefile (renamed from jvmaccess/source/makefile.mk)26
-rw-r--r--jvmaccess/Module_jvmaccess.mk40
-rw-r--r--jvmaccess/Package_inc.mk35
-rw-r--r--jvmaccess/inc/jvmaccess/classpath.hxx3
-rw-r--r--jvmaccess/inc/jvmaccess/jvmaccessdllapi.h44
-rw-r--r--jvmaccess/inc/jvmaccess/unovirtualmachine.hxx5
-rw-r--r--jvmaccess/inc/jvmaccess/virtualmachine.hxx7
-rw-r--r--jvmaccess/prj/build.lst3
-rw-r--r--jvmaccess/prj/d.lst8
-rw-r--r--jvmaccess/prj/makefile.mk1
-rw-r--r--jvmaccess/util/gcc3.map12
-rw-r--r--jvmaccess/util/makefile.mk77
13 files changed, 214 insertions, 109 deletions
diff --git a/jvmaccess/Library_jvmaccess.mk b/jvmaccess/Library_jvmaccess.mk
new file mode 100644
index 000000000000..98bfb46a93c4
--- /dev/null
+++ b/jvmaccess/Library_jvmaccess.mk
@@ -0,0 +1,62 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2010 Red Hat, Inc., David Tardon <dtardon@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Library_Library,jvmaccess))
+
+$(eval $(call gb_Library_set_soversion_script,jvmaccess,3,$(SRCDIR)/jvmaccess/util/gcc3.map))
+
+$(eval $(call gb_Library_add_package_headers,jvmaccess,\
+ jvmaccess_inc \
+))
+
+$(eval $(call gb_Library_add_defs,jvmaccess,\
+ -DJVMACCESS_DLLIMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_add_api,jvmaccess,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_add_linked_libs,jvmaccess,\
+ cppu \
+ sal \
+ salhelper \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,jvmaccess,\
+ advapi32 \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,jvmaccess,\
+ jvmaccess/source/classpath \
+ jvmaccess/source/unovirtualmachine \
+ jvmaccess/source/virtualmachine \
+))
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/jvmaccess/source/makefile.mk b/jvmaccess/Makefile
index 8c19c93fcaff..7bbbe6c703e6 100644
--- a/jvmaccess/source/makefile.mk
+++ b/jvmaccess/Makefile
@@ -1,3 +1,4 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -25,22 +26,15 @@
#
#*************************************************************************
-PRJ = ..
-PRJNAME = jvmaccess
-TARGET = $(PRJNAME)
+gb_PARTIALBUILD := T
+ifeq ($(strip $(SOLARENV)),)
+include $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/../solenv/gbuild/source_and_rerun.mk
+else
-ENABLE_EXCEPTIONS = TRUE
+gb_SourceEnvAndRecurse_STAGE=gbuild
+include $(SOLARENV)/gbuild/gbuild.mk
-.INCLUDE: settings.mk
+$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
-.IF "$(OS)" == "IOS"
-ALL:
- @echo Nothing done for $(OS)
-.ENDIF
-
-SLOFILES = \
- $(SLO)$/classpath.obj \
- $(SLO)$/unovirtualmachine.obj \
- $(SLO)$/virtualmachine.obj
-
-.INCLUDE: target.mk
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/jvmaccess/Module_jvmaccess.mk b/jvmaccess/Module_jvmaccess.mk
new file mode 100644
index 000000000000..a760e7659392
--- /dev/null
+++ b/jvmaccess/Module_jvmaccess.mk
@@ -0,0 +1,40 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2010 Red Hat, Inc., David Tardon <dtardon@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Module_Module,jvmaccess))
+
+$(eval $(call gb_Module_add_targets,jvmaccess,\
+ Package_inc \
+))
+
+ifneq ($(OS),IOS)
+$(eval $(call gb_Module_add_targets,jvmaccess,\
+ Library_jvmaccess \
+))
+endif
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/jvmaccess/Package_inc.mk b/jvmaccess/Package_inc.mk
new file mode 100644
index 000000000000..ef2d5f05fb0d
--- /dev/null
+++ b/jvmaccess/Package_inc.mk
@@ -0,0 +1,35 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2010 Red Hat, Inc., David Tardon <dtardon@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Package_Package,jvmaccess_inc,$(SRCDIR)/jvmaccess/inc/jvmaccess))
+
+$(eval $(call gb_Package_add_file,jvmaccess_inc,inc/jvmaccess/classpath.hxx,classpath.hxx))
+$(eval $(call gb_Package_add_file,jvmaccess_inc,inc/jvmaccess/jvmaccessdllapi.h,jvmaccessdllapi.h))
+$(eval $(call gb_Package_add_file,jvmaccess_inc,inc/jvmaccess/unovirtualmachine.hxx,unovirtualmachine.hxx))
+$(eval $(call gb_Package_add_file,jvmaccess_inc,inc/jvmaccess/virtualmachine.hxx,virtualmachine.hxx))
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/jvmaccess/inc/jvmaccess/classpath.hxx b/jvmaccess/inc/jvmaccess/classpath.hxx
index 917bfbd9f00e..35b2698c5f5d 100644
--- a/jvmaccess/inc/jvmaccess/classpath.hxx
+++ b/jvmaccess/inc/jvmaccess/classpath.hxx
@@ -29,6 +29,7 @@
#ifndef INCLUDED_JVMACCESS_CLASSPATH_HXX
#define INCLUDED_JVMACCESS_CLASSPATH_HXX
+#include "jvmaccessdllapi.h"
#include "sal/config.h"
#include "com/sun/star/uno/Reference.hxx"
@@ -50,7 +51,7 @@ namespace jvmaccess {
/**
Helper functions for class path handling.
*/
-class ClassPath {
+class JVMACCESS_DLLPUBLIC ClassPath {
public:
/**
translates a class path into a java.net.URL[] instance.
diff --git a/jvmaccess/inc/jvmaccess/jvmaccessdllapi.h b/jvmaccess/inc/jvmaccess/jvmaccessdllapi.h
new file mode 100644
index 000000000000..08f7a593a0d6
--- /dev/null
+++ b/jvmaccess/inc/jvmaccess/jvmaccessdllapi.h
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2010 Red Hat, Inc., David Tardon <dtardon@redhat.com>
+ * (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef INCLUDED_JVMACCESS_JVMACCESSDLLAPI_H
+#define INCLUDED_JVMACCESS_JVMACCESSDLLAPI_H
+
+#include <sal/types.h>
+
+#if defined JVMACCESS_DLLIMPLEMENTATION
+# define JVMACCESS_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+# define JVMACCESS_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define JVMACCESS_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/jvmaccess/inc/jvmaccess/unovirtualmachine.hxx b/jvmaccess/inc/jvmaccess/unovirtualmachine.hxx
index b14aeda2978c..eeab866a7cb9 100644
--- a/jvmaccess/inc/jvmaccess/unovirtualmachine.hxx
+++ b/jvmaccess/inc/jvmaccess/unovirtualmachine.hxx
@@ -29,6 +29,7 @@
#ifndef INCLUDED_JVMACCESS_UNOVIRTUALMACHINE_HXX
#define INCLUDED_JVMACCESS_UNOVIRTUALMACHINE_HXX
+#include "jvmaccessdllapi.h"
#include "sal/config.h"
#include "salhelper/simplereferenceobject.hxx"
#include "rtl/ref.hxx"
@@ -40,11 +41,11 @@ class VirtualMachine;
/** An encapsulating wrapper around a Java virtual machine and an appropriate
UNO class loader.
*/
-class UnoVirtualMachine: public salhelper::SimpleReferenceObject {
+class JVMACCESS_DLLPUBLIC UnoVirtualMachine: public salhelper::SimpleReferenceObject {
public:
/** An exception indicating failure to create a UnoVirtualMachine.
*/
- class CreationException
+ class JVMACCESS_DLLPUBLIC CreationException
{
public:
CreationException();
diff --git a/jvmaccess/inc/jvmaccess/virtualmachine.hxx b/jvmaccess/inc/jvmaccess/virtualmachine.hxx
index 3bffbc834f90..4043c932632e 100644
--- a/jvmaccess/inc/jvmaccess/virtualmachine.hxx
+++ b/jvmaccess/inc/jvmaccess/virtualmachine.hxx
@@ -29,6 +29,7 @@
#if !defined INCLUDED_JVMACCESS_VIRTUALMACHINE_HXX
#define INCLUDED_JVMACCESS_VIRTUALMACHINE_HXX
+#include "jvmaccessdllapi.h"
#include "rtl/ref.hxx"
#include "salhelper/simplereferenceobject.hxx"
@@ -47,7 +48,7 @@ namespace jvmaccess {
/** An encapsulating wrapper around a Java virtual machine.
*/
-class VirtualMachine: public salhelper::SimpleReferenceObject
+class JVMACCESS_DLLPUBLIC VirtualMachine: public salhelper::SimpleReferenceObject
{
public:
/** A helper to attach a thread to a Java virtual machine.
@@ -60,12 +61,12 @@ public:
detach the thread from the virtual machine upon destruction of the guard
at the bottom of the stack).
*/
- class AttachGuard
+ class JVMACCESS_DLLPUBLIC AttachGuard
{
public:
/** An exception indicating failure to create an AttachGuard.
*/
- class CreationException
+ class JVMACCESS_DLLPUBLIC CreationException
{
public:
CreationException();
diff --git a/jvmaccess/prj/build.lst b/jvmaccess/prj/build.lst
index 723c0a6ec6b8..bf0f20f26e76 100644
--- a/jvmaccess/prj/build.lst
+++ b/jvmaccess/prj/build.lst
@@ -1,4 +1,3 @@
jv jvmaccess : offapi ridljar cppu sal salhelper NULL
jv jvmaccess usr1 - all jv_mkout NULL
-jv jvmaccess\source nmake - all jv_source NULL
-jv jvmaccess\util nmake - all jv_util jv_source NULL
+jv jvmaccess\prj nmake - all jv_prj NULL
diff --git a/jvmaccess/prj/d.lst b/jvmaccess/prj/d.lst
index 56d9e83269e9..e69de29bb2d1 100644
--- a/jvmaccess/prj/d.lst
+++ b/jvmaccess/prj/d.lst
@@ -1,8 +0,0 @@
-mkdir: %_DEST%\inc\jvmaccess
-..\inc\jvmaccess\classpath.hxx %_DEST%\inc\jvmaccess\classpath.hxx
-..\inc\jvmaccess\unovirtualmachine.hxx %_DEST%\inc\jvmaccess\unovirtualmachine.hxx
-..\inc\jvmaccess\virtualmachine.hxx %_DEST%\inc\jvmaccess\virtualmachine.hxx
-..\%__SRC%\bin\jvmacces*.dll %_DEST%\bin\*
-..\%__SRC%\lib\ijvmaccess.lib %_DEST%\lib\ijvmaccess.lib
-..\%__SRC%\lib\libjvmaccess*.* %_DEST%\lib\*
-linklib: libjvmaccess*.*.*
diff --git a/jvmaccess/prj/makefile.mk b/jvmaccess/prj/makefile.mk
new file mode 100644
index 000000000000..0997622e00f6
--- /dev/null
+++ b/jvmaccess/prj/makefile.mk
@@ -0,0 +1 @@
+.INCLUDE : gbuildbridge.mk
diff --git a/jvmaccess/util/gcc3.map b/jvmaccess/util/gcc3.map
index 330651a1cf6e..42cd8e1a048d 100644
--- a/jvmaccess/util/gcc3.map
+++ b/jvmaccess/util/gcc3.map
@@ -86,3 +86,15 @@ UDK_3.4 { # OOo 2.3
_ZN9jvmaccess9ClassPath11doLoadClassERKN3com3sun4star3uno9ReferenceINS4_17XComponentContextEEEPvRKN3rtl8OUStringESE_; # jvmaccess::ClassPath::doLoadClass(com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > const &, void *, rtl::OUString const &, rtl::OUString const &)
_ZN9jvmaccess9ClassPath17doTranslateToUrlsERKN3com3sun4star3uno9ReferenceINS4_17XComponentContextEEEPvRKN3rtl8OUStringE; # jvmaccess::ClassPath::doTranslateToUrls(com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > const &, void *, rtl::OUString const &)
} UDK_3.3;
+
+UDK_3.5 { # LibO 3.6
+ global:
+ # jvmaccess/unovirtualmachine.hxx:
+ _ZTIN9jvmaccess17UnoVirtualMachine17CreationExceptionE; # typeinfo for jvmaccess::UnoVirtualMachine::CreationException
+ _ZTSN9jvmaccess17UnoVirtualMachine17CreationExceptionE; # typeinfo name for jvmaccess::UnoVirtualMachine::CreationException
+ _ZTVN9jvmaccess17UnoVirtualMachine17CreationExceptionE; # vtable for jvmaccess::UnoVirtualMachine::CreationException
+ # jvmaccess/virtualmachine.hxx:
+ _ZTIN9jvmaccess14VirtualMachine11AttachGuard17CreationExceptionE; # typeinfo for jvmaccess::VirtualMachine::AttachGuard::CreationException
+ _ZTSN9jvmaccess14VirtualMachine11AttachGuard17CreationExceptionE; # typeinfo name for jvmaccess::VirtualMachine::AttachGuard::CreationException
+ _ZTVN9jvmaccess14VirtualMachine11AttachGuard17CreationExceptionE; # vtable for jvmaccess::VirtualMachine::AttachGuard::CreationException
+} UDK_3.4;
diff --git a/jvmaccess/util/makefile.mk b/jvmaccess/util/makefile.mk
deleted file mode 100644
index 9553973361b5..000000000000
--- a/jvmaccess/util/makefile.mk
+++ /dev/null
@@ -1,77 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ = ..
-PRJNAME = jvmaccess
-TARGET = $(PRJNAME)
-
-ENABLE_EXCEPTIONS = TRUE
-
-.IF "$(OS)" != "WNT"
-UNIXVERSIONNAMES = UDK
-.ENDIF # WNT
-
-.INCLUDE: settings.mk
-
-.IF "$(OS)" == "IOS"
-ALL:
- @echo Nothing done for $(OS)
-.ENDIF
-
-.IF "$(UNIXVERSIONNAMES)" == ""
-SHL1TARGET = $(TARGET)$(UDK_MAJOR)$(COMID)
-.ELSE # UNIXVERSIONNAMES
-SHL1TARGET = $(TARGET)$(COMID)
-.ENDIF # UNIXVERSIONNAMES
-
-.IF "$(COM)" == "MSC"
-SHL1IMPLIB = i$(TARGET)
-.ELSE
-SHL1IMPLIB = $(TARGET)$(COMID)
-.ENDIF
-SHL1LIBS = $(SLB)$/$(TARGET).lib
-SHL1STDLIBS = $(CPPULIB) $(SALLIB) $(SALHELPERLIB)
-.IF "$(OS)" == "WNT"
-SHL1STDLIBS += $(ADVAPI32LIB)
-.ENDIF # WNT
-SHL1RPATH = URELIB
-
-.IF "$(COMNAME)" == "msci"
-SHL1VERSIONMAP = msvc_win32_intel.map
-.ELIF "$(COMNAME)" == "mscx"
-SHL1VERSIONMAP = msvc_win32_x86-64.map
-.ELIF "$(COMNAME)" == "sunpro5"
-SHL1VERSIONMAP = cc5_solaris_sparc.map
-.ELIF "$(GUI)$(COM)" == "WNTGCC"
-SHL1VERSIONMAP = mingw.map
-.ELIF "$(COMNAME)" == "gcc3"
-SHL1VERSIONMAP = gcc3.map
-.ENDIF
-
-DEF1NAME = $(SHL1TARGET)
-
-.INCLUDE: target.mk