a=edburns
bug=32011
This change enables the current webclient API to be called from native
code.
It adds makefile and conditional compilation logic.
If the user defines BAL_INTERFACE in their environment before building
webclient, -DBAL_INTERFACE is added to LCFLAGS. This causes code in
jni_util_export.cpp to behave differently due to the conditional
compilation logic.
I've broken out the 8 functions that are necessary to call into the
Webclient JNI methods into jni_util_export.{h,cpp}.
I've created a new pair of files, bal_util.{h,cpp} that contain function
declarations and definitions that are used when src_moz is built with
BAL_INTERFACE. bal_util.obj is not built, nor added to webclient.dll if
building without BAL_INTERFACE.
See the page
http://www.mozilla.org/projects/blackwood/webclient/design/uno-transition.html
for a design document description of these changes.
git-svn-id: svn://10.0.0.236/trunk@63599 18797224-902f-48f8-a5cc-f745e15eee43
184 lines
6.0 KiB
Makefile
184 lines
6.0 KiB
Makefile
#!nmake
|
|
#
|
|
# 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. 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.
|
|
#
|
|
# The Original Code is mozilla.org code.
|
|
#
|
|
# The Initial Developer of the Original Code is Sun Microsystems,
|
|
# Inc. Portions created by Sun are
|
|
# Copyright (C) 1999 Sun Microsystems, Inc. All
|
|
# Rights Reserved.
|
|
#
|
|
# Contributor(s):
|
|
|
|
DEPTH=..\..\..
|
|
IGNORE_MANIFEST=1
|
|
|
|
MAKE_OBJ_TYPE = DLL
|
|
DLLNAME = webclient
|
|
DLL=.\$(OBJDIR)\$(DLLNAME).dll
|
|
|
|
MODULE=webclient
|
|
|
|
OBJS = \
|
|
.\$(OBJDIR)\jni_util.obj \
|
|
.\$(OBJDIR)\jni_util_export.obj \
|
|
.\$(OBJDIR)\rdf_util.obj \
|
|
.\$(OBJDIR)\nsActions.obj \
|
|
.\$(OBJDIR)\BookmarksImpl.obj \
|
|
.\$(OBJDIR)\CurrentPageImpl.obj \
|
|
.\$(OBJDIR)\DocumentLoaderObserverImpl.obj \
|
|
.\$(OBJDIR)\EventRegistration.obj \
|
|
.\$(OBJDIR)\HistoryImpl.obj \
|
|
.\$(OBJDIR)\WrapperFactoryImpl.obj \
|
|
.\$(OBJDIR)\WindowControlImpl.obj \
|
|
.\$(OBJDIR)\NavigationImpl.obj \
|
|
.\$(OBJDIR)\NativeEventThread.obj \
|
|
.\$(OBJDIR)\RDFEnumeration.obj \
|
|
.\$(OBJDIR)\RDFTreeNode.obj \
|
|
.\$(OBJDIR)\ISupportsPeer.obj \
|
|
.\$(OBJDIR)\nsSetupRegistry.obj \
|
|
$(NULL)
|
|
|
|
!ifdef BAL_INTERFACE
|
|
OBJS = \
|
|
.\$(OBJDIR)\bal_util.obj \
|
|
$(OBJS) \
|
|
$(NULL)
|
|
!endif
|
|
|
|
|
|
LCFLAGS = \
|
|
-DDEBUG_RAPTOR_CANVAS \
|
|
$(NULL)
|
|
|
|
!ifdef BAL_INTERFACE
|
|
LCFLAGS = \
|
|
$(LCFLAGS) \
|
|
-DBAL_INTERFACE \
|
|
$(NULL)
|
|
!endif
|
|
|
|
LLIBS = \
|
|
$(DIST)\lib\gkweb.lib \
|
|
$(DIST)\lib\raptorbasewidget_s.lib \
|
|
$(DIST)\lib\gkwidget.lib \
|
|
$(DIST)\lib\xpcom.lib \
|
|
$(DIST)\lib\gkgfxwin.lib \
|
|
$(DIST)\lib\nsreg.lib \
|
|
$(DIST)\lib\nspr3.lib \
|
|
$(DIST)\lib\plds3.lib \
|
|
# $(DEPTH)\xpfe\bootstrap\$(OBJDIR)\nsSetupRegistry.obj \
|
|
$(NULL)
|
|
|
|
WIN_LIBS = \
|
|
version.lib
|
|
|
|
include <$(DEPTH)\config\rules.mak>
|
|
|
|
include <$(DEPTH)\java\config\localdefs.mak>
|
|
|
|
!ifdef BAL_INTERFACE
|
|
INCS = \
|
|
-I..\bal\ \
|
|
-I..\bal\win32 \
|
|
$(INCS) \
|
|
$(NULL)
|
|
!else
|
|
INCS = \
|
|
-I$(JDKHOME)\include \
|
|
-I$(JDKHOME)\include\win32 \
|
|
$(INCS) \
|
|
$(NULL)
|
|
!endif
|
|
|
|
|
|
!CMDSWITCHES -S
|
|
|
|
# generate the jni header
|
|
export:: BookmarksImpl.h CurrentPageImpl.h HistoryImpl.h WrapperFactoryImpl.h WindowControlImpl.h NavigationImpl.h NativeEventThread.h RDFEnumeration.h RDFTreeNode.h ISupportsPeer.h nsSetupRegistry.cpp
|
|
|
|
BookmarksImpl.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.BookmarksImpl is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.BookmarksImpl
|
|
|
|
CurrentPageImpl.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.CurrentPageImpl is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.CurrentPageImpl
|
|
|
|
HistoryImpl.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.HistoryImpl is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.HistoryImpl
|
|
|
|
WrapperFactoryImpl.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.WrapperFactoryImpl is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.WrapperFactoryImpl
|
|
|
|
NavigationImpl.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.NavigationImpl is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.NavigationImpl
|
|
|
|
RDFEnumeration.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.RDFEnumeration is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.RDFEnumeration
|
|
|
|
RDFTreeNode.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.RDFTreeNode is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.RDFTreeNode
|
|
|
|
ISupportsPeer.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.ISupportsPeer is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.ISupportsPeer
|
|
|
|
WindowControlImpl.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.WindowControlImpl is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.WindowControlImpl
|
|
|
|
NativeEventThread.h:
|
|
@echo Assuming class org.mozilla.webclient.wrapper_native.NativeEventThread is in $(JAVAH_FLAGS)
|
|
$(JAVAH) $(JAVAH_FLAGS) -o $@ org.mozilla.webclient.wrapper_native.NativeEventThread
|
|
|
|
nsSetupRegistry.cpp:
|
|
copy $(MOZ_SRC)\mozilla\xpfe\bootstrap\nsSetupRegistry.cpp
|
|
|
|
buildRunems:
|
|
!ifdef BAL_INTERFACE
|
|
!else
|
|
@echo +++ Creating $(MOZ_SRC)\mozilla\java\webclient\src\$(OBJDIR)\runem.bat. Use this to run the test browser.
|
|
@echo set PATH=$(MOZ_SRC)\mozilla\dist\$(OBJDIR)\bin;$(PATH) > .\$(OBJDIR)\runem.bat
|
|
@echo $(JAVA) -Djava.library.path=$(MOZ_SRC)\mozilla\dist\$(OBJDIR)\bin -classpath $(JAVAC_CLASSPATH) org.mozilla.webclient.test.EmbeddedMozilla $(MOZ_SRC)\mozilla\dist\$(OBJDIR)\bin %1% >> .\$(OBJDIR)\runem.bat
|
|
@echo +++ Creating $(MOZ_SRC)\mozilla\java\webclient\src\$(OBJDIR)\swingem.bat. Use this to run the swing based test browser.
|
|
@echo set PATH=$(MOZ_SRC)\mozilla\dist\$(OBJDIR)\bin;$(PATH) > .\$(OBJDIR)\swingem.bat
|
|
@echo $(JAVA) -Djava.library.path=$(MOZ_SRC)\mozilla\dist\$(OBJDIR)\bin -classpath $(JAVAC_CLASSPATH) org.mozilla.webclient.test.swing.SwingEmbeddedMozilla $(MOZ_SRC)\mozilla\dist\$(OBJDIR)\bin %1% >> .\$(OBJDIR)\swingem.bat
|
|
!endif
|
|
|
|
install:: $(DLL) buildRunems
|
|
$(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).dll $(DIST)\bin
|
|
$(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).lib $(DIST)\lib
|
|
|
|
clobber_all:: clobber
|
|
|
|
clobber::
|
|
rm -f $(DIST)\bin\$(DLLNAME).dll
|
|
rm -f BookmarksImpl.h
|
|
rm -f CurrentPageImpl.h
|
|
rm -f HistoryImpl.h
|
|
rm -f WrapperFactoryImpl.h
|
|
rm -f NavigationImpl.h
|
|
rm -f WindowControlImpl.h
|
|
rm -f NativeEventThread.h
|
|
rm -f RDFEnumeration.h
|
|
rm -f RDFTreeNode.h
|
|
rm -f ISupportsPeer.h
|
|
rm -f nsSetupRegistry.cpp
|
|
rm -f .\$(OBJDIR)\runem.bat
|
|
rm -f .\$(OBJDIR)\swingem.bat
|