1#*************************************************************************
2#
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# Copyright 2000, 2010 Oracle and/or its affiliates.
6#
7# OpenOffice.org - a multi-platform office productivity suite
8#
9# This file is part of OpenOffice.org.
10#
11# OpenOffice.org is free software: you can redistribute it and/or modify
12# it under the terms of the GNU Lesser General Public License version 3
13# only, as published by the Free Software Foundation.
14#
15# OpenOffice.org is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18# GNU Lesser General Public License version 3 for more details
19# (a copy is included in the LICENSE file that accompanied this code).
20#
21# You should have received a copy of the GNU Lesser General Public License
22# version 3 along with OpenOffice.org.  If not, see
23# <http://www.openoffice.org/license.html>
24# for a copy of the LGPLv3 License.
25#
26#*************************************************************************
27
28PRJ := ..$/..$/..
29PRJNAME := bridges
30
31TARGET := test_javauno_nativethreadpool
32PACKAGE := test$/javauno$/nativethreadpool
33
34ENABLE_EXCEPTIONS := TRUE
35
36#TODO:
37.IF "$(OS)" == "LINUX"
38JVM_LIB_URL := file:///net/grande.germany/develop6/update/dev/Linux_JDK_1.4.1_03/jre/lib/i386/client/libjvm.so
39.ELSE
40ERROR -- missing platform
41.ENDIF
42
43.INCLUDE: settings.mk
44
45DLLPRE = # no leading "lib" on .so files
46INCPRE += $(MISC)$/$(TARGET)$/inc
47
48SHL1TARGET = $(TARGET)_client.uno
49SHL1OBJS = $(SLO)$/testnativethreadpoolclient.obj
50SHL1STDLIBS = $(CPPULIB) $(CPPUHELPERLIB) $(SALLIB)
51SHL1VERSIONMAP = version.map
52SHL1IMPLIB = i$(TARGET)_client
53
54SHL2TARGET = $(TARGET)_server.uno
55SHL2OBJS = $(SLO)$/testnativethreadpoolserver.obj
56SHL2STDLIBS = $(CPPULIB) $(CPPUHELPERLIB) $(SALLIB)
57SHL2VERSIONMAP = version.map
58SHL2IMPLIB = i$(TARGET)_server
59
60SLOFILES = $(SHL1OBJS) $(SHL2OBJS)
61
62JAVAFILES = Relay.java
63JARFILES = java_uno.jar juh.jar jurt.jar ridl.jar
64
65.INCLUDE: target.mk
66
67ALLTAR: test
68
69EXEC_CLASSPATH_TMP = $(foreach,i,$(JARFILES) $(SOLARBINDIR)$/$i)
70EXEC_CLASSPATH = \
71    $(strip $(subst,!,$(PATH_SEPERATOR) $(EXEC_CLASSPATH_TMP:s/ /!/)))
72
73$(MISC)$/$(TARGET)$/types.rdb: types.idl
74    - rm $@
75    - $(MKDIR) $(MISC)$/$(TARGET)
76    - $(MKDIR) $(MISC)$/$(TARGET)$/inc
77    $(IDLC) -I$(SOLARIDLDIR) -O$(MISC)$/$(TARGET) $<
78    $(REGMERGE) $@ /UCR $(MISC)$/$(TARGET)$/types.urd
79    $(CPPUMAKER) -BUCR -C -O$(MISC)$/$(TARGET)$/inc $@ -X$(SOLARBINDIR)$/types.rdb
80    $(JAVAMAKER) -BUCR -nD -O$(CLASSDIR) $@ -X$(SOLARBINDIR)$/types.rdb
81
82$(SLOFILES) $(JAVACLASSFILES): $(MISC)$/$(TARGET)$/types.rdb
83
84$(BIN)$/$(TARGET).uno.jar: $(JAVACLASSFILES) relay.manifest
85    jar cfm $@ relay.manifest -C $(CLASSDIR) test/javauno/nativethreadpool
86
87$(BIN)$/$(TARGET).rdb .ERRREMOVE: $(MISC)$/$(TARGET)$/types.rdb \
88        $(BIN)$/$(TARGET).uno.jar
89	cp $(MISC)$/$(TARGET)$/types.rdb $@
90    $(REGMERGE) $@ / $(SOLARBINDIR)$/types.rdb
91    $(REGCOMP) -register -r $@ -c acceptor.uno$(DLLPOST) \
92        -c bridgefac.uno$(DLLPOST) -c connector.uno$(DLLPOST) \
93        -c remotebridge.uno$(DLLPOST) -c uuresolver.uno$(DLLPOST) \
94        -c javaloader.uno$(DLLPOST) -c javavm.uno$(DLLPOST) \
95        -c stocservices.uno$(DLLPOST)
96    cp $(SOLARBINDIR)$/types.rdb $(MISC)$/$(TARGET)$/bootstrap.rdb
97    $(REGCOMP) -register -r $(MISC)$/$(TARGET)$/bootstrap.rdb \
98        -c javaloader.uno$(DLLPOST) -c javavm.uno$(DLLPOST) \
99        -c stocservices.uno$(DLLPOST)
100.IF "$(GUI)" == "WNT"
101    ERROR -- missing platform
102.ELSE # GUI, WNT
103    + export OO_JAVA_PROPERTIES='RuntimeLib=$(JVM_LIB_URL)' && \
104        $(REGCOMP) -register -r $@ -c file://$(PWD)/$(BIN)$/$(TARGET).uno.jar \
105        -br $(MISC)$/$(TARGET)$/bootstrap.rdb -classpath $(EXEC_CLASSPATH) \
106        -env:URE_INTERNAL_JAVA_DIR=file://$(SOLARBINDIR)
107.ENDIF # GUI, WNT
108
109test .PHONY: $(SHL1TARGETN) $(BIN)$/$(TARGET).uno.jar $(BIN)$/$(TARGET).rdb
110.IF "$(GUI)" == "WNT"
111    ERROR -- missing platform
112.ELSE # GUI, WNT
113    $(AUGMENT_LIBRARY_PATH) uno -c test.javauno.nativethreadpool.server \
114        -l $(SHL2TARGETN) -ro $(BIN)$/$(TARGET).rdb \
115        -u 'uno:socket,host=localhost,port=3830;urp;test' --singleaccept &
116    + $(AUGMENT_LIBRARY_PATH) OO_JAVA_PROPERTIES='RuntimeLib=$(JVM_LIB_URL)' \
117        CLASSPATH=$(EXEC_CLASSPATH)$(PATH_SEPERATOR)$(BIN)$/$(TARGET).uno.jar \
118        uno -c test.javauno.nativethreadpool.client -l $(SHL1TARGETN) \
119        -ro $(BIN)$/$(TARGET).rdb \
120        -env:URE_INTERNAL_JAVA_DIR=file://$(SOLARBINDIR)
121.ENDIF # GUI, WNT
122