Здравствуйте !
Я тут как вы и советовали занялся самым не благодарным делом - а именно компиляцией этого чуда.
   В примере компанента описан Makfile   http://www.linux.org.ru/wiki/en/XUL_XPCOM#Makefile
   В котором конечно же использованы пути которые никак к моей системе не относятся , это понятно но не ясно другое :
 
   после применения исправленого Makefile мне вываливается вот такая ошибка -
   
    g++ -Wall -O2 -o MyComponent.so -include mozilla-config.h -DXPCOM_GLUE -DXPCOM_GLUE_USE_NSPR -I/data/sites/xul_src/mozilla/xpcom                                /base -I/data/sites/xul_src/mozilla/xpcom                                /components -fno-rtti -fno-exceptions -shared (FILES) -L/data/sites/xulrunner -lxpcomglue_s -lxul -lxpcom -lplds4 -lplc4 -lnspr4 -lpthrea FILES = MyComponent.cpp MyComponentModule.cppTARGET := MyComponent.so
/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `g++ -Wall -O2 -o MyComponent.so -include mozilla-config.h -DXPCOM_GLUE -DXPCOM_GLUE_USE_NSPR -I/data/sites/xul_src/mozilla/xpcom                                /base -I/data/sites/xul_src/mozilla/xpcom                                /components -fno-rtti -fno-exceptions -shared (FILES) -L/data/sites/xulrunner -lxpcomglue_s -lxul -lxpcom -lplds4 -lplc4 -lnspr4 -lpthrea FILES = MyComponent.cpp MyComponentModule.cppTARGET := MyComponent.so'
make: *** [build] Ошибка 2
   
    Я в королевстве G++ чел. новый и заглянув в Makfile я не понял чего g++ не понравилось .

    вот мой Makfile  ---
         
CXX = g++
CPPFLAGS += -fno-rtti -fno-exceptions -shared
GECKO_SDK_PATH = /data/sites/xul_src/mozilla/xpcom                               
#/data/sites/xulrunner
GECKO_CONFIG_INCLUDE = -include mozilla-config.h
GECKO_DEFINES  = -DXPCOM_GLUE -DXPCOM_GLUE_USE_NSPR
GECKO_INCLUDES = -I$(GECKO_SDK_PATH)/base -I$(GECKO_SDK_PATH)/components
GECKO_LDFLAGS =  -L/data/sites/xulrunner -lxpcomglue_s -lxul -lxpcom -lplds4 -lplc4 -lnspr4 -lpthrea FILES = MyComponent.cpp MyComponentModule.cppTARGET := MyComponent.so

TARGET = MyComponent.so

build:
#    $(GECKO_SDK_PATH)/xpidl -m header -I$(GECKO_SDK_PATH)/idl IMyComponent.idl
#    $(GECKO_SDK_PATH)/xpidl -m typelib -I$(GECKO_SDK_PATH)/idl IMyComponent.idl
    $(CXX) -Wall -O2 -o $(TARGET) $(GECKO_CONFIG_INCLUDE) $(GECKO_DEFINES) $(GECKO_INCLUDES) $(CPPFLAGS) $(CXXFLAGS)(FILES) $(GECKO_LDFLAGS)
    chmod +x $(TARGET)
    strip $(TARGET)
 
#clean:
#    rm -f IMyComponent.xpt
#    rm -f IMyComponent.h
#    rm -f $(TARGET)

    Господа как откомпилить и собрать компонент ?

alex171069

syntax error near unexpected token `('

Синтаксическая ошибка?

/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `g++ -Wall -O2 -o MyComponent.so -include mozilla-config.h -DXPCOM_GLUE -DXPCOM_GLUE_USE_NSPR -I/data/sites/xul_src/mozilla/xpcom                                /base -I/data/sites/xul_src/mozilla/xpcom                                /components -fno-rtti -fno-exceptions -shared (FILES) -L/data/sites/xulrunner -lxpcomglue_s -lxul -lxpcom -lplds4 -lplc4 -lnspr4 -lpthrea FILES = MyComponent.cpp MyComponentModule.cppTARGET := MyComponent.so'
make: *** [build] Ошибка 2

Может, вместо (FILES) надо $(FILES)? И дальше там кажись опять тот же баг...

P. S. Надеюсь, это все под Linux, т.к. под винду надо в Visual Studio компилить.