Now I have build the dylib successfully, but how to register it with
Firefox?
I put the t.dylib and t.xpt in /Applications/Firefox.app/Content/
MacOS/components and start the firefox, but seems it can not load my
component.
Then I try the regxpcom like this:
regxpcom -x /Applications/Firefox.app/Contents/MacOS/components .
but it says "bus error"...
在 2006-10-7,上午5:51,Jamie Newton 写道:
I have my component building working now for MacOSX. Heres my
makefile ( we
build mozilla from source so the SDK paths may be unfamiliar to
some). I
hope this will be of use to those who are still struggling
PLATFORM := $(shell sh ../../../../../install/unix/cplatname identify)
SOURCEDIR := ../../../../../modules/ServerManager
OUTPUTDIR := ../../../../../apps/xena/components
DISTDIR :=
../../../../../thirdparty/mozilla/$(PLATFORM)/mozilla/obj-xulrunner/
dist
SHAREDDIR := ../../../../../shared
GECKO_SDK := $(DISTDIR)/sdk
GECKO_DEFS := -DMOZILLA_STRICT_API
CXX := c++
CXXFLAGS := -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -fno-rtti
INCLUDES := -I $(GECKO_SDK)/include -I $(SHAREDDIR)/XPCOM \
LDFLAGS := -lxpcomglue_s -lxpcom -lnspr4 -lplds4 -lplc4 -lmozjs
OBJECTS := ServerManagerImpl.o ServerManagerModule.o
servermanager: $(OUTPUTDIR)/ServerManager.xpt
$(OUTPUTDIR)/ServerManager.dylib
$(OUTPUTDIR)/ServerManager.xpt: $(SOURCEDIR)/ServerManager.idl
$(GECKO_SDK)/bin/xpidl -m typelib -w -v -I $(GECKO_SDK)/idl -o
$(OUTPUTDIR)/ServerManager $(SOURCEDIR)/ServerManager.idl; \
$(GECKO_SDK)/bin/xpidl -m header -w -v -I $(GECKO_SDK)/idl -o
$(XPCOMDIR)/ServerManager $(SOURCEDIR)/ServerManager.idl; \
$(DISTDIR)/bin/regxpcom -x $(OUTPUTDIR); \
touch $(DISTDIR)/bin/.autoreg
$(OUTPUTDIR)/ServerManager.dylib:
$(CXX) -Os -c -o ServerManagerImpl.o $(GECKO_DEFS) $(INCLUDES)
$(SOURCEDIR)/ServerManagerImpl.cpp $(CXXFLAGS)
$(CXX) -Os -c -o ServerManagerModule.o $(GECKO_DEFS) $(INCLUDES)
$(SOURCEDIR)/ServerManagerModule.cpp $(CXXFLAGS)
$(CXX) -dynamiclib -o $(OUTPUTDIR)/ServerManager.dylib $(GECKO_DEFS)
$(OBJECTS) -L$(GECKO_SDK)/lib -L$(GECKO_SDK)/../lib -Wl,-
executable_path,$(GECKO_SDK)/bin
$(LDFLAGS) -framework CoreFoundation -framework XUL
clean:
rm -f $(OUTPUTDIR)/ServerManager.xpt
rm -f $(OUTPUTDIR)/ServerManager.dylib
"Benjamin Smedberg" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
Keren Dong wrote:
Hi,
I am trying build a xpcom sample from
http://www.iosart.com/firefox/xpcom/ on Mac OS X, and my makefile
is as
bellow:
I'm not sure why people keep using this tutorial (perhaps because
there's
nothing better), but it is wrong in many ways. In particular, it
is using
the standalone glue (-DXPCOM_GLUE) for components, which is not
recommended.
See http://developer.mozilla.org/en/docs/XPCOM_Glue
--BDS
_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom
_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom