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
